Carla
Carla copied to clipboard
Feature Request: Make Carla's Dry/Wet and Volume controls MIDI-mappable
I would like to switch an effect in the chain on or off (bypass) using a MIDI controller. I have been able to use several mixer plugins to emulate it but it is cumbersome and complicates the Carla patch a lot. It would be great if the Volume and Dry/Wet controls in Carla were MIDI-mappable. Perhaps there is a way to do it and I haven't found it?
volume, pan and dry/wet have a pre-defined CC. volume is well, volume pan is pan.. dry/wet is CC 10, 'breath'
the "midi control channel" parameter controls what channel those CCs will listen to.
I need to make those pre-defined mappings readable somewhere on the GUI. Maybe make them user changeable?
Yay, that's great news! Now I understand what the midi control channel thing is for :) I'm so used to applications using custom mappings, I didn't think anyone uses the predefined ones. Yes, an option to change these mappings would be great I think. Maybe on the same dialog as the midi control channel selector.
CC10 is Pan, Breath is CC 2. From my tests, the mapping in Carla is:
CC 2 Breath Controller = Dry Wet CC 7 Volume = Volume CC 8 Balance = Left/Right
IMO, CC 10 pan would be more appropriate for Left/Right and CC 8 Balance for Dry/Wet. all controller mappings are a bit arbitrary, though. But using CC 2 Breath for Dry/Wet is definitely weird.
ah yes, it's balance not pan. this is because the current pan/balance control is actually stereo-balance and not straight panning. (my plan was to expose both methods and let the user chose its preferred one, but it keeps getting postponed) the CC 8 for balance has to remain to make it possible to use CC 10 later on without conflicts.
CC 2 (breath) for dry/wet is weird indeed, but MIDI has nothing specific for this..
BTW, there doesn't seem to be way to set Left/Right to equal power via MIDI. CC 8 value 63 is a bit biased to the left and value 64 is a bit biased to the right. At least the GUI knobs seem to indicate so.
Why would you bind breath to that... and hardcode it...
Why would you bind breath to that... and hardcode it...
I don't know either and since I'm using a breath controller it complicates things and I have to work around this issue. I'd love to see it fixed because the implementation at the moment doesn't make sense to me.
Same, I also use a breath controller (an EWI) and that thing tripped me up. Lol.
Related to #52.