We could remove the default mapping of volume & balance for these engines and set default mapping to mixer. If there were a way to configure mixer mapping then anyone who wanted to restore old behaviour could. I would like to hear whether there are any use cases where mapping MIDI control of volume/balance/pan to instrument is advantageous over mapping to mixer.
I would strongly endorse placing volume and balance/pan on the mixer stage for every element presented and every effort should be made to ensure this is operated in as standard an approach within the presenting source as we could achieve.
Itās the point that things come together and if we can present an interface that, for many users, outside of choosing the initial requirements may make it so they never actually have to leave the mixer screen.
The implementation of MIdi or other control mechanisms as defined as MIdi learning seems eminently sensible but I suggest we unify around these basic easily comprehensible parameters and refine that process as much as we can.
To rigorously define that functionality within one interface that we protect and test would be a suitable point of stability in our much changing environment and may re-introduce some of the initial GUI stability that seems to have been lost in the obviously beneficial transition from stable, or indeed pre stable to testing.
There is always a desire for latest and greatest and Iām sure that we could look jealously at particular features other systems may offer or simply claim to offer, and the zynthian has on occasion introduced new characteristics with breathtaking speed but we must be very careful about the interfaces we present and need a harmonious approach across the device if we arenāt to produce gutters of functionality where the hard learnt lessons of the interface one might spend 90% of ones time arenāt matched in other sections.
So lets recognise that there are engine characteristics that, by presentation to our output mechanisms, have implications that can be generalized. No-one outside of a select few probably care that one engine defines itās default volume setting as 1.000000 whilst another believes 100 (MIDI) is the correct mechanism but one of the functions of the zynthian is to remove that complexity and treat the sometimes confusing presentation of volume,expression pan and balance as something that is unified for each engine that presents to the mixer.
Obviously, please disagree vociferously if you do, I might be viewing this all from what is a personal use case and robust discussion now will prevent heavy refactoring later.
Not so easy, as this engines are MIDI-controlled. Anyway, it can be done after the ābig refactā.
I also had a few thoughts about the class work:
Omitting the volume and pan controls could be problematic. I think most of them are among to the Plugins and are not only intended to control the volume of an instrument within a mix, but also between the presets of a bank.
What if, for example, you switch through the sounds of a bank and after a a delicate pluck sound there is a Supersawpad yells in your ear with 32 oscillators? Or what happens if Pan is controlled by an LFO?
Volume is also required for some sounds to avoid clipping.
Perhaps these sliders should just move to the last position?
I am also in favor of the mixer being able to be controlled via MIDI. But here the question of arises what controller does the user have and what does he want to control with it? It would be possible to assign the controllers rigid.
Maybe store a configuration file for advanced users in the user data with the note that change can damage everything.
Or what I would prefer, Midi Learn for the mixer too.
Of course, controlling the mixer via webconf would also be great. To maintain compatibility, you could switch to a different protocol here, maybe an adaptation of the LV2 codes instead of midi controller data?
Iām not sure that those use cases require MIDI control of the engine volume / pan but may support the need to leave the parameters available for manual control.
Mixer is already OSC enabled so that could be used for remote control.
We could add a menu option to toggle mixer MIDI learn or maybe a long BACK press.
Yes that I meant, probably they are still needed despite mixer.
This would seem to be the most effective canonical protocol.