TouchOSC – FinalCutPro – CommandPost Tutorial

Welcome to the magical world of controlling things – namely Final Cut Pro X !

This would not be possible without the help of CommandPost that acts as intermediary between Final Cut Pro X and any midi device. Screen Shot 2018-07-17 at 11.51.12 PM

TouchOSC is an inexpensive app that allows us to create touch control surfaces with various control elements, fader’s, encoders, buttons.

Each element can be assigned a Midi function, which is triggered when activated. In return some elements have the ability to receive Midi commands, to change color etc., this can be used to create indicator lights, or change button colors when activated.

IMG_1413

First Things First !

A quick primer of Midi. Midi is a old protocol from the 80s, it was mainly developed to link musical instruments to one another, hence the parameters and structures are largely of musical nature.

Midi is designed to be daisy changed over multiple devices, therefore it has a data structure that allows each device to operate on its own channel. Here are the basic properties one needs to know about Midi.

Today Midi does not have to rely on the archaic 5 Pin connector from last century. Midi can travel via core functions in iOS/OSX trough a variety of methods:

-Networking, Wifi, Ethernet, general TCP/IP

-Bluetooth

-USB

-Hardware Midi Interface

The method on which we connect to our host computer is irrelevant, we only need to understand what we are trying to achieve. The midi signals enters the computer via a Port.

Port: Is the physical port on which midi is connected to the system

Which ever port method is used, it will show later in the various places that deal with midi configuration, eg. CommandPost.

Channel: Midi is broken down in to 16 channels per interface, with 0 being the broadcast channel. For out application 0 or All as it is often referred to is good enough since we only gonna run one ‘purpose’ of the same midi network.

No each midi data package can be sent in a multitude of ways, its of some significance which one we choose.

CC (Control Change): Control  Change is mainly used in midi like a status message, or to switch modes of devices. Midi CC is further divided into CC numbers. There are 127 possible Control Messages that can be assigned to any channel. Each CC ## can be set to a value , also ranging from 0 – 127

Example:

  • Channel:  01
  • CC: 11
  • Value: 64

Note (On/Off): Midi note basically works the same as CC, only that the CC is replaced with a musical note value, that is represented as values from 0 – 127. On regular musical instruments, note values are sent in pairs, Note On / Note Off, to terminate the musical instrument from playing. This is a feature important to remember when troubleshooting midi issues.

Pitch Bend: Pitch bend has less properties, there is only 1 pitch bend allowed per midi channel – so in total 16 per midi port. The advantage of Pitch Bend is the higher granularity of the value that can be sent. Generally this from 0 – 16383.

TouchOSC on iOS

TouchOSC is a iOS application that provide a customisable user interface on typically an iPad. For me it successfully runs on a first generation iPad until today !

There are three components to TouchOSC, the iOS user interface app, a TouchOSC Bridge app on the host and a TouchOSC editor app that runs under OS X.

The later is used to create the ‘skins’ and to transfer them to the iOS device, the iOS app itself has little customizable features that are noteworthy, other than midi port settings and selection of default templates or custom overlays.

Screen Shot 2018-07-17 at 11.37.25 PM

Above is an image of the TouchOSC Editor. Layouts can be structured under tabs for different applications, function groups or what  ever comes to ones mind.

Buttons can be simply created by right clicking into the editor and a modal dialog pops up, reveling all available elements – typical push button horizontal.

You can go as crazy as you please ! I think my layouts are pretty much saturated and maxed out, they are running on first generation iPad and iPad mini.

Screen Shot 2018-07-18 at 12.35.09 AM

Once an element is selected a similar inspector view as per above will open on the left, where the midi command can be set for each element, with the following options:

  • Value
  • Touch
  • Color

The normal configuration with CommandPost would make use of the ‘touch’ option, with self on ‘Press’ enabled. This will conjure the virtual button to react on touch, then moment it is pressed.

I personally would suggest to use ‘Note On/Off’ commands and not Control Change CC, you will run out way too fast on free CC channels, where NoteOn/Off provides greater flexibility.

