Hallo, Chris McCormick hat gesagt: // Chris McCormick wrote:
Ok, I've uploaded my GOP mini-effects units onto p-d.org. The patches lack persistance and OSC functionality as discussed, but I think they are a good start. I'll start adding pool persistance and OSC shortly.
I think as well as making pool & OSC standard in these units it would be cool to establish the following guidelines when designing Rrad units:
- All sliders/controls have a standard range (i.e. 0 to 1 or 1 to 0) -
the patches will internally scale the value to what they need. (eg. x20000 for filter cutoff)
Actually I probably would prefer them to stay at 0-127 because of midi comatibility, but maybe this even wouldn't be necessary to unify...
- All sliders/controls will send/receive on the channel $1-slidername
So for example in my s-filter~ i have two sliders resonance and cutoff. resonance can be modified from outside the unit using $1-resonance. So if the unit is:
[s-filter~ fx1] you can modify the value of cutoff by sending to 'fx1-cutoff'.
What do you guys think of that idea?
There might very well be values that are useful to send but that are not needed to be contained in a GUI object. For example in your s-distortion the filename of the shaper array could come from outside.
I would prefer to keep things localized through $0-arguments as much as possible. What are the areas, where global access is needed? I could think of the following ones:
Persistance. Saving probably should be centralized as much as possible.
External control: After seeing some OSC patches, I'm very fond of the idea to use OSC for all communication outside the abstractions. Inside of them I think, normal send/receives would be enough, but OTOH once you start to do OSC, there might not be much need for it.
More?
I could figure an approach where you have one highly reused abstraction that would be used to wrap above points:
[r $0-somevalue-read] | [persistance_and_control_wrapper $1] <= use $1 for all global actions | [s $0-somevalue-write]
Frank Barknecht _ ______footils.org__