# Midi CC Automation with Mackie Control (A Solution)



## procreative (Mar 18, 2017)

I recently posted about the lack of options for automating MIDI CC in a DAW. After a lot of research I realised most DAWS had not way to achieve this as getting Bi-Directional MIDI from MIDI CC lanes is almost impossible without some workaround.

I use Logic Pro X and already own a Mackie Control. It bugged me why they had not built some kind of layer in it to do this and the other week I was playing around in Controller Assignments and happened to notice a mode to use Smart Controls. It got me thinking.

What if Smart Controls could be assigned to Midi CC? Then I found out you cannot do this, if you assign a CC to a Smart Control it just says “Missing”.

Then after a few searches online I stumbled on this script by the guy who runs https://www.logicscripts.net (Logic Scripts) (by the way I bought a little script from him called ccMod which allows you to remap various CCs useful for say when East West decide to put their CCs to other uses).

I used this as inspiration to adapt with common CCs such as CC1, CC2, CC5, CC11, CC16 etc.

Then I needed to find a way to assign the automation to use with Smart Controls:

1. Go into *Smart Controls* and select a layout with knobs, I chose *Factory Layouts > Pop Strings Main*.

2. Click the *i Symbol* in the Smart Controls window and you can assign your choice of controls.

3. Under *Parameter Mapping* in the Smart Controls window from the menu below choose *Scripter* and to the right are the options I set.

Now assuming like me you either have a Mackie Control or another motorized controller that has the same controls and emulates Mackie Control (such as Icon Qcon, Behringer X Touch, possibly Faderport 8) and are using Logic Pro X heres how to use it.

1. Smart Controls are accessed on the MCU by pressing Shift + Instrument.

2. By default they are controlled by the V-Pots and the Scribble strip displays the Names / Values.

3. This is the great bit, press the *Flip* button and the faders now control Smart Controls!

4. To record automation you need to be in *Touch*,* Latch or Write* but on an MCU this is easy.

Now I have yet to see if there are any issues, but in this mode switching tracks auto updates the Faders or V-Pots.


----------



## samphony (Mar 18, 2017)

So would this work with lemur or touch OSC as well?


----------



## charlieclouser (Mar 18, 2017)

Could you upload your modified version of the script please? The one on the link is still the Blofeld version....


----------



## samphony (Mar 19, 2017)

I was going to ask the same. Would you share your script???


----------



## procreative (Mar 19, 2017)

Here is the script, I just wanted to check with the author it was okay first. Its nothing special and its easy to edit and add more CCs or edit the existing ones.

The best way to use it in my opinion is to flip the controls when writing so they are on the faders then flip back on playback as the constant jigging of faders can be a bit irritating.


----------



## seabass (Feb 18, 2018)

procreative said:


> Here is the script, I just wanted to check with the author it was okay first. Its nothing special and its easy to edit and add more CCs or edit the existing ones.
> 
> The best way to use it in my opinion is to flip the controls when writing so they are on the faders then flip back on playback as the constant jigging of faders can be a bit irritating.


Thank you!

"3. Under *Parameter Mapping* in the Smart Controls window from the menu below choose *Scripter* and to the right are the options I set."

I can't find this. Can you please describe further where I apply the script? Thank you!!


----------



## procreative (Feb 19, 2018)

Have you loaded the script in the Midi FX? Look at my screenshot if you have. Ive also attached a Logic track patch which will preload a blank Kontakt strip, copy this to your Logic patches folder (look at the manual if you dont know how), just create a new track then apply this from the library.


----------



## seabass (Feb 22, 2018)

procreative said:


> Have you loaded the script in the Midi FX? Look at my screenshot if you have. Ive also attached a Logic track patch which will preload a blank Kontakt strip, copy this to your Logic patches folder (look at the manual if you dont know how), just create a new track then apply this from the library.


Thank you! That worked! This is really cool and promising!

Is there any way that this can be saved as automation inside the regions in Logic, or is the only possible way as track automation data with write/touch/latch turned on?


