So I’m using an Akai MPD232 and I need to bind a MIDI button (“switch” if you want to be pedantic) such that the track is always muted unless I depress the button.
Presently when I bind the switch to the “Mute” button though the ctrl+middleClick method the mute state will only change when I depress the button. When I release the button the track remains muted. If I depress the button a second time the track will change state back to before.
Ardour can see the midi switch “release” byte in the MIDI Tracer console,
473115254 Controller chn 1 1e 7f //CC 30 button down
473129693 Controller chn 1 1e 00 //CC 30 button release
Just confirming that the button is definitely configured as “momentary” on the MPD232 and that both signals are seen by Ardour.
So this definitely seems to be a software-side I need to configure in Ardour, but I cannot figure out where that setting is kept. Is there something in the session template file that I change?
You will not be able to do this with Generic MIDI. You will most likely need to create a device map to do what you are looking for.
Silly question but why don’t you just configure the MPD’s pad to ‘permanent’ if you want it to be permanent? That’s what the MPDs usually have plenty of preset banks for.
@seablade That’s what I kind of suspected. I’ll start pursuing that and just update they
@Tom I’m not sure I’ve seen the “permanent” setting. The only settings on my MPD232 for switches include settings for “toggle” vs “momentary” and an “invert” setting that can toggled on and off. Right now the button is working in non-inverted momentary mode.
Here is the full list of settings for a MIDI switch on my MPD232.
CC Number: ###
MIDI Channel: Common …A1->B16
CC Number: 000->128
MIDI to DIN: on/off
I left out the settings for the other modes.
“toggle” is equivalent to “permanent”. It does what the solo or mute buttons are doing: set “on” at first press, “off” at second.
@Tom On the MPD232 the difference between “toggle” and “momentary” means that in momentary mode the controller sends “7F” on the designated channel for the designated CC when the button is pushed and “00” for that same channel and CC when the button is released. In toggle mode, the MPD only sends a midi command for downward press, but not release. In all cases Ardour is ignoring the “00” (release) command coming from the controller. Another application using the same midi data is seeing the “00” and responding appropriately, so Seablade’s advice was correct. We need a custom MIDI map to create the behavior I want for the Mute button, which is for the track to always be muted unless I am actively pressing down on a MIDI switch.
Here is the kind of line I needed in my MIDI *.map file that yielded the behavior I wanted.
<Binding channel="1" ctl-toggle="30" uri="/route/mute B1" momentary="yes"/>
Meanwhile the MPD is set to momentary mode with invert “on.”
Thanks for your help!
EDIT - To show XML you need to make it preformatted text, by surrounding it with three backtick (
`) characters on either end. – Seablade