This is a script for the Logic Pro X Scripter plugin that provides support for using Expressive E Touché without the Lié software.
I show an overview of using this script in the following video:
https://www.youtube.com/watch?v=yZBoY6mpzUc
Using the Touché with the Lié software turns out to be more of a hassle than I liked. It didn't always work cleanly and there were some downsides:
- I wasn't able to start using Touché on an existing track easily. I had to replace the VST with Lié and then insert the original VST as a plug-in inside that "plugin". The experience for me didn't feel very smooth.
- I'm not keen on the plugin within a plugin approach that Lié uses. Basically Lié is a VST plugin that hosts plugins. It feels clunky to me.
- Controlling additional FX plugins (e.g., reverbs) with the Touché at the same time as the VST was not possible. Or at least I wasn't able to figure out how.
- There were occasional bugs that made it less than ideal.
A decent alternative that solved these issues was to use the Logic Pro Scripter plugin with the "MIDI to Plugin Parameters" script. The downside to that is it requires each direction (up/down/left/right) for the Touché to have its own script. So I created this script as an alternative to the stock "MIDI to Plugin Parameters" script. I started with that script but then rewrote most of it.
This script allows the mapping of the 4 directions of the Touché within a single Scripter script instance. And it also allows the mapping to be to VST instrument controls as well as FX plugin controls. The "Down" control of the Touché can, for example, control the filter cutoff of a VST such as Omnisphere and also increase the reverb amount in an FX plugin on the same track.
The usage is similar to the "MIDI to Plugin Parameters" script. You choose a target and then define the destinations. The main difference being that you choose the sources from the dropdown list (rather than using the learn functionality). The following is an example showing the Down and Left controls mapped:
To use the script:
-
Within Logic Pro, go to a track with a VST instrument that you want to control with Touché.
-
Click on the MIDI FX and choose Scripter from the menu.
-
Select the contents of the default script and delete it.
-
Copy the contents of touche.js (in this github repo) and paste it into the editor
-
Click Run Script.
-
You should see a dialog similar to the example above.
The script editor will show 4 groups of controls. The default behavior is that the first one will be visible and the other 3 will be hidden. You can toggle the visibility of each group with the checkbox (e.g., Show Source 1). This visibility toggling is simply for UI convenience and does not affect the MIDI mapping functionality.
Select the source in the first group (e.g., CC 16). That defines which of the Touché controls will be affected by that group. You can think of each of these groups as being a single instance of the stock "MIDI to Plugin Parameters" script."
Then choose the target(s) for that source. The simplest way to do this normally is to use the "Learn Plug-in Parameter" option from the drop down menu:
After selecting that item, you should be able to click on the desired control in the plugin (e.g., in the VST or the FX plugin). Some plugins may require another step to get the mapping to automatically work. For example, with Omnisphere, it may be necessary to right click on a control and choose "Enable Host Automation".
Once you have the mapping set, you can adjust the minimum and maximum range by using the sliders below the target. Note that if you set the minimum to be greater than the maximum, it reverses the mapping (the same as you can do within the Lié software).
You can then specify additional targets for that source using the remaining target settings. Note that you can use the same source CC (e.g., 16) in multiple groups if you wanted to map more targets for that source. Alternatively, if you have that many targets, you can edit the script directly. See the next section.
It is simple to adjust the number of sources and targets by editing the top two variables in the script. For example, if you only needed two sources and 3 targets for each one, edit those values at the top of the script and click the Run Script button. This would make a slightly tidier UI but doesn't change the functionality.
To avoid having to copy and paste the script into the editor every time you want to use it, you can make it available in the Scripter menu. To do this, choose the preset dropdown at the top of the Scripter plugin and choose Save As ... Then save the script in the default location with a name such as touche.pst. That will then appear in the Scripter menu as an option the next time you use it. Note that whatever settings you have in the plugin at this point will be saved with that saved preset. So if you want an "empty" instance, make sure you start with a clean/initial state.