----------



## procreative (Feb 22, 2018)

Whether its Track or Region is up to you, simply engage Region as the automation type. You also have to set the "Move Automation With Regions" preference if you want it to stay with that region.

But the only way to write automation is with Write/Latch/Touch, however you can still also click and draw points.

Its all about pros and cons...


----------



## seabass (Feb 22, 2018)

procreative said:


> Whether its Track or Region is up to you, simply engage Region as the automation type. You also have to set the "Move Automation With Regions" preference if you want it to stay with that region.
> 
> But the only way to write automation is with Write/Latch/Touch, however you can still also click and draw points.
> 
> Its all about pros and cons...



Thank you! Not sure if I'm doing something wrong. If I flip the track to region no automation is being recorded in either capture recording or in actual recording. I could move track automation to region but that's an extra step that I want to avoid. It looks like it's possible to write automation to already existing regions, but not while playing it the first time. Anything else I can try?

Are you talking about the "Toggle Move Track Automation With Regions Never/Always" setting? That will move the automation yes, but it will still "live" on the track instead of inside the regions where I wish to have it.

Thanks again, kindly!


----------



## procreative (Feb 22, 2018)

seabass said:


> Thank you! Not sure if I'm doing something wrong. If I flip the track to region no automation is being recorded in either capture recording or in actual recording. I could move track automation to region but that's an extra step that I want to avoid. It looks like it's possible to write automation to already existing regions, but not while playing it the first time. Anything else I can try?
> 
> Are you talking about the "Toggle Move Track Automation With Regions Never/Always" setting? That will move the automation yes, but it will still "live" on the track instead of inside the regions where I wish to have it.
> 
> Thanks again, kindly!



Not sure what you are doing but if you have Region automation engaged and Write, Touch or Latch on, even moving the Smart Control with your mouse should record automation to the Region.


----------



## seabass (Feb 22, 2018)

procreative said:


> Not sure what you are doing but if you have Region automation engaged and Write, Touch or Latch on, even moving the Smart Control with your mouse should record automation to the Region.



I tried it and you're right, it writes automation with the mouse when touching the smart controls, and even in Read mode. BUT when I try to write automation from my X-Touch it doesn't work. It moves the smart control like the mouse did, and it sounds correct, but the automation is not saved. Any ideas in that case? Thanks again!


----------



## procreative (Feb 22, 2018)

Sounds like you have not mapped the X-Touch to the Smart Controls right to me but cant really say more as i dont know the x-touch.


----------



## seabass (Feb 22, 2018)

Man, this is soooo close though. I move the X-Touch faders and everything moves in Logic the way I want and the led displays even show the correct names, it's just that it doesn't save the automation to the regions. Teasing. Is this a Logic Controller Assignment thing? Any way to incorporate Plogue Bidule or similar to make it happen?


----------



## procreative (Feb 22, 2018)

You have gone to the smart control and clicked learn then moved your hardware? Cant think what else it can be. Suggest you look up the Logic manual on controller assignments and maybe your X-Touch manual.

I think you may also need to ensure Latch or Record is on and you are in record mode in Logic.


----------



## seabass (Feb 22, 2018)

I did but the X-Touch is Mackie Control only, not MIDI CC, which I guess you know since we’re in this thread.

I’ll try it again, but usually when I mess around with learn and in the Logic Controller Assignments I ruin something else and turn the fader into the wrong thing for every mode, not only SC 

Let me try and get back.


----------



## procreative (Feb 22, 2018)

If its proper Mackie Control there should be Smart Control layer, in my controller there is a command to switch the Pan Pots to the Smart Control mode, I then engage fader flip which swaps them with the faders.

I am afraid you have to consult the manual for the X-Touch as it might not be a full implementation.


----------



## seabass (Feb 22, 2018)

These are my settings. Anything that looks weird? I have the X-Touch in SC and Flip mode. Again everything seems to be working, just not saving the automation when touching the X-Touch fader and in region mode. It only works in track mode or in region mode on top of already existing regions.


