Device take-over behavior using control surface

Discuss music production with Ableton Live.
Post Reply
syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Device take-over behavior using control surface

Post by syncr » Sat Jul 14, 2012 9:12 pm

Hi all.
I'm wondering if someone can help me create some separation between concepts and realities. FYI, I'm still pretty new with Ableton so 'Blue Hands', midi mapping mode vs. instant mapping, the 'configure' button, etc. are things I'm starting to understand but I'm not totally there yet.

My problem begins with my owning Novation controllers that have Automap. Started using them in other DAWs where Automap was a pretty decent solution to general usability. Bringing them into Live where mapping possibilities are more evident I'm left feeling like Automap does't give me all the control I want, or maybe that Automap simply gets in the way of actually 'knowing' exactly what is what (vs. unfolded device parameter inside Live which is very 1:1 with a big display of controls).

Anyway, what I want is a better control surface for controlling VSTs and Ableton plug-ins (effects/instruments). This control surface would be primarily for sound design and tweaking, not mixer control or performance mode so what I am seeking is for device focus to follow the blue hand so that Knob #1 always effects the selected device but ignores devices it may have previously controlled.

From what I can tell this behavior is outside of the MIDI spec (1 channel per device, that channel's #CCs exclusive to that channel), but instead references internal software mappings. I'd love some reading that clarifies the inner workings if someone knows of any. AFAICT, the device focus is dependent on vendor specific 'Instant Mappings' since the manual states the following:
"Instant mappings are advantageous because the control surface's controllers will automatically reassign themselves in order to control the currently selected device in Live."
Instant mappings seem dependent on Ableton's blessing. I read a FaderFox thread that suggested it isn't simply a matter of tweaking a user script, but something more advanced. I'm worried that if I buy something outside of the blessed list (say a Doepfer Drehbank) or build a DIY device that I might be stuck with MIDI device mapping which then suffers from MIDI channel and CC limitations that prevent a 1:1 use of the same knob without changing channels/CCs/banks, what have you. My limited testing with a Korg Nanokontrol2 seems to confirm that simply adding your own control surface via manufacturer user scripts won't get you the same instant mapping control.

So could someone confirm or dispute my understanding, suggest new ways of thinking of it, or give other examples that might help me to come up with a good solution?

Really appreciated.
-j

JuanSOLO
Posts: 3236
Joined: Sun Jul 15, 2007 8:21 am
Location: Shreveport LA, sometimes Dallas/Ft Worth TX

Re: Device take-over behavior using control surface

Post by JuanSOLO » Sun Jul 15, 2012 1:53 am

I get lost reading your post.
I feel like you need to ask a direct question.

I will say a few things I do personally though.
With my Novation reMOTE SL61 I do not use Automap. I find Automap to be a train wreck of confusion, maybe thats just me.
I use a regular Novation Midi Editor and make lots of different templates. MIDI MAP all controls per template to what I want to control.

I also use an APC40, and do lots of blue hand stuff with the device control section.
The blue handing should always work as expected. A Device is highlighted and you have Knob 1 controlling Macro 1, or parameter 1.
With Native Ableton devices, each parameter is assigned an 'order number,' this ordering dictates what gets controlled when blue handed.
With Live's devices this seems set in stone, it's not editable. HOWEVER, at the NativeKontrol forum you can use this, http://beatwise.proboards.com/index.cgi ... thread=912 LIME, which allows you to edit instant mapping ordering.
When configuring a device, like a VST in an Ableton rack, the order in which you configure will be the "order"
Also, bluehanding has banking ability. For example, on my APC40 if I hold shift+(one of the device control buttons) it changes the banking, OR number range of the ordering.
This is useless if I have bluehanded a rack because there are only 8 Macros to control, but if I bluehand Operator, I have shift+ bank 1 = 1-8, bank 2= 9-16, bank 3= 17-24 and so on. Giving me instant mapping to a large number of parameters.

There are some Novation blue hand scripts floating around here and there, but I find they dont go far enough for my tastes.

I also really like Bomes Midi Translator Pro, to get custom mapping and create templates that enable multiple layers of control or modes.

Hope some of that helps, if not, ask away.

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Device take-over behavior using control surface

Post by syncr » Tue Jul 17, 2012 3:19 am

Hey JuanSOLO.
Thanks a ton for the info. I'm not surprised some of my confusion got transferred. :(
Also, thanks for the tip on LIME and Bome's. These look very useful.

To remove confusion I'm just going spell out what I am hoping for. Maybe this will also help others to step in so you aren't forced to explain all this to me on your own. ;)