The Range is set to 0 – 127, with 0 being off, 127 being on. In theory one could use all 127 increments individually, since each is a unique identifier. Many hours of grief have thought me not to travel down that route, each button is one Note .

When you are done, you will find a ‘Synch’ button in the menu bar of the TouchOSC Editor, which should send the file to the iOS companion app off all runs on the same Wifi, Bluetooth or physical USB/Lightning port connection.

TouchOSC app Configuration

Once you have the first layout sent to the iOS app, you will see some options similar to the above on your device.

In ordre to get the above looking / configured like this, I had to do the following:

  • Run TouchOSC Bridge on my Host
  • Connect the iOS device to the same subnet of network like the host
  • Pair the iOS device via Bluetooth (to get Core Midi connected – optional)
  • Create a ‘Midi Network” session on the host with the OS X ‘Audio Midi Setup’ utility

If you managed to setup the above you should be good to go to the next step – configuring CommandPost !

 

Configuring CommandPost

Open the preferences panel of CommandPost to the Midi settings panel as per below image.

Screen Shot 2018-07-18 at 12.57.02 AM

Pressing the “Open Audio Midi Setup” button opens the OS X utility where network midi connections, bluetooth connections and more are configured. With a bit of luck and TOuchOSC Bridge running, you could possible skip this gnarly step – Midi setup is a messy chaotic and archaic procedure.

If you face problems I strongly advise you to find two things

  • Midi Monitor (an app to monitor midi signals and ports)
  • MidiPipe (a versatile utility that allows for patching, converting, routing of midi signals)

Screen Shot 2018-07-18 at 12.57.17 AM

Hit the learn button, but make sure you are in the Final Cut Pro Bank, which number of bank is irrelevant.

The learn button should enable you to listen to the next incoming midi signal and assign that to the list entry. Activate learn and press the desired button on TouchOSC.

Ideally you will get a result as above ! You can now clips on the Action field and choose your flavor of the moment of FCPX function to assign!

This would be it for the now – you  have possibly successfully created your own companion app to FCPX, or your are missing a several bundles of hair and fingernails.

What Next ? 

The sky is the limit !

Beyond TouchOSC I have mapped my trusty control surfaces transport section to Final Cut Pro X. Very much the same methods apply from above, only that the source is not TouchOSC.

To make matters more juicy, i wrote LUA plugins to CommandPost, so that application changes on the host trigger Tab changes on TouchOSC, synchronizing the skin overlays with the foremost OS X app.

Another feature, I am reading changes to the preferences files of FCPX and sending status updates to TouchOSC, in oder to change the color of buttons when features, tools are activated.

Another feature, a larger pallet of  preset keywords is stored within a plugin, which then is inserted into the keyword editor, when a corresponding midi signal is sent, allowing for short-cut like keywords insertion but with a much larger pool.

IMG_1420

 

Now its time for you to surprise me !

9 thoughts on “TouchOSC – FinalCutPro – CommandPost Tutorial

  1. Could you upload your Touch OSC template, CommandPost preferences file and those plugins for download? Would love to play around with this. Thank you!

    Like

    1. Sorry for late reply !

      My templates wont work with the public version of commandPost. Since I have bi-directional communications wit custom plugins that write information back to the OSC.

      Like

  2. Hey

    Can you please explain how to midi out from final cut and send informations to touchosc to get the trigger at the right position ?

    Thank you

    Like

      1. CommandPost just take midi IN but no midi OUT…
        If I move with the mouse my scale for exemple, can it move on my touchOSC too ? To get the bi-directionnal communication

        Thank u

        Like

      2. I wrote my own CommanPost plugins for this, CP does send Midi TC and Midi MMC out (out of the box), but Keystrokes not as midi, for this you need to write custom ‘feedback’ routines.

        In my case CP reads the status of the edit mode FCPX is in, returns that on change via midi to TouchOSC to set status indicators.

        It is not very difficult to do, at best tedious.

        Like

  3. Hi, really nice Tutorial. I have one question, you can edit the controls that you can use in Final Cut Pro, because when i´m in command post it only shows me a few controls for FCP. Thanks

    Like

Leave a comment