Hi Frank,
The [r $1-something] receives are exposed to the outside by design, so that all parameters can be controlled programatically and not just by the sliders and controls of the UI. They also permit multiple synthesizers to be separately addressable. Finally, $1 serves as the prefix for [sssad], so that multiple [polyWaveSynth]s can have their state saved or restored simultaneously. In my current setup, I use two [polyWaveSynth]s, and all my presets contain values for both synthesizers.
If one chooses $1 wisely, for instance "wav1", the likelihood of name collisions is not great, I think, as the resulting receives look like "wav1-atk" or "wav1-freq". I understand what you're saying about conservation of namespace, though, and I did try to use $0- whenever possible, like in the [polyWaveVoice~] patch.
Thanks for writing,
Phil
Frank Barknecht wrote:
Which reminds me of another issue in your synth: You are creating a lot of global sends and receives with it by using [r $1-something] all over. I think it is possible to change most of these to [r $0-something] and effectively hide them from the world outside of polyWaveSynth.pd This would lower the risk of accidentally reusing one of these names in another abstraction (whose author may be somebody else).
Ciao