Basically, I'm trying to replicate hardware synth interaction using VSTs. This means minimal banking and lots of direct controls(i.e. 64 pots (Drehbank, Livid Elements/Builder, custom MIDIBox)). This hardware would be paired with a generalized model that I can use to configure my VST instruments by way of Live's device control panel using 16x4 columns. All synths would have the same general settings and I as a result I would always know where to grab these 64 parameters on all VSTs. Some parameters wouldn't be mapped, but that's ok.

The Live interaction I'm hoping for would be that I manually create a rack preset for each VST that matches my template. When needed, I drag said VST to a track. Once the device is loaded I can use my hardware controller 1:1 with the currently selected VST instrument(vst1), but when I jump to another track (and another VST instrument(vst2)), the controller now controls vst2 only and doesn't attempt to control vst1. The main goal is to not have to re-channel the midi controller or the midi track, but just jump via the BlueHand takeover.

Of course, I could use MIDI mapping and a hardware controller with OMNI mode. Then select each channel strip and give them each a MIDI channel. However this isn't immersive enough and I'd be concerned that edits for one strip would get accidentally aimed at another too easily.

So here are a few pretty basic questions that I'd like to become 100% on. Still a little iffy.
1) I've seen a few places that state that instant mapping only supports 8 encoders. This true?
2) Does my goal scenario depend on instant mapping? Should I be using a different metaphor or feature?
3) Do user scripts also only support 8 encoders?
4) Does the configuration I'm describing in fact require 'control surface' functionality? With this knob controller, clip launching, transport, and other control surface features are not required and might get in the way. Simple could be best.
5) Any ideas how/why VST mapping that occurs with a control surface doesn't show up in the MIDI mapped section? My assumption has been that it isn't actually using CCs but since I haven't been able to find any reading material on this I remain a bit confused.

Phew. Too much. But hopefully more linear.
Much obliged!
-j

JuanSOLO
Posts: 3236
Joined: Sun Jul 15, 2007 8:21 am
Location: Shreveport LA, sometimes Dallas/Ft Worth TX

Re: Device take-over behavior using control surface

Post by JuanSOLO » Tue Jul 17, 2012 6:14 am

OK I sort of get what you mean.
For example you want your Drehbank to work in a blue hand fashion, but in stead of 8 knobs of control, you want 64 knobs of control per selected track.
In other words, you have a VST on Track 1 that has 64 configured parameters, and onTrack 2 you have a VST with 64 configured parameters, when you highlight whichever VST on whatever Track you want the Drehbank to assume control over the VST, correct?

I dont have a Drehbank, I would LOVE one, however I bet this could be done with Remote Scripting.
Maybe there IS a limitation to RemoteScripting that allows for only 8 knobs of control at once, yet allows for 'banking 8 controls' 8 times, giving you 64, but in a banked fashion.
If that is indeed a limitation, I recommend Bomes, or investing in M4L.

This is indeed a simple task for Max For Live. I realize that means you need to buy M4L if you dont have it already, and it comes with a hefty price tag. But it's something to consider since you have such controllers on hand, M4L excelles at this.

Bomes is cheaper, and worth looking into if you want customized control with this kind of stuff.

