synchronize cabinets
Posted: Sat Aug 25, 2018 11:48 pm
Was experimenting further with poly patches. One thing that instantly gets on my nerves is that if you change something on a voice you have to delete and recreate all copies. So "polyfication" of a patch should be the very last step - which makes it more difficult to interatively experiment.
The optimal way would imho be to have poly cables (best for all modules, not only the "poly oscillator" which is nice but not really modular - as neither ADSRs nor VCAs nor filters nor anything else supports this "poly midi connector", "lite" versions of these essential modules are hardwired in the poly osc - which in result is a lot less capable than most hardwired poly-synths out there and imho somehow defeats the purpose of the modular environment).
Yes, poly cables would deviate from what is possible in hardware. But software already has limits regarding e.g. tactility etc. - if it artificially inherits the disadvantages of hardware, too then there is the possibility that the result is just the worst of both worlds - imho.
But if staying 100% close to the hardware metaphor is considered important: Perhaps one way to make this still more usable: Cabinets could by grouped into "sync groups".
One of the cabinets in the sync group would be the "master". Any change applied to that master sync group would automatically be applied to all "slave" group members. If a single cv connection from outside the sync group is established then all slaves automatically also get connected (thus we could have up to 6 slaves atm. because of the 6 connections per cv output restriction). If a cable is directly dragged to a specific slave though then only that slave is connected. So voice specific modulation would still be possible. Similarly if a setting is changed (or a module added) to a slave then this could also voice specific. If a knob was changed in the slave and afterwards turned in the master then it would jump back to the setting of the master again though - if the module exists in the master.
Additionally there could be a "reset to master" button where any local changes (like additional modules, tuned sliders etc.) of a slave could be reverted to the master.
A perhaps easier to implement (but less convenient) variant: There is no disctinction between master and slaves. Any change to any cabinet in the sync group is always applied to all group members. And connections from outside the sync group are always connected to all members, too. If a certain voice needs special treatment (like changed settings or specific modulation) then it would have to be ungrouped. Which makes it individually editable again.
Perhaps for certain poly-prepared modules like the poly cv converter there could be an additional patch aid "poly" output row (below the separate per voice cv rows). When connecting such a poly output to the master of a sync group then VoltageModular could automatically connect the corresponding cv cable from single voice 1 to the first slave from that sync group, the one from voice 2 to slave 2 etc. Thus we would usually only have to wire up the master for poly patches but still get the connections as if we wired up the individual voices - thus all the connections we'd have in real hardware (or the current version of VoltageModular) would still be made.
This wouldn't limit the flexibility at all and still would stay 100% close to the hardware metaphor. Synced cabinets and poly outputs would only be a patching aid that automates managing the single connections. But it would be a lot more convenient to create poly patches, without restricting ourselves to pre-wired, inherently limited "poly-lite" synths like the poly oscillator.
What do you think?
The optimal way would imho be to have poly cables (best for all modules, not only the "poly oscillator" which is nice but not really modular - as neither ADSRs nor VCAs nor filters nor anything else supports this "poly midi connector", "lite" versions of these essential modules are hardwired in the poly osc - which in result is a lot less capable than most hardwired poly-synths out there and imho somehow defeats the purpose of the modular environment).
Yes, poly cables would deviate from what is possible in hardware. But software already has limits regarding e.g. tactility etc. - if it artificially inherits the disadvantages of hardware, too then there is the possibility that the result is just the worst of both worlds - imho.
But if staying 100% close to the hardware metaphor is considered important: Perhaps one way to make this still more usable: Cabinets could by grouped into "sync groups".
One of the cabinets in the sync group would be the "master". Any change applied to that master sync group would automatically be applied to all "slave" group members. If a single cv connection from outside the sync group is established then all slaves automatically also get connected (thus we could have up to 6 slaves atm. because of the 6 connections per cv output restriction). If a cable is directly dragged to a specific slave though then only that slave is connected. So voice specific modulation would still be possible. Similarly if a setting is changed (or a module added) to a slave then this could also voice specific. If a knob was changed in the slave and afterwards turned in the master then it would jump back to the setting of the master again though - if the module exists in the master.
Additionally there could be a "reset to master" button where any local changes (like additional modules, tuned sliders etc.) of a slave could be reverted to the master.
A perhaps easier to implement (but less convenient) variant: There is no disctinction between master and slaves. Any change to any cabinet in the sync group is always applied to all group members. And connections from outside the sync group are always connected to all members, too. If a certain voice needs special treatment (like changed settings or specific modulation) then it would have to be ungrouped. Which makes it individually editable again.
Perhaps for certain poly-prepared modules like the poly cv converter there could be an additional patch aid "poly" output row (below the separate per voice cv rows). When connecting such a poly output to the master of a sync group then VoltageModular could automatically connect the corresponding cv cable from single voice 1 to the first slave from that sync group, the one from voice 2 to slave 2 etc. Thus we would usually only have to wire up the master for poly patches but still get the connections as if we wired up the individual voices - thus all the connections we'd have in real hardware (or the current version of VoltageModular) would still be made.
This wouldn't limit the flexibility at all and still would stay 100% close to the hardware metaphor. Synced cabinets and poly outputs would only be a patching aid that automates managing the single connections. But it would be a lot more convenient to create poly patches, without restricting ourselves to pre-wired, inherently limited "poly-lite" synths like the poly oscillator.
What do you think?