Do you have experience in programming? The reason I ask is because it requires that. And your approach of changing the args of a core function is definitely not the right way.
Btw: I think this is pretty custom for your needs, since the mute works in a different way in the midi implementation (regarding tracks).
Otherwise, if you absolutely need it and above all if you are confident that you can do it, then you can hack the seqv4 source and define and include your own external control as a CC and specify & transmit the channel there as a value, which is used in your own loop through the tracks and mutes or unmutes the corresponding tracks if (value == track's channel).
e.g.
seq_midi_in.h -->
#define SEQ_MIDI_IN_EXT_CTRL_MUTE_BY_CHANNEL 16
#define SEQ_MIDI_IN_EXT_CTRL_NUM_IX_CC 17
<-- (make sure to increase the NUM_IX_CC)
seq_midi_in.c -->
seq_midi_in_ext_ctrl_asg[SEQ_MIDI_IN_EXT_CTRL_MUTE_BY_CHANNEL] = 122; // your cc for that control
const char* ext_ctrl_str[SEQ_MIDI_IN_EXT_CTRL_NUM] = {
..
"Mute by channel", // your name for that control
}
<-- (index 16 must be noted here)
append your external control handling inside:
static s32 SEQ_MIDI_IN_Receive_ExtCtrlCC(u8 cc, u8 value)
if (cc == seq_midi_in_ext_ctrl_asg[SEQ_MIDI_IN_EXT_CTRL_MUTE_BY_CHANNEL]) { ... }
but i think if you want to change something in the code, you have to get familiar with the structure of the entire source anyway.
Greetings,rio