Hi,
I’m actually working on a custom Control Surface.
My developpement board is a Teensy 4.0, and I use this great library: https://github.com/tttapa/Control-Surface.
The Control surface is well recognized as a Mackie Control device type.
First question here, when I disconnect and reconnect the board, the device is not recognized.
A workaround is to switch the Device Type to Mackie Control Universal Pro for example, and reselect Mackie Control and my device can be seen in Surface sends/receives via menu.
In the librairy I can use the NoteButton class witch:
A class of MIDIOutputElements that read the input of a momentary push button or switch, and send out MIDI Note events.
A Note On event is sent when the button is pressed, and a Note Off event is sent when the button is released."
I use it for example to Enable/Disable Mute on a track (here an example with a note)
// Instantiate a NoteButton object
NoteButton mute = {
5, // Push button on pin 5
{MCU::MUTE_1 }, // Mute
};
So when I push the button, MUTE is enabled on the track (NodeOn), but when I release the button, MUTE is disabled (NoteOff).
MIDI Tracer:
I tested the code with an other DAW, and it react only on the NoteOn and seems to ignore the NoteOff.
There is an other class on the library called NoteButtonLatched, which works just fine, because it doesn’t send a NoteOff.
A class of MIDIOutputElements that read the input of a momentary push button or toggle switch , and send out MIDI Note events.
It latches the input, so press once to enable, press again to disable (toggle).
2nd question:
Do I have to deal with commands that doesn’t send a NoteOff, is that the right behavior from Ardour?
Let me know if you need extras informations.
Many thanks for your help
Have a great day.

