This was my fault, sorry. I gave you a solo toggle but you had this already and want a momentary solo ... I do not know a way to do this with Controller Assignments, maybe someone can enlighten us and explain the settings for a momentary function.
--------------------------------------------------------
Here is the solution for the Logic environment:
What do we want?
We get notes from C1 to G1 from a keyboard. Each note should solo one of eight channelstrips when pressed and un-solo when released. The velocity must not have an influence. We agree to cable directly to 8 dedicated channelstrips, there is no switching matrix in this version. And we agree that the notes used are chromatic because handling only white keys would require individual filtering. Notes outside the range C1-G1 should go to the sequencer for playing.
What do we need?
Logic usually works with the internal message type "Fader", so we are going to use this. The solo button reacts to
Fader, Channel 1, number 3. A high value turns solo on, a low value turns it off. Therefore we need to convert the notes within the range C1-G1 to this message and send the events to eight channelstrips individually.
How do we do that?
We convert the note range to
Fader messages, convert note numbers to channel numbers, set the required message number, split the channels and finally set every channel back to 1 to deliver them to individual channelstrips. It may sound strange first to change the channels and then set them back to 1 but it is easier this way and needs less configuration when we want another note range or something else. Note: If we would want only the white keys from the keyboard, the patch would look different.
The whole patch
We get our notes from the
Physical Input object. The first transformer works exclusively on our note range and converts these notes to
Fader messages. Other notes and al controllers go to the sequencer and therefore to the selected track in teh Arrange window.
The second transformer sets each note to its own MIDI channel and sets the message number generally to 3 as required for the solo buttons of the channelstrips. The messages are then split by channel number and finally, when we have 8 individual lines, all lines are set back to channel 1 and cabled to the channelstrips.
To cable the 8 transformers to their channelstrips, either drag the cables across windows or hold the Alt key, click on the output of a transformer and select the channelstrip from the popup menu.
The first transformer
This first transformer sends everything but the notes C1-G1 to its upper outlet. Our 8 notes are converted to
Fader messages with a
Data Byte 1 value (former pitch) of
"note number minus 36". Key down sends 127, key up sends 0. The converted values are sent to the lower outlet of the transformer.
The mode menu is set to "top cable" because we want to separate our solo notes from everything else we need for playing.
Input (Conditions)
- We deal only with notes, other messages should go through.
- We work only inside the range C1-G1.
Output (Operations)
- We convert the message type to Fader.
- The following second transformer will convert the former "Pitch" to "Channel", so we need a usable MIDI channel range. C1 is note number 36, we subtract 36 to get a zero from the lowest note. There is a bug in Logic 9, subtracting does not work for note pitch. Therefore we add -36 which is the same as subtracting.
- We don't want velocities but need just key down or key up. For that we use a transformer map. Incoming value 0 remains 0, all other velocities are set to 127. This way we have only two states, regardless how hard we press the keys on the keyboard.
Note:
If you want another note range, you have to adopt the substraction. Just subtract the MIDI note number of the lowest note, this gives you a zero and that is what you need.
The second transformer
After we got our
Fader messages and prepared for channel numbers we shift the former pitch value, now
Data Byte 1, over to the MIDI channel. And we set
Data Byte 1 to number 3, which is the message for the solo buttons of channelstrips.
We have everything set in the first transformer, no need for more filtering. To route
Data Byte 1 to the channel, click on the middle part of the black vertical line until it goes into the direction you want.
What do we have now?
We have 8
Fader messages on 8 channels, each with number 3 to switch solo on or off. Pretty good! We just need to split the channels and finally set them back to channel number 1 because the solo buttons like this very much.
Final stage
Splitting channels is easy, the Channel Splitting object has 16 outputs. We cable the upper 8 outlets to transformers. There is nothing special in those transformers, they are identical. All of them just set the channel number to 1. Finally we cable each transfomer to a channelstrip and are done.
Sounds complicated? Maybe. But isn't really. Here is how the patch looks without the monitor objects:
And I attached a Logic project. The only thing you have to do is to cable the correct port of your incoming keyboard-MIDI from the
Physical Input to the first transformer because my port would not work for you.