The easiest way to do this is to open the Environment and find your way the the "Clicks and Ports" layer. From here you should at least have a Physical Input Object (Logic's way of saying "Communicate with the driver for this MDI interface") and a Sequencer Input (an extra step that makes the end user tell Logic "Hey, I want you to record all incoming MIDI data"), something most other pieces of software do automatically.
Now, create a new Transformer object and cable it between the Physical Input and the Sequnecer Input.
The routing will look like this: Physical In -> Transformer -> Sequencer In. In this example we will be destructively changing ALL CC#7 messages into CC#11 which will then be sent into the Sequencer where they can be recorded if you so choose.
Double click on the Transformer Object and make the following settings. In the Top Row of the Transformer set the Status field to "Control", leave the Channel Field on "All", and change the -1- Field to 7. What you have done is told the Transformer to look for incoming messages that are Controller #7 on any MIDI channel. Now we need to tell it what to do with these messages.
In the Bottom Row you can leave the Status as Thru (this will cause the output message to be the same status as the input. In our case "Control"). Again, leave the Channel Field as "Thru" but change the -1- Field to 11.
This will cause the Transformer to take any incoming CC#7 message on any MIDI channel and convert it to CC#11.
Are you sure the plugin responds to CC#11 ? (most don't respond to standard CC messages automatically)
If it does respond to CC#11 are you sending on the correct channel ?
Instruments respond to Cha 2, so you would need to set the operation line of the transformer to
b Cha 'fix' 2
.
You might just want to use a controller assignment to assign CC#7 to the expression parameter, if the plugin has one, or, if it doesn't specifically have that parameter, most instruments have a 'gain' or 'output volume' parameter which would do the same thing.
BTW, if it is for live performance, why do you need expression ?
Expression is just a secondary volume control, which combines with CC#7 to give the overall volume. You could stick with CC#7 on channel 1 to control track volume, but use the plugin's gain control to set the base volume.
Your reply really did the trick!
I was quickly able to achieve the transformation & even see the virtual expression pedal on NI's B4 organ plug-in move!
I figured out that the lower -1- column should be set to "Fix"; then a double click allowed me to enter -11- (for expression).
Whe set to "Add", I entered -4- which together with -7- from the top row added up to CC 11 for the same result.
Thanks VERY MUCH! I've been trying to do this for quite a while.
David,
The EB4 plug in does respond directly to CC 11 messages as can be seen (& heard) in its editor view.
I also use Native Instruments B4 plug-which is controlled from a keyboard with only a "Volume" pedal jack hardwired for CC7. B4 like the EVB responds differently to CC11 than to CC7. As the amplitude increases via 'expression' - distortion is added which is not the case w/ CC7 - in which case the 'tone' is the same whether loud of soft.
Thanks also for your input & suggestions.