----------



## seabass (Feb 22, 2018)

One more thing. It says Modulation and Expression etc in the automation lists, but obviously not in the standard lanes for mod and exp. What is actually happening? Is it saving to some user lanes that are custom named and then mapped to the real Expression and Modulation?


----------



## procreative (Feb 23, 2018)

seabass said:


> These are my settings. Anything that looks weird? I have the X-Touch in SC and Flip mode. Again everything seems to be working, just not saving the automation when touching the X-Touch fader and in region mode. It only works in track mode or in region mode on top of already existing regions.



If I understand you right, thats expected behaviour. You cannot write automation if there is no note data there. A region has to exist or you have to add it while creating notes. Thats standard Logic behaviour.

The names of the automation is taken from what you named your Smart Control, nothing else. The automation is converted by the MidiFX script to control CC1, CC2 etc inside the instrument. So basically whatever script is on a track intercepts data and converts it before playback.

Beyond this I really cannot help you as I don't know the X-Touch and by the sounds of it you need to grasp automation a bit better.


----------



## seabass (Feb 23, 2018)

procreative said:


> If I understand you right, thats expected behaviour. You cannot write automation if there is no note data there. A region has to exist or you have to add it while creating notes. Thats standard Logic behaviour.
> 
> The names of the automation is taken from what you named your Smart Control, nothing else. The automation is converted by the MidiFX script to control CC1, CC2 etc inside the instrument. So basically whatever script is on a track intercepts data and converts it before playback.
> 
> Beyond this I really cannot help you as I don't know the X-Touch and by the sounds of it you need to grasp automation a bit better.



Yes I understand now, but I'm afraid that that little detail of not being able to save the automation to new regions will break my whole workflow. Maybe the X-Touch Compact will work better for me. Or an Avid Artist Mix. I've seen people splitting it in half controlling audio on one side and midi on the other side.

A little sad, since again, the faders are moving, the knobs are moving in Logic, it sounds correct and it even saves the automation if I move the same knob with the mouse.

Thanks for all your help!


----------



## procreative (Feb 23, 2018)

Thats the way automation works. I cannot see why you would want to record Midi CC in advance of recording notes.

But there is another way, simply create a blank region. Control click into the track and a contextual menu appears, just select "Create Empty MIDI Region" and you can make it as big as you like. 

Problem solved, you can now record automation into the blank region.


----------



## seabass (Feb 23, 2018)

procreative said:


> Thats the way automation works. I cannot see why you would want to record Midi CC in advance of recording notes.
> 
> But there is another way, simply create a blank region. Control click into the track and a contextual menu appears, just select "Create Empty MIDI Region" and you can make it as big as you like.
> 
> Problem solved, you can now record automation into the blank region.



No, not in advance of recording. At the same time. I think you’re misunderstanding me. What I can not do is play on the midi piano controller and record automation with the X-Touch to a region at the same time. Only the notes are showing up, not the automation. In track automation mode it works, but I don’t want the mod/exp data in the arrange, that should live inside of the regions. If I record a second pass with just the automation it works inside the newly created region, but making two passes doesn’t make sense.


----------



## procreative (Feb 23, 2018)

Automation could be recorded with notes played as Track Automation. Then after you can select the Region then go to the menu bar at the top choosing Mix > Convert Visible Track Automation To Region Automation.

I normally do my Dynamics stuff on a second pass most of the time.


----------



## seabass (Feb 23, 2018)

Yes, but to remember to put the scripter on each track, engage write/latch/touch and convert the data after each pass is just 1-2 many steps. I will unintentionally screw up other things and loose time instead of saving. I’m back on the iPad for exp/mod for now. 3 steps fewer but no motorized faders. Will look into other controllers or if there are any plogue bidule solutions.

Again, thank you. You’ve been amazingly helpful.


----------



## procreative (Feb 23, 2018)

No worries, there is no perfect solution.

By the way if you use the patch I attached earlier all you have to do is load that on every new track and it inserts the script and the smart controls plus an empty Kontakt instrument.

You could save a multitude of patches, I have many with specific scripts for a specific instrument and an instrument preloaded into Kontakt. For example if I wanted to insert CSS Violin 1, I have a patch for that with CC Automation, Artz ID and preset FX routing/levels and panning all ready to go.

Currently you have two choices with CC data, either use for example a Mod Wheel to enter Dynamics via CC1 or use the Automation like my setup. There is no way to use Faders on any MCU type mixer for anything other than Automation or Audio volume.


----------



## seabass (Feb 23, 2018)

procreative said:


> No worries, there is no perfect solution.
> 
> By the way if you use the patch I attached earlier all you have to do is load that on every new track and it inserts the script and the smart controls plus an empty Kontakt instrument.
> 
> ...



Agreed! I actually tried Bidule the other day and I got it to write Mod and Exp from the X-Touch, I just had to filter out the pitchbend messages. But it wont use the motorization then, which makes me think that there might be a middle ground with SC mode and Bidule. I'll explore it a bit.


----------



## procreative (Feb 23, 2018)

I doubt whatever system you discover wont involve automation. There just is not a way to move motorised faders any other way. Midi data needs feedback from/to Logic to update controllers, but there is no way to achieve this other than an environment hack which is even worse than this solution for flexibility.

I would have thought adding Bidule to the equation is even more of a fudge and extra work.


----------



## seabass (Feb 23, 2018)

procreative said:


> I doubt whatever system you discover wont involve automation. There just is not a way to move motorised faders any other way. Midi data needs feedback from/to Logic to update controllers, but there is no way to achieve this other than an environment hack which is even worse than this solution for flexibility.
> 
> I would have thought adding Bidule to the equation is even more of a fudge and extra work.



Ah, they get you everywhere


----------



## seabass (Feb 26, 2018)

I ended up returning the X-Touch and got the Avid Artist Mix. Super easy to assign channels to specific faders and to create different layouts. I also got midi cc to work for specific faders with a little hack. Not motorized, but better than nothing!


----------



## colony nofi (Jan 10, 2019)

seabass said:


> I ended up returning the X-Touch and got the Avid Artist Mix. Super easy to assign channels to specific faders and to create different layouts. I also got midi cc to work for specific faders with a little hack. Not motorized, but better than nothing!


Hey Seabass - could you let me know what your "little hack" is? I'm really interested in this...


----------



## tonalexplorer (Aug 29, 2019)

You're are a godsend @procreative! Thanks for this - I have been trying to get a control surface to control (and record) MIDI expression and modulation in Logic for so long, but every time I tried to record it (either using AQA or not), the REGION automation I had selected for recording (usually expression or modulation) would jump to TRACK automation and only record Volume. 

I can finally do it thanks to you! 🙌 FYI, I'm using a new Behringer X-Touch in MC mode.

Hope it's OK to post these here, but I've modified that script to work for East West Orchestra libraries' Play engine, and also created a Logic User Patch which loads a Smart Control unit on a track with the 6 CC messages used by East West Orchestras (Mod Whl [CC1], Expression [CC11], Portamento/Leg Time [CC5], Portamento On/Off [CC65], Legato On/Off [CC68], Repetition On/OFf [CC69]) assigned to Smart Control dials, since Logic doesn't provide a way to save a Smart Control layout yet .

Hope this helps somebody!


----------



## iMovieShout (Dec 11, 2019)

Would anyone happen to know how to filter out MCU Transport MIDI note data?

I have an issue where I need to have multiple MIDI Input Controllers active on a number of Cubase10 MIDI tracks, except for 2 specific MCU controllers. When I use the MCU transport controls, they are triggering random notes on my various VST instruments. 
I know its possible to select one specific MIDI controller for a MIDI track, but I need to select 2 MIDI controllers to ignore except to allow navigation around Cubase.
I've been looking for plugins that can filter out this data but so far no luck.

Any ideas?


----------

