Go to Setup / DAW Controller / Sequencer and select your DAW in the pop-up menu.
Then set up a remote control device in the DAW and configure it to use the correct MIDI ports for communication with the app.
Important: Remote control ports are for remote control only! They should not be used anywhere else in your project!
The following shows how to configure the sequencers that TouchDAW has presets for (Shortcuts on the menu image above).
If you use some other program, please refer to what its manual has to say about "Mackie Control". You can then use a preset that leaves the buttons labelled as they are on the original hardware (Logic, Studio One, Mixbus) or create your own labelling by editing the "MyCustomDAW" xml profile.
Please be aware that MIDI port names on your system will probably not be the same as those shown in the screenshots below. Generally rtpMIDI, mnet & Apple MIDI Network ports are bidirectional, so both input and output should be assigned to "the same" (ie: equally named) port. With ipMIDI, qmidinet and multimidicast in and outputs will have different names. When using a USB or Bluetooth connection things will be different again.
All setup instructions given below refer to the DAW control part of the app only! TouchDAW's keyboard, XY-controllers etc. are set up like you would do with any other (hardware) keyboard or controller. I am assuming that you know how to do that in the sequencer of your choice.
Cubase / Nuendo
There are two Cubase presets, because Steinberg changed their implementation in version 7.5 and Cubase happens to be the sequencer I have been using since the Atari days. The 'Cubase (Legacy)' preset is for older DAW versions or versions >= 7.5 in 'Compatibility' mode. The 'Cubase | Nuendo' preset corresponds to Steinberg's new default implementation in versions >= 7.5.
Cubase 13 bug: Mackie Control marker functionality is broken in 13.0. See Steinberg forum.
From the "Studio" menu select "Studio Setup", which will make the window shown below appear.
In the left hand column select "Mackie Control" from the "Add Device" dropdown. You will then get a new entry under "Remote Devices". Select it and assign MIDI in and out ports corresponding to the app's first MIDI connection on the right hand side of the window.
If you want to make use of the app's 'fader touch' options, the "Enable Auto Select" option in Cubase's Mackie Control setup needs to be off!
You can assign Cubase defined functions to the F1 - F8 buttons (and Shift / F... combinations) in the app's master section using the 'User Commands' part of Cubase's control panel. These settings do NOT need to match the screenshot. The app is preconfigured with some Shift / F combinations readily usable with this option. See Assignable Functions for more details.
Finally - to make sure control data does not interfere with musical data - select "MIDI Port Setup" from the left hand column and uncheck the Mackie Control input port under "In All MIDI" as shown below.
If you run an older Cubase version, are used to some legacy hardware control surface or just prefer Steinberg's old implementation, set TouchDAW to the first 'Cubase (Legacy)' preset. If your Cubase version is 7.5 or larger go to 'Studio / (More) Options / Mackie Control' and set the popup in the little window that will come up to "Compatibility":
Steinberg's MCU implementation is documented in a pdf file named "Remote_Control_Devices" available at steinberg.net. In older versions it is accessible from the DAW's help menu.
Cubase 12 MIDI Remote
Steinberg are the latest to realize that it would be a good idea to let their users do the work of implementing controller support and introduced a new remote control API in Cubase / Nuendo 12. The API is neither complete, nor does it seem to be really stable so far, but on the long run it will probably replace at least the 'Generic Remote' option, maybe also hardcoded support for Mackie Controllers etc.
I have created a couple of .midiremote samples [ download 🡇] that use the new functionality for common tasks like firing key commands, remote controlling the DAW's control room or controlling VST instruments via the app's MIDI Mode while also demonstrating options in the app. For details please refer to the readMe file in the download and documentation of the related Workshop presets
DAW-side scripting in general nicely complements the app's custom controller options and there are user-made Cubase scripts popping up that will make some previously unsupported presets work with Cubase: You may want to look at Ron Garrison's Mackie Control C4 script for example which should instantly work with the 'D5 (Plugin-Controller)' preset.
...is (now was) Steinberg's concept for creating custom controller definitions in Cubase and Nuendo. For details please see the DAWs' manual. Below is a simple example showing how to control surround panning with TouchDAW's XY-Pad(s):
In the upper table make some controls match the XY pad's output, resp. change the CCs in the app. Include "Transmit" in the Flags column for feedback. Then set the target for those controls in the lower table. "Selected" under Channel Category will route data to the currently selected channel.
...can be controlled from Mackie Control (& HUI) compatible devices to some degree, but the implementation is not quite the same as in desktop Cubase:
For Cubasis on iOS the first option (TouchDAW device in MIDI client mode) should work, but you would not only need to activate the MCU option, but also select the Android device as the MCU port.
Cubasis's MCU implementation lacks features, but implemented functions mostly use the same keys as desktop Cubase does, so you may want to stick with one of the Cubase presets. Both of them will additionally toggle the metronome with the "Add" button, an option not directly available in Cubase. Note that Cubasis always initializes control surfaces with the "Zoom" option active. To use the navigation cross for channel navigation, "Zoom" (ie. the central button) needs to be deactivated.
From the "Options" menu select "Preferences", and click the "MIDI Sync" tab. Then in the upper part of the MIDI preferences set a "Control Surface" to "Mackie Control" and select the MIDI ports corresponding to the app's first MIDI connection.
Mackie Control data should exclusively go to the control surface script, so disable the remote control midi port for normal track input:
Live's MCU implementation is documented in a pdf file from Mackie that's no longer available on their website directly but can be found on the web..
When you set the app's sequencer preference to Logic, TouchDAW will by default actively announce its control surface service and Logic should automatically detect and install a Logic Control given the underlying MIDI connection had previously been made. The option can be turned off in case you want to use the app as a generic controller.
Alternatively you can also use Logic's scan functions available at: "Logic Pro" menu / "Preferences / Control Surfaces / Setup" Those should equally discover the app and install it as a Logic Control.
Note that in both cases it may be necessary to adjust the MIDI output port that Logic assigns. The input port that it read TouchDAW's announcements or query responses from should be correct.
To install things manually click the "New" dropdown in said control panel and select "Install". From the list of defined devices select the one that says "Mackie Designs" for "Manufacturer", "Logic Control" for "Model" and "Logic Control" for "Module". Click "Add" and a new control surface will appear in the setup window. Now all that is left to do is setting the MIDI ports under "Output" and "Input Port" at the top left hand side as shown below.
Settings in the "Control Surface Group" table can remain as they are, but you should make sure that the "Track Lock" option is off. See Logic documentation for details.
Logic's MCU implementation is documented in a pdf file available on Apple's website.
Go to Setup / Peripherals, select the "MIDI controllers" tab and set "Type" to "HUI". Then set the ports under "Receive from" and "Send To" to the MIDI ports TouchDAW is connected to. Note that Pro Tools for Windows needs to be run as Administrator to work with some MIDI drivers (those that appear with an "(Emulated)" suffix. This includes ipMIDI, LoopBee and mnet / MIDIHub)
When working with Pro Tools TouchDAW will emulate a MCU unit that again emulates a HUI. You should therefore not only read the "Mackie Control for Pro Tools" guide (no longer available from Mackie directly unfortunately) but also the original HUI documentation as much of the information given in the Mackie Control guide only makes sense if you know how things work with the original HUI
Please note that in Pro Tools 12 and larger metering will not work on any HUI based controller (incl. TouchDAW) if Eucon is active in the DAW. [Link]
Benoni Studio have a number of good Pro Tools / TouchDAW videos on their you-tube channel. Thanks
Go to Edit / Preferences, select MIDI / Devices and make sure the MIDI ports you plan to use are enabled for in- and output. Next select MIDI / Control Surfaces and click the yellow icon on the upper right hand side to add a new controller. In the upcoming dialog select "Mackie Control" and set in- and out ports. The dialog should look something like this then:
Additionally you may need to tune controller settings in the "Controller / Surfaces properties" dialog accessible through the 'Utilities / Mackie Control' menu or the "ACT" tab in Cakewalk's upper toolbar:
If you want TouchDAW to show audio levels, you will need to enable level metering:
Levels can be shown next to the faders with the "Signal LEDs" setting or - like a hardware MCU would - in the text displays (with the "Signal LEDs + Meters" setting).
Note that Cakewalk keeps refreshing unchanged meter values at a rather high frequency. Metering burns a lot more bandwidth and electricity than necessary and may cause latency or other performance problems.
The "Select Highlights Track" option should be activated or TouchDAW will not be informed of track selection changes in the DAW.
Function assignments for the F1 - F8 buttons are user setable in the DAW.
Documentation of Cakewalk's MCU implementation can be found in a compiled html help file that's usually located at "Program Files/Cakewalk/Shared Surfaces/MackieControl.chm".
BEATNVISION's you-tube channel has some nice Sonar / TouchDAW videos including a setup tutorial. Thanks for that!
The Creative Sauce YouTube channel - generally recommended for its wealth of indepth home recording information - also has a Cakewalk specific tutorial. Muchas Gracias!
Go to the Options menu. Make sure "Enable MIDI Remote Control" and "Enable MIDI Output" are selected.
Next open the MIDI Settings window. Under "Output" select the MIDI port linked to TouchDAW's DAW controller (shown for mnet / MIDI hub below. When using rtpMIDI use the first session you created). Set the port number dial to 102 for whatever port you selected.
Next - under "Input" select the corresponding input port (same name as the output with both rtpMIDI and mnet). Select "Mackie Control Universal" from the "Controller type" dropdown, check the "Enable" box and again set the port number to 102
(Note that in FL Studio versions before 11 the port number setting only exists on outputs. In FL Studio 11 and larger you need to set it for both in- and output).
The dialog should look something like this in the end:
To enable TouchDAW's keyboard, XY-pads and the MIDI mixer you just need to enable the respective MIDI input as a "Generic Controller" as shown for "MIDIHub Port 2" in the above screenshot.
Want a video? ULTVProductions have done a nice video tutorial for FL Studio 10. Thanks for that. Find it on YouTube here
ImageLine's own 'documentation' of FL Studio's MCU implementation is here
In Reaper's preferences go to the "Control/OSC/Web" page, click "Add" and select "Mackie Control Universal". Windows users may want to install the MCU_Klinke extension from stash.reaper.fm and select "Mackie Control (Klinke)" then. The plugin overcomes some of the severe limitations with the built-in MCU support in Reaper. Predefined button combinations for Reaper refer to the Klinke plugin, not all of them will do what their description suggests (or anything at all) with the stock plugin.
Next double-click the control surface entry and set the MIDI ports for the added controller.
Important: Please make sure that the ports you select here are set to "disabled" under "Audio / MIDI Devices" in Reaper's preferences. According to user reports all sorts of strange things may happen when they are not!
If you use the app's MIDI controllers via WiFi it is also recommended to disable the "Close audio devices when inactive" option on the global "Audio" page in Reaper's preferences, as otherwise MIDI ports and their network connections will be closed whenever Reaper looses focus.
When using the built in MCU support you should make sure that the "Map F1-F8 to goto markers" option is selected as TouchDAW will use those for navigation. The app will automatically detect which dll it is working with.
Latest versions of the MCU_Klinke plugin come with detailed documentation. Please do read it! Many buttons are initially functionless and meant to be user-configured.
Note: Regardless of what MCU dll you use, Reaper for Windows will keep sending fully redundant data and tell the controller a hundred million times that it wants to have '01' (or eq.) printed to the assignment display. Dataflow indicators in MIDIHub will never turn off and MIDI monitors will be flooded...
Go to Edit / Preferences and select the "Keyboards and Control Surfaces" page from the upper dropdown. You can then let Reason / Record autodetect TouchDAW by clicking the "Auto-detect Surfaces" button (requires TouchDAW to already be running and connected to the network MIDI system in use) or manually add a MCU.
When autodetecting, MIDI ports will be set automatically, allthough it is possible that Reason only correctly sets the Input port. Click the Edit button to verify settings.
To set things up manually click "Add" then select "Mackie" from the manufacturers list and "Control" from the device list in the next window. Then set the MIDI ports TouchDAW is connected to. The picture on the left shows setup for a multicast connection made with ipMIDI. For RTP connections select the previously created RTP session's MIDI port for both in- and output as shown for some of the other DAWs above.
Finally make sure that the "Use with Reason" checkbox is selected for the controller representing TouchDAW.
Reason MCU documentation
From the "Studio One" menu select "Options", go to the "External Devices" page and click the "Add" button. In the upcoming window open the "Mackie" folder from the list on the left, select "Control" and assign the MIDI in- and outputs to use. The screenshot on the left uses an RTP session defined in rtpMIDI. Note that Studio One will sometimes not send fader and encoder values on initialization or after using its internal control surface reset. You may need to bank around a bit and / or switch the encoder assignments to get up to date values.
A pdf documenting the extended MCU functionality in Studio One 2.6 can be found in the DAW's help menu, resp. on the Presonus website
Video anyone? Here's a nice Studio One specific tutorial by CreativeSauce. Thanks for that.
Click the Bitwig icon to open preferences, then select 'Settings' and the 'Controllers' tab.
If TouchDAW is already connected networkwise, Bitwig will probably have autodetected the controller. There is a good 90% chance that the MIDI output port it has assigned is not going to be correct though and will need manual adjustment. The input port that Bitwig got TouchDAW's query response from should be correct.
Alternatively you can click the 'Add' button, select 'Mackie' and 'MCU Pro' from the menus and adjust MIDI ports to your needs.
Screenshot shows a setup using mnet/MIDIHub. The second controller here is used for TouchDAW's keyboard, xy-pads etc.
Some brief info on Bitwig's Mackie Control implementation is available when you click the "?" button underneath the controller's name.
Bitwig now officially recommend using the 'Driven By Moss' extension, which provides a lot more functionality for Mackie Controllers than the built-in script. Here is a custom 'Bitwig Moss' profile. See the DAW Controller page for details.
For a Bitwig cliplauncher sample also see the Pad Grid Workshop preset.
Mixbus / Ardour
From the Edit menu select 'Preferences' (or 'Preferences' and 'Show' from the Window menu). In the left hand column navigate to 'Control Surfaces', select and enable the 'Mackie' entry, then click the 'Show Protocol Settings' button.
In the protocol dialog set 'Device Type' to 'Mackie Control Universal Pro' and the 'Surface sends / receives via' pop-ups to the appropriate MIDI ports. All other settings can remain at their defaults. The screenshot shows a setup using mnet / MIDIHub. Use the first of your RTP MIDI sessions here when using rtpMIDI or Apple's MIDI Network.
Alternatively you can use the DAWs' built-in ipMIDI functionality for completely driverless operation: Instead of 'Mackie Control Universal Pro' select the first 'SSL Nucleus' entry from the Device Type dropdown as shown in the screenshot below.
Some points to note with this approach:
- No other ipMIDI instance may be active on your system or the DAWs won't be able to open network ports (ipMIDI or its Linux pendants if installed must be set to provide 0 ports. In MIDIHub no Multicast devices may be patched).
- TouchDAW's DAW controller must run on WiFi / Multicast and be set to use a single port for in- and output.
- The Nucleus is a 2*8 channel device using two multicast connections. This can be emulated with a second tablet, but you will need to change the portnumber on the second device in TouchDAW's MIDI Port setup dialog to ipMIDI 2 / 21929.
All in all this makes for pretty much Mackie Control equivalent functionality. See 'Known Issues' below for some differences.
Known Issues (besides some functionless buttons):
- When switching back to 'Pan' from some other encoder assignment, the encoder values are not refreshed. You need to use the Bank or Page switches to get up-to-date Pan values.
- Banking may also be necessary to get complete sets of tracknames etc. on intialization when the app is connected after the DAW has started.
- There is unfortunately neither 'Flip' nor 'Scrub' functionality.
- Meters and all channel block navigation will only work when in 'Pan' mode.
- 'Send', 'EQ', 'Track' & 'Instr' are only functional when a single track is selected (You can have multiple selected tracks or none at all in both DAWs and the mentioned buttons will just do nothing in both cases. Multiselections will generally throw off the phone interface and should be avoided). The 'Plugin' button has no function.
- The 'Nucleus' preset does not send timecode and channel block navigation will only work when you have more than 16 channels / busses on the mixer.
- The 'Discover Mackie Devices' button in the protocol dialog can be used to initialize control surfaces after you have manually set MIDI ports, but it seems to only send queries to the port already set above and won't 'discover' anything that might be connected 'somewhere'.
Info on both DAWs' Mackie Control implementation is available in the Mixbus and Ardour manuals.
Samplitude / Sequoia
(Deprecated. Support for these DAWs is not maintained any longer)
From the "File" menu select "Program Preferences / MIDI Options". In the upcoming window make sure your MIDI ports are activated, then select "System Options / Hardware Controller" in the left hand column. Click "Add New" and select "Logic Control" from the "Factory Presets" dropdown menu.
Important: Do not select Mackie Control but Logic Control !
I have no idea what kind of a Mackie Control Magix own, but a lot of the buttons they refer to in their manual for that controller do not exist on a Mackie Control and a great part of the implementation described in the manual does not work anyway. Everything is fine with the Logic Control entry, though, so please stick with that.
What's left is selecting the appropriate MIDI ports. The screenshot above shows a setup using mnet / MIDIHub.
It is not necessary to customize the controller or change any other settings in the dialog. The only thing you need to be aware of is that Samplitude allows you to limit the number of tracks shown in its mixer view and this directly reflects upon how many tracks are accessible from a hardware controller. To adjust that to your needs click the "Setup" button in the upper right hand corner of the DAW's mixer window and set the number of tracks to show.
Samplitude's MCU implementation is documented in the integrated help accessible from the "Help" menu. Open the "Hardware Controllers" topic in the left hand column and again make sure you refer to Logic Control here.
In Samplitude versions before 12, level meters on control surfaces will always be too low. This is an implementation fault in the DAW and was fixed with v.12. Unfortunately the updated MCU implementation is rather ineffective in that it sends fully redundant text updates with almost every action and tends to lag overall.
At least early builds of Samplitude x4 Pro (and likely Sequoia 15) have a bug in their Bars & Beats timecode transmission code that truncates the "Bars" value by factor 10 (100 becomes 10, 10 becomes 1, ie. the lowest digit of the Bars field is missing, upper digits are shifted 1 place to the right).
(Deprecated. Support for this DAW is not maintained any longer)
From the File menu, select "MIDI Control Template File / Open" and browse for "MidiCtrl_Mackie_Control.mct" (in SAWStudio/Configuration). Next select "MIDI Device Setup" from the "Options" menu and select the appropriate MIDI ports in the upcoming window: The screenshot on the left shows setup for rtpMIDI (the port name will be different according to how you named it), if you wish to use multicast via ipMIDI set MIDI Control Device In to "1 Ethernet MIDI" and MIDI Control Device Out to "2 Ethernet MIDI".
Next open the "Smpte/Midi" menu and make sure that both MIDI Control in and out are marked as active as shown on the upper right hand side. Finally save all this to your template file. That's it, however it should be noted that SAWStudio sometimes seems to take a restart to activate all this.
Documentation of SAWStudio's and SAC's MCU implementation can be found in the DAW's help files or the RML website.
Digital Performer (7.2 and higher)
(Deprecated. Support for this DAW is not maintained any longer)
From the "Setup" menu select "Control Surface Setup". In the upcoming window select "Mackie Control" from both the "Driver" and "Unit" dropdowns, then select the appropriate MIDI ports. The screenshots above show setup for ipMIDI on the left and for RTP using Apple's Network MIDI driver on the right.
When running older versions of Digital Performer please refer to some hardware control surface's manual for general remote control setup and be aware that it will take some creative patching to get things going with network MIDI drivers.
DP's Mackie Control implementation is known to lag. Buttons will highlight with a significant delay.
Acid Pro / Vegas
(Deprecated. Support for these DAWs is not maintained any longer)
On the preferences' MIDI tab make sure that the MIDI ports you plan to use are enabled for both in- and output. Then go to the "External Control / Automation" tab as shown in the screenshot above. From the "Available Devices" dropdown select "MackieControl" and see it appear in the listing (highlighted in red above). Double-click the entry and in the "Mackie Control Configuration" dialog that will come up set the desired MIDI ports. It should not be necessary to tune any assignments in the mapping fields of that dialog.
If your version of Acid / Vegas has an "External Control" entry in the options menu, enable it.
Acid and Vegas allow for multiple tracks to be selected at a time. TouchDAW does not attempt to change that on the tablet display, but needs to reduce the selection to one track on phones. This has a certain failure potential and you may need to manually deselect tracks at times.
Find more details on the programs' Mackie Control implementation in the Acid manual (page 199ff.) available on the Magix website (Login required) or on Steam.
(Deprecated. Support for this DAW is not maintained any longer)
Go to Settings / MIDI IO and make sure that the MIDI ports you plan to use are enabled for both in- and output.
Next go to the "Control Surfaces" tab. Under "Supported Control Surfaces" select "Mackie Control Universal" and assign the desired MIDI ports in the lower part of the window.
Find more details on Tracktion's Mackie implementation in the T4 user manual (page 161 ff.) No more direct link available, expand the 'Related Guides' section.
Notes: Tracktion needs to be in focus (ie. be the active program) for many of its MCU related features to work.
The DAW does not send selection feedback, edit buttons will never be highlighted and the phone interface will not be able to follow selection changes made in the DAW or from other controllers.
MCU level meters seem to be broken in Tracktion 5.3 (works fine in Tracktion 4 and I'm pretty much sure it still worked in 5.2.4)
Custom DAW Profiles
DAW presets do little more than changing the button titles in the master section. You can create your own profiles and customize the built-in ones. See the DAW Controller page for details.
Here are two more profiles to extend the DAW options with: Audition - Davinci Resolve.