View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0009181||ardour||features||public||2022-12-23 14:31||2022-12-23 14:40|
|Platform||Debian GNU||OS||Linux||OS Version||(any)|
|Summary||0009181: FaderPort V2: map "Solo Clear" and "Mute Clear"|
|Description||On the FaderPort V2 Control Surface, there are buttons [SOLO] and [MUTE], that have secondary functions when [SHIFT] is held down, namely "Solo Clear" and "Mute Clear". At the moment, these don't work as expected; [SHIFT] + [SOLO] acts the same as pressing [SOLO] without [SHIFT], and the same goes for [MUTE]. [SHIFT] + [ARM] does work as "Arm All", so I think the basic functionaly should be doable. There exist buttons in the Ardour interface for canceling all SOLO and for canceling MUTE, so the functionality is there on the Ardour side as well.|
I'd like to contribute a fix for this. I'm looking at the source code for the control surfaces, but I could use some guidance as to how this should be implemented.
I noticed that the source files for the faderport8 get re-used with some IFDEFS for the FaderPort2, FaderPort8 and FaderPort16.
In fp8_controls.cc, I notice these lines:
NEWSHIFTBUTTON (0x00, BtnArm, BtnArmAll, false);
NEWBUTTON (0x01, BtnSoloClear, false);
NEWBUTTON (0x02, BtnMuteClear, false);
By first thought is that there should be entries with NEWSHIFTBUTTON for BtnSoloClear and BtnMuteClear, analogous to the BtnArmAll line above it.
There exists an ENUM that lists all the buttons, and while they do contain BtnSoloClear and BtnMuteClear, they don't contain BtnSolo and BtnMute entries. I'm a little confused as to how this is implemented and how I should go about implementing the SHIFT functions for these buttons.
Any guidance would be appreciated, and if I get it tested and working, I can submit a patch for this.
|Tags||No tags attached.|
The MIDI codes for these functions, for reference:
226301800 NoteOn chn 1 08 7f
226322080 NoteOff chn 1 08 40
227721026 NoteOn chn 1 10 7f
227745710 NoteOff chn 1 10 40
228726544 NoteOn chn 1 00 7f
228738029 NoteOff chn 1 00 40
Pressing [SHIFT] + [Solo]
229577727 NoteOn chn 1 46 7f
229607728 NoteOn chn 1 08 7f
229615651 NoteOff chn 1 08 40
229638600 NoteOff chn 1 46 40
Pressing [SHIFT] + [Mute]
230293959 NoteOn chn 1 46 7f
230302776 NoteOn chn 1 10 7f
230309829 NoteOff chn 1 10 40
230317774 NoteOff chn 1 46 40
Pressing [SHIFT] + [Arm]
231193641 NoteOn chn 1 46 7f
231205998 NoteOn chn 1 00 7f
231212164 NoteOff chn 1 00 40
231223642 NoteOff chn 1 46 40
It looks like the button values are all the same, with a surrounding SHIFT (0x46) NoteOn and NoteOff events.