All that said, I am thinking there HAS to be a way with Remote Scripting to achieve what you are going for.
That OR, template switching on your actual hardware. As I said, I dont have a Drehbank, does it not have switching of templates? For example, All knobs are sending on Ch 1, you press a button and now they are all sending on Ch 2 etc...
These things are what I would investigate first, because they are free, and possibly the simplest approach.

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Device take-over behavior using control surface

Post by syncr » Tue Jul 17, 2012 4:31 pm

Hey Juan.
Thanks for hanging in there. The generalization you provide is correct.

I'm happy to know you think remote scripting can accommodate this. Just found something which suggest this is correct but that some python knowledge is required. (See list #6)

I do have M4L but I'm in noob mode still. I have started with some tutorials but since I'm just becoming familiar with the core concepts of remote scripting, instant mapping, etc, I'm still some way from being able to conceptualize the objects and interactions required.

FWIW, I don't have a Drehbank either. It's just the most ideal physical representation I can offer. Another option I'm seriously considering is the Livid Code. However it's current remote scripts are modeled as a clip launcher and mixer control for some reason so it doesn't offer an easy fix. However there is a banking feature being released and already a strong MAX community so this might be where I end up. The Drehbank is discontinued so I fear it would be unwise in the long run despite its obvious strengths.

When considering a M4L solution do you have any thoughts about how to conceptualize this? Even just general ones. I'll start looking for some controller specific tutorials. The main goal for me is keeping the system in blue hand mode. I can figure other more traditional ways to do this but then I lose that blue hand auto-routing.

JuanSOLO
Posts: 3236
Joined: Sun Jul 15, 2007 8:21 am
Location: Shreveport LA, sometimes Dallas/Ft Worth TX

Re: Device take-over behavior using control surface

Post by JuanSOLO » Tue Jul 17, 2012 4:57 pm

syncr wrote:When considering a M4L solution do you have any thoughts about how to conceptualize this? Even just general ones. I'll start looking for some controller specific tutorials. The main goal for me is keeping the system in blue hand mode. I can figure other more traditional ways to do this but then I lose that blue hand auto-routing.
I dont have a controller like any of those, just a Novation SL61 and an APC40.
So most of my experience with mapping is built around their limitation and what they offer in accessing stuff like the bluehand.

A Drehbank and a Livid Code are a bit different from eachother. For example, the Livid Code comes with information and M4L plugs that one could hack and learn from, and if I had one thats where I would start.
I guessing the Drehbank comes as a more bare bones piece as opposed to controllers created with Ableton in mind.
These differences would have me approach M4L patching in different ways. And there are a lot of ways to patch anything.

Right off the top of my head I would say, look at some of the hardware synth controllers on maxforlive.com.
The idea would be to capture the Midi CC's coming from the controller using 'ctlin' object in max.
Translate or 'build your logic' i.e. "when this device is selected, control it" So if Track 1 is selected and some VST is, you would tell max to "get the device id" and make sure these knobs, coming in from the ctlin objects, are controlling it only.
It would be a simple place to start with learning M4L too.

Something like that.
This is definitely a question for here, viewforum.php?f=35
You'd get better answers. I'm sure somebody's already done this, or something close.

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Device take-over behavior using control surface

Post by syncr » Tue Jul 17, 2012 5:12 pm

Righto. Thanks :)
I just started looking over the Code control surface python scripts. I'm going to post at the Livid forums to see if a non-M4L solution might be an option, but I'll be considering those M4L ideas as I move forward. One way or another I'd like to see this through. Thanks for the guidance :)

trevox
Posts: 659
Joined: Wed Mar 23, 2011 12:58 am

Re: Device take-over behavior using control surface

Post by trevox » Tue Jul 17, 2012 5:18 pm

syncr wrote:When considering a M4L solution do you have any thoughts about how to conceptualize this? Even just general ones. I'll start looking for some controller specific tutorials. The main goal for me is keeping the system in blue hand mode. I can figure other more traditional ways to do this but then I lose that blue hand auto-routing.
I have a BCR2000 which I wanted to use to control 8 parameters of up to 16 synths and pretty much achieved my initial goal. Well it really handles 4 banks of 4 synths as I have 2 Nord modulars and a tetra - all of which have 4 patches at any one time. The last bank I use for effects etc.

What I had to do is use Max/MSP (not M4L) as a kind of bridge between my controller and live. I assigned the 16 buttons on the BCR2000 to switch between synths I wanted to control. As I said, they are in banks of 4, so as I flip between the first 4 button, it changes what I am controlling on the top row, as I switch between buttons 4-8, I change what I am controlling on the second row of knobs etc. The key is that you have to unlock and lock what you want to control each time you hit a button, so I have programmed Max/MSP to do this. Given the BCR has all rotary knobs, switching between banks/synths is pretty seamless and all knobs update immediately with the correct controller info.

I was very happy with the results until I hit a snag....i got the tetra vst which supports multi mode, but yet I can only control one set of 8 knobs. At least I haven't figured out how to get around this if using macro knobs. So I end up needlessly having 4 tetra vst's in the same set which has caused me a lot of heartburn.

Happy to share anything I have made to make this work if it will help - would also be delighted if anyone can point me in the right direction in being able to bluehand 4 banks of 8 controls within a single vst!

EDIT: Just to clarify - I do not use M4L at all for this...I want to keep using the bluehand approach as I really like the way most of it works right now...

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Device take-over behavior using control surface

Post by syncr » Tue Jul 17, 2012 6:39 pm

Hey Funken. I appreciate the effort but I don't think you have considered the fundamental goal I'm after.

I stated somewhere up there a couple of times that I don't want pages/banks.

I'm plenty familiar with Automap and I've used it successfully with my SL25mk2 and previously an SL37. In fact, Automap would probably do the trick if Novation built this vaporware knob bank controller, but since they don't I'm looking at other options. FWIW, 16x4 means 16 columns, 4 rows of knobs like this.

JuanSOLO
Posts: 3236
Joined: Sun Jul 15, 2007 8:21 am
Location: Shreveport LA, sometimes Dallas/Ft Worth TX

Re: Device take-over behavior using control surface

Post by JuanSOLO » Tue Jul 17, 2012 7:18 pm

syncr wrote:Hey Funken. I appreciate the effort but I don't think you have considered the fundamental goal I'm after.
Happens all the time, not thoroughly reading the OP.

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Device take-over behavior using control surface

Post by syncr » Wed Jul 18, 2012 3:48 pm

Hey all. I just wanted to post a wrap up for anyone who is interested.

I posted on the Livid forum regarding the Livid Code's ability to use all 32 knobs simultaneously for a single VST in Live.

An upstanding gentleman by the handle amounra has already managed the python scripting required while bringing some monome functions to several 3rd party devices including the Code (Monomodular Wiki). The monome functions appear to require M4L, but the Codec script which helps the Code address all 32 knobs for device control, apparently does not.

Seeing as I don't have a Code ATM, I'll post back when I have had a chance to test this out myself. Might be a few weeks.

Happy twiddling. :)

OhNoxius
Posts: 8
Joined: Tue Jul 28, 2015 9:09 am

Re: Device take-over behavior using control surface

Post by OhNoxius » Tue Jul 28, 2015 11:38 am

syncr wrote:
Seeing as I don't have a Code ATM, I'll post back when I have had a chance to test this out myself. Might be a few weeks.

Happy twiddling. :)
Reading this post, I understand that your main problem is that Automap doesn't follow the VST devices in the tracks you arm?
Meaning that if you have multiple tracks with VSTs, and switch (=change arm) from one to another, the controller rotaries still control the first VST and not the one you just armed?

I'm having the same problem. Did the script you mentioned in your last post work?

Thanks!
Karel

Post Reply