openframeworks / openFrameworks

openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
http://openframeworks.cc
Other
9.97k stars 2.55k forks source link

ofFile::open() ALWAYS calls ofToDataPath() #5187

Closed traumedy closed 8 years ago

traumedy commented 8 years ago

This makes many (most?) ofFile functions fail if bRelativeToData is false, such as doesFileExist(), copyFromTo(), removeFile() etc.

traumedy commented 8 years ago

I removed the ofToDataPath() from open() and it seemed to my calls using bRelativeToData = false and it fixed most of my issues. The only side effect I noticed was ofShader::load() (which uses ofBufferFromFile which uses ofFile) now needs paths local to CWD instead of to the data directory. I expect other classes using ofBufferFromFile() or ofFile directly will have the same issue.

arturoc commented 8 years ago

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

traumedy commented 8 years ago

The ofFile static functions that accept this flag conditionally call ofToDataPath() based on the flag. The only reason this didn't break everything by calling ofToDataPath() TWICE is because that function makes an attempt to check if the path passed in is already relative to the data directory.

Passing the flag through seems like the right choice but that means changing every single function that uses ofFile objects, and as such many that use ofBuffer objects. Not a simple fix. Many opportunities for changes in behavior.

On Sunday, August 7, 2016, arturo notifications@github.com wrote:

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238076798, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkaQjq3w9o9GwYtRxakISQofyNVQsks5qdb8GgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

Whoever put that check in ofToDataPath() for if the path is already in the data path needs to be shot. It hid this severe bug and I suspect if I tried to use a subdirectory of the data path named "data" it would break that too.

On Sunday, August 7, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

The ofFile static functions that accept this flag conditionally call ofToDataPath() based on the flag. The only reason this didn't break everything by calling ofToDataPath() TWICE is because that function makes an attempt to check if the path passed in is already relative to the data directory.

Passing the flag through seems like the right choice but that means changing every single function that uses ofFile objects, and as such many that use ofBuffer objects. Not a simple fix. Many opportunities for changes in behavior.

On Sunday, August 7, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238076798, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkaQjq3w9o9GwYtRxakISQofyNVQsks5qdb8GgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

Sorry, that was harsh. My point is that the ofFile constructor does not currently accept a bool to indicate bRelativeToData, nor do ofBuffer creation functions, which create ofFile objects. ofFile() already has a default parameter for text vs binary which isn't passed by most classes that use it so it means changing a LOT of code.

On Sunday, August 7, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoever put that check in ofToDataPath() for if the path is already in the data path needs to be shot. It hid this severe bug and I suspect if I tried to use a subdirectory of the data path named "data" it would break that too.

On Sunday, August 7, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

The ofFile static functions that accept this flag conditionally call ofToDataPath() based on the flag. The only reason this didn't break everything by calling ofToDataPath() TWICE is because that function makes an attempt to check if the path passed in is already relative to the data directory.

Passing the flag through seems like the right choice but that means changing every single function that uses ofFile objects, and as such many that use ofBuffer objects. Not a simple fix. Many opportunities for changes in behavior.

On Sunday, August 7, 2016, arturo notifications@github.com wrote:

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238076798, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkaQjq3w9o9GwYtRxakISQofyNVQsks5qdb8GgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

arturoc commented 8 years ago

Usually the accepted pattern is that relative path is always from data (or whatever the data path) and you can use absolute if you want to specify something out of data.

A way to specify paths from cwd would be to use ofSetDataPath to set the default data path to cwd or wherever you want.

On 07/08/2016 23:43, traumedy wrote:

Sorry, that was harsh. My point is that the ofFile constructor does not currently accept a bool to indicate bRelativeToData, nor do ofBuffer creation functions, which create ofFile objects. ofFile() already has a default parameter for text vs binary which isn't passed by most classes that use it so it means changing a LOT of code.

On Sunday, August 7, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoever put that check in ofToDataPath() for if the path is already in the data path needs to be shot. It hid this severe bug and I suspect if I tried to use a subdirectory of the data path named "data" it would break that too.

On Sunday, August 7, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

The ofFile static functions that accept this flag conditionally call ofToDataPath() based on the flag. The only reason this didn't break everything by calling ofToDataPath() TWICE is because that function makes an attempt to check if the path passed in is already relative to the data directory.

Passing the flag through seems like the right choice but that means changing every single function that uses ofFile objects, and as such many that use ofBuffer objects. Not a simple fix. Many opportunities for changes in behavior.

On Sunday, August 7, 2016, arturo notifications@github.com wrote:

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238076798, or mute the thread

https://github.com/notifications/unsubscribe-auth/AErtkaQjq3w9o9GwYtRxakISQofyNVQsks5qdb8GgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238110448, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC8cFneLFAKtyz6RiDy6Onl0EPCT5T4ks5qdlGFgaJpZM4JdHKq.

traumedy commented 8 years ago

"Accepted pattern?" You mean "workaround". Just fix your shit.

On Sunday, August 7, 2016, arturo notifications@github.com wrote:

Usually the accepted pattern is that relative path is always from data (or whatever the data path) and you can use absolute if you want to specify something out of data.

A way to specify paths from cwd would be to use ofSetDataPath to set the default data path to cwd or wherever you want.

On 07/08/2016 23:43, traumedy wrote:

Sorry, that was harsh. My point is that the ofFile constructor does not currently accept a bool to indicate bRelativeToData, nor do ofBuffer creation functions, which create ofFile objects. ofFile() already has a default parameter for text vs binary which isn't passed by most classes that use it so it means changing a LOT of code.

On Sunday, August 7, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

Whoever put that check in ofToDataPath() for if the path is already in the data path needs to be shot. It hid this severe bug and I suspect if I tried to use a subdirectory of the data path named "data" it would break that too.

On Sunday, August 7, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com'); <javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');');>> wrote:

The ofFile static functions that accept this flag conditionally call ofToDataPath() based on the flag. The only reason this didn't break everything by calling ofToDataPath() TWICE is because that function makes an attempt to check if the path passed in is already relative to the data directory.

Passing the flag through seems like the right choice but that means changing every single function that uses ofFile objects, and as such many that use ofBuffer objects. Not a simple fix. Many opportunities for changes in behavior.

On Sunday, August 7, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

seems like the correct thing to do would be to check if bRelativeToDataPath is true and only then use ofToDataPath

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/ issues/5187#issuecomment-238076798, or mute the thread

https://github.com/notifications/unsubscribe-auth/ AErtkaQjq3w9o9GwYtRxakISQofyNVQsks5qdb8GgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/ issues/5187#issuecomment-238110448, or mute the thread https://github.com/notifications/unsubscribe-auth/ AAC8cFneLFAKtyz6RiDy6Onl0EPCT5T4ks5qdlGFgaJpZM4JdHKq.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238115824, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkT6ADmAcUkuBM1DW9Hgd3XA3jZ-4ks5qdmpzgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

bakercp commented 8 years ago

Hi @traumedy -- thanks for the report. As this is an unpaid community effort, perhaps you could make a PR and we can take a look?

ofTheo commented 8 years ago

This is a fairly nuanced issue. From what I understand the confusion / issue is the lack of data path controls within ofFile and by extension the classes that use it. The overides for data path in the static ofFile methods are somewhat the exception and not the rule.

To add those overides for all file loading calls would be a huge change to OF and as Arturo suggested it is not really needed when you can just get rid of the data path prefix globally with ofSetDataPath("");

If this doesn't solve the issue you have run into please open a new issue that explains the bug. The title of this issue is actually intentional and not a bug :)

Also OF is a friendly community, so please try and be friendly here. Swearing and asking for people to be shot isn't a friendly or professional way to communicate.

traumedy commented 8 years ago

Please forgive me for my outburst. Maintaining a project built on oF 6 that I upgraded and lost a lot of time this week tracking down this fairly extreme bug, but I am still not happy with the response! Nobody has agreed that calling any of the static members of the ofFile class setting bRelativeToData to false is ENTIRELY BROKEN!? How am I the first person to notice this or apparently CARE??

On Sunday, August 7, 2016, Theodore Watson notifications@github.com wrote:

Closed #5187 https://github.com/openframeworks/openFrameworks/issues/5187.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#event-747887843, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkV019C0arbrq0SxuBKAKIJKwkTfLks5qdqPwgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

danoli3 commented 8 years ago

Mate stuff changes all the time and things break... May have happened from Poco update or similar, not sure.

Instead of complaining about it, why don't you do something about it like suggested.

Not a big deal man...

And I feel for ya updating from 6! Haha good luck man... 😜

On Monday, 8 August 2016, traumedy notifications@github.com wrote:

Please forgive me for my outburst. Maintaining a project built on oF 6 that I upgraded and lost a lot of time this week tracking down this fairly extreme bug, but I am still not happy with the response! Nobody has agreed that calling any of the static members of the ofFile class setting bRelativeToData to false is ENTIRELY BROKEN!? How am I the first person to notice this or apparently CARE??

On Sunday, August 7, 2016, Theodore Watson <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

Closed #5187 https://github.com/openframeworks/openFrameworks/issues/5187.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/ issues/5187#event-747887843, or mute the thread https://github.com/notifications/unsubscribe-auth/ AErtkV019C0arbrq0SxuBKAKIJKwkTfLks5qdqPwgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238135901, or mute the thread https://github.com/notifications/unsubscribe-auth/AAytHAFP-W77gb_HxUWFv3MdnMt1Q7vsks5qdqZfgaJpZM4JdHKq .

arturoc commented 8 years ago

yes bRelativeToData is probably broken, and in any case is kind of confusing. so we can probably remove it and substitute it for something else.

as others have pointed out this is a community effort so you are as responsible for fixing it as anyone else.

in any case was this working on your old project?

also please relax your tone. next time i'll report you in github and ban you from every other channel.

arturoc commented 8 years ago

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

traumedy commented 8 years ago

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo notifications@github.com wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238179070, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkXPLFq4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238179070, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkXPLFq4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

ofTheo commented 8 years ago

Looking through this more this is definitely a bug. As mentioned the static ofFile/ofDirectory functions use the ofFile(string path) constructor which in turn calls ofFile::open

This is where the ofToDataPath call is: https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/utils/ofFileUtils.cpp#L440

I think it would be good to fix this so that the static methods work as expected.
We can also talk about deprecating them, but we should at least get this fixed.

A possible solution would be to not use ofFile::open in the static calls but another helper function that doesn't modify the path. I think this would be fairly easy to do, I am happy to work on it.

arturoc commented 8 years ago

it was me not theo who told you i was going to "report" you on github and ban you from every other channel, meaning the forum, dev list...

you realize you've been speaking about shooting people, and asking people who put a ton of hours for free on a project from which you probably make money, to fix your shit, right? not sure why it surprises you if we wouldn't want you in our community an tell you that next time will permanently ban someone so toxic.

if you want to propose a fix go for it, if something is broken we'll need to fix it and if it'll necessarily break some code, try to minimize how much code it'll break and propose some other solution that works best than what we currently have.

On 08/08/2016 14:49, traumedy wrote:

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238179070, or mute the thread

https://github.com/notifications/unsubscribe-auth/AErtkXPLFq4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238225313, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC8cCE0dgFdR5shiTfPVVSp_NcgONBVks5qdyXDgaJpZM4JdHKq.

traumedy commented 8 years ago

Please don't remove the functionality to access files outside of the data path. I need that.

And thank you. Sincerely.

On Monday, August 8, 2016, Theodore Watson notifications@github.com wrote:

Reopened #5187 https://github.com/openframeworks/openFrameworks/issues/5187.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#event-748371313, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkW96RkkoXP5OhOWB2CezfHPpc_gnks5qdy3IgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

I appreciate you and your cohorts so much that words can't express it. What you experienced was my inability to properly express my frustration when I was unable to properly explain a technical issue. I apologize. You have created an amazing thing that I love.

On Monday, August 8, 2016, arturo notifications@github.com wrote:

it was me not theo who told you i was going to "report" you on github and ban you from every other channel, meaning the forum, dev list...

you realize you've been speaking about shooting people, and asking people who put a ton of hours for free on a project from which you probably make money, to fix your shit, right? not sure why it surprises you if we wouldn't want you in our community an tell you that next time will permanently ban someone so toxic.

if you want to propose a fix go for it, if something is broken we'll need to fix it and if it'll necessarily break some code, try to minimize how much code it'll break and propose some other solution that works best than what we currently have.

On 08/08/2016 14:49, traumedy wrote:

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com'); <javascript:_e(%7B%7D,'cvml','notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');');>> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/ issues/5187#issuecomment-238179070, or mute the thread

https://github.com/notifications/unsubscribe-auth/ AErtkXPLFq4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/ issues/5187#issuecomment-238225313, or mute the thread https://github.com/notifications/unsubscribe- auth/AAC8cCE0dgFdR5shiTfPVVSp_NcgONBVks5qdyXDgaJpZM4JdHKq.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238234882, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkTo-PwFPMmRMFu2doBG_iNNJNG3rks5qdy6lgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

I just realized that there may have been a cultural miscommunication. When I said "needs to be shot'" I was in no way asking for violence. I do not even own a gun (despite what many think of Americans). The term, at least in the programming circles I've experienced, is a Euphemism for someone who made a code change that now we all must suffer for. A traitor. Traitors are shot. Again, forgive me for my rudeness, my intentions were good.

On Monday, August 8, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

I appreciate you and your cohorts so much that words can't express it. What you experienced was my inability to properly express my frustration when I was unable to properly explain a technical issue. I apologize. You have created an amazing thing that I love.

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

it was me not theo who told you i was going to "report" you on github and ban you from every other channel, meaning the forum, dev list...

you realize you've been speaking about shooting people, and asking people who put a ton of hours for free on a project from which you probably make money, to fix your shit, right? not sure why it surprises you if we wouldn't want you in our community an tell you that next time will permanently ban someone so toxic.

if you want to propose a fix go for it, if something is broken we'll need to fix it and if it'll necessarily break some code, try to minimize how much code it'll break and propose some other solution that works best than what we currently have.

On 08/08/2016 14:49, traumedy wrote:

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/issues/ 5187#issuecomment-238179070, or mute the thread

https://github.com/notifications/unsubscribe-auth/AErtkXPLF q4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/ 5187#issuecomment-238225313, or mute the thread https://github.com/notifications/unsubscribe-auth/ AAC8cCE0dgFdR5shiTfPVVSp_NcgONBVks5qdyXDgaJpZM4JdHKq.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238234882, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkTo-PwFPMmRMFu2doBG_iNNJNG3rks5qdy6lgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

And yes, open source community, we all make mistakes. Why don't I fix it. Agreed.

On Tuesday, August 9, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

I just realized that there may have been a cultural miscommunication. When I said "needs to be shot'" I was in no way asking for violence. I do not even own a gun (despite what many think of Americans). The term, at least in the programming circles I've experienced, is a Euphemism for someone who made a code change that now we all must suffer for. A traitor. Traitors are shot. Again, forgive me for my rudeness, my intentions were good.

On Monday, August 8, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

I appreciate you and your cohorts so much that words can't express it. What you experienced was my inability to properly express my frustration when I was unable to properly explain a technical issue. I apologize. You have created an amazing thing that I love.

On Monday, August 8, 2016, arturo notifications@github.com wrote:

it was me not theo who told you i was going to "report" you on github and ban you from every other channel, meaning the forum, dev list...

you realize you've been speaking about shooting people, and asking people who put a ton of hours for free on a project from which you probably make money, to fix your shit, right? not sure why it surprises you if we wouldn't want you in our community an tell you that next time will permanently ban someone so toxic.

if you want to propose a fix go for it, if something is broken we'll need to fix it and if it'll necessarily break some code, try to minimize how much code it'll break and propose some other solution that works best than what we currently have.

On 08/08/2016 14:49, traumedy wrote:

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder joshb@obscuradigital.com wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/issues/518 7#issuecomment-238179070, or mute the thread

https://github.com/notifications/unsubscribe-auth/AErtkXPLF q4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/518 7#issuecomment-238225313, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC8cCE0d gFdR5shiTfPVVSp_NcgONBVks5qdyXDgaJpZM4JdHKq.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238234882, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkTo-PwFPMmRMFu2doBG_iNNJNG3rks5qdy6lgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

danoli3 commented 8 years ago

All good man.

On Wednesday, 10 August 2016, traumedy notifications@github.com wrote:

And yes, open source community, we all make mistakes. Why don't I fix it. Agreed.

On Tuesday, August 9, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

I just realized that there may have been a cultural miscommunication. When I said "needs to be shot'" I was in no way asking for violence. I do not even own a gun (despite what many think of Americans). The term, at least in the programming circles I've experienced, is a Euphemism for someone who made a code change that now we all must suffer for. A traitor. Traitors are shot. Again, forgive me for my rudeness, my intentions were good.

On Monday, August 8, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com'); <javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');');>> wrote:

I appreciate you and your cohorts so much that words can't express it. What you experienced was my inability to properly express my frustration when I was unable to properly explain a technical issue. I apologize. You have created an amazing thing that I love.

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

it was me not theo who told you i was going to "report" you on github and ban you from every other channel, meaning the forum, dev list...

you realize you've been speaking about shooting people, and asking people who put a ton of hours for free on a project from which you probably make money, to fix your shit, right? not sure why it surprises you if we wouldn't want you in our community an tell you that next time will permanently ban someone so toxic.

if you want to propose a fix go for it, if something is broken we'll need to fix it and if it'll necessarily break some code, try to minimize how much code it'll break and propose some other solution that works best than what we currently have.

On 08/08/2016 14:49, traumedy wrote:

Er, adons, not admins. Stupid autocorrect...

On Monday, August 8, 2016, Josh Buchbinder <joshb@obscuradigital.com javascript:_e(%7B%7D,'cvml','joshb@obscuradigital.com');> wrote:

Whoah whoah. A lot of angry feedback, which I understand and accept based on the "tone" of my previous comments, for which Theo threatened to have me BANNED FROM GITHUB!? I am only trying to help. I would be quite willing to try and fix this issue myself, except for the issue that I have been trying to make totally clear, that any change to the current behavior will probably break so many other things, such as the distributed classes in the core package and certainly many ofx admins. We are all on the same team people!

On Monday, August 8, 2016, arturo <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com'); <javascript:_e(%7B%7D,'cvml','notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');');>> wrote:

btw, by accepted pattern i meant that's how most people use this and why any possible bug with a different use has gone undetected.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub

https://github.com/openframeworks/openFrameworks/issues/518 7#issuecomment-238179070, or mute the thread

https://github.com/notifications/unsubscribe-auth/AErtkXPLF q4LHMa6wHhpFJ5FHtVAVp9aks5qdu-JgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/518 7#issuecomment-238225313, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC8cCE0d gFdR5shiTfPVVSp_NcgONBVks5qdyXDgaJpZM4JdHKq.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/ issues/5187#issuecomment-238234882, or mute the thread https://github.com/notifications/unsubscribe- auth/AErtkTo-PwFPMmRMFu2doBG_iNNJNG3rks5qdy6lgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-238609661, or mute the thread https://github.com/notifications/unsubscribe-auth/AAytHH7zF94iJa2PKmqvhK4IUWyfrqNNks5qeKr3gaJpZM4JdHKq .

ofTheo commented 8 years ago

I just pushed a PR which should fix this issue. https://github.com/openframeworks/openFrameworks/pull/5195

It was a bit more straightforward than I thought it would be, but it would be good to get some eyes on it.

@traumedy it would be helpful if you could pull the two changed files from this branch and see if it addresses the issues you were having. https://github.com/openframeworks/openFrameworks/commit/75e5d016cb020c7da87e182cc88b928f5febee59

traumedy commented 8 years ago

Will do that today. Thanks Theo!

On Friday, August 12, 2016, Theodore Watson notifications@github.com wrote:

I just pushed a PR which should fix this issue. #5195 https://github.com/openframeworks/openFrameworks/pull/5195

It was a bit more straightforward than I thought it would be, but it would be good to get some eyes on it.

@traumedy https://github.com/traumedy it would be helpful if you could pull the two changed files from this branch and see if it addresses the issues you were having. 75e5d01 https://github.com/openframeworks/openFrameworks/commit/75e5d016cb020c7da87e182cc88b928f5febee59

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-239481111, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkZj9jfOOajGubQ3gpBsfQ8kzSf2jks5qfJQVgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

traumedy commented 8 years ago

Confirmed, works as expected now. No side effects noticed.

On Fri, Aug 12, 2016 at 9:21 AM, Josh Buchbinder joshb@obscuradigital.com wrote:

Will do that today. Thanks Theo!

On Friday, August 12, 2016, Theodore Watson notifications@github.com wrote:

I just pushed a PR which should fix this issue. #5195 https://github.com/openframeworks/openFrameworks/pull/5195

It was a bit more straightforward than I thought it would be, but it would be good to get some eyes on it.

@traumedy https://github.com/traumedy it would be helpful if you could pull the two changed files from this branch and see if it addresses the issues you were having. 75e5d01 https://github.com/openframeworks/openFrameworks/commit/75e5d016cb020c7da87e182cc88b928f5febee59

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openframeworks/openFrameworks/issues/5187#issuecomment-239481111, or mute the thread https://github.com/notifications/unsubscribe-auth/AErtkZj9jfOOajGubQ3gpBsfQ8kzSf2jks5qfJQVgaJpZM4JdHKq .

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

JOSH BUCHBINDER | Senior Developer | m: 925 351 8049 OBSCURA DIGITAL http://www.obscuradigital.com/ | SF http://www.obscuradigital.com/contact/ +1 415 227 9979 | Proprietary & Confidential

ofTheo commented 8 years ago

@traumedy - great thanks for checking!

ofTheo commented 8 years ago

ping @traumedy again just pushed up a new PR #5230 which should be a cleaner fix to this issue.

if you have the time it would be great to test your code with the files in this commit: https://github.com/openframeworks/openFrameworks/commit/64d781db8cb7d1957de092becec890ef5b35c7e5

Thanks! Theo