[Solved]: How to custom assign XYZ MIDI Pad to anything in Ableton Live?

EDIT: SCROLL DOWN a few messages. Solved.

I’m trying to devise a fast method of assigning a MIDI XYZ Pad to always point to parameter X & Y of Ableton Live’s XY Pad that appears for any MIDI-controllable device (effect or instrument). Hopefully where you would determine what those parameters that are being controlled after-the-fact.

I just wish it was easy to define this, as I am actually trying to set up a Dual MIDI XYZ pad in the Innovator’s Layout:
“In Ableton Live, CC20 controls the X, CC21 controls the Y, and CC22 is an open-assignable Z for aftertouch. Copy that to the second MIDI XYZ Pad; make that CC23, CC24, and CC25 respectively.”

Part of this problem is that Live does not allow Custom MIDI mappings for those fields underneath the XY Pad; you have to go into the deeper parameter menu per plugin to do that.
E.g. Click the triangle above the XY Pad > hit Command-M for custom midi mapping > select a parameter [filter cutoff and filter rez are easy targets] > send a CC20, then again send a CC21, CC22 (Z) is optional, and you’re done.

But even that is difficult, since the Morph (and any other XY Pad) sends out multiple parameters constantly per touch, making it impossible to custom assign any one single CC, Abelton grabs the last CC in the string. Ableton does not allow to manually type in CC# assignments either, so that’s not an option.

The possibility is there for these easy-thought-up control setups, but the pathway is darn near impossible when you’re trying to be creative. But I think I’ve solved it on paper; make six small boxes on the layout that have those six individual CC controls solely for just the assignment stage in Ableton Live; and the XYZ pads use those same CC values respectively.

If you can think of a faster way, please bang out a reply here.

I just thought of another solution, but it’s outside of my experience level.
Perhaps someone could make a Max4Live (M4L) extension that allows for turning off / turning on CC data momentarily from the Morph. Not sure if that’s possible.

Figured it out and made a template.
I just made a few single CC controls that send Momentary CC data, solely for the MIDI mapping stage of an Ableton setup, then went from there. See it in action here:

~r

2 Likes

You had a more productive Sunday than me, Robert. Thanks again for sharing your work here.

1 Like

Max For Live wouldn’t have worked, as described.

You could, however:

  • Bypass Live’s MIDI mapping, and use max for live to map directly to parameters.

  • Filter out an axis or two, as desired, then route the track’s MIDI output to something like LoopBe or OSX’s IAC bus, to route back into Live over virtual MIDI cables. Those new cables can then be mapped by Live.

  • Create a Live Remote Script, associated with your controller. That script can be told externally to toggle your various CC streams on or off. At least, in theory. This is not a casual prospect, though. Much research required.

All things considered, I think you came up with the best available solution.

1 Like

Hi @greaterthanzero,

I did find a few M4L free plugins that I experimented with:
http://www.maxforlive.com/library/device/2593/midi-filter
and
http://maxforlive.com/library/device/5341/midi-filter-and-monitor

What’s funny is, while both work as efficient midi data gates? Once you enter Live’s MIDI Mapping Mode to map X, Y & Z, any midi filters that were in place are momentarily disabled… sort of making the point moot. Kind of funny, actually. Funny enough to start crying a little bit, in frustration and irony.

And yeah, I could create a script but damn that’s a lot of work.
So I realized that the KISS (Keep It Simple, Stupid) approach was best, and sketched that template on a piece of scrap paper. Pleasantly surprised when it worked!

Next up: figure out where in the Sensel python script, to turn off its session view channel auto-arm function.

Yeah, that’s the issue I figured you’d run into.

The workarounds listed above would all work, but again, why bother?


I guess one additional solution would be to move those buttons off of this overlay and onto a second one, to swap in when you need to set up mapping.

That’d reclaim some real estate, but probably not enough to justify the trouble.


One last note:

Ableton’s mapping doesn’t keep track of which device a signal is coming from, so if you map a common CC like 7 (volume) or 74 (mpe y axis), and two controllers both send it, they’ll both control it. This can be handy, or disastrous.

Trick is, while it doesn’t differentiate between midi controllers, it does separate MIDI channels.

So, if you haven’t already, I’d suggest moving all of this off of channel 1. Any other channel is less likely to encounter a random conflict with somebody’s keyboard.

(You chose fairly out-of-the-way CCs, so you may never encounter that.)

1 Like

Yes I have it all on MIDI channel 4. Been there, done that.

I haven’t learned the trick of how to program a second overlay or second shift-key layer/functionality on one template, yet. I would think that’s possible, looking at the shift key on the (predominately pink overlay with a 4x4 MPC grid whose name escapes me right now).

How does one define a multiple function with a modifier key like this, anyhow? I need to RTFM some more.

I don’t think we have that ability yet.

(The Buchla Thunder overlay has this, but it uses custom scripting from Sensel.)

I was more suggesting that you abuse a secondary overlay Or perhaps the “no overlay” option.

Oh, I see. In other words, flash the Morph twice.
Not terribly efficient if you’re at an improv gig and you’re hurriedly getting something ready in Abelton on the spot. At least not for me and the shows I play or the type of workflow I do at the home studio.

FWIW I should also point out that I’ve noticed something that could be considered a “bug report” in the send-to-Morph process, but it’s so minor and would affect such a small portion of the Morph population (namely, me), that it’s not worth it.

BUT if you must know what’s happening? It goes a little something like this:

I have the Morph connected via USB hub (AC powered Anker 7-port in my case); and also have an iConnect mio10 MIDI patch bay connected through the same USB Hub; as well as an original model Launchpad AND LaunchControl XL on the same hub; and possibly a LinnStrument connected, but this week it’s not. All while Ableton Live is open. I’ve gotten what seems like a MIDI kernel panic in Live (Live crashed twice on me, at spread apart events, but not all the time); or, an audio sync hiccup. I can’t recall if Live was “running” (playhead rolling) or not, that could have had a role since I’m sending clock out to multiple sources over MIDI and the Morph flash interrupts that stream… that’s my best guess. Add to this there’s a MOTU 828x Thunderbolt audio interface connected as well (and a Behringer ADA8200 connected to that over lightpipe). (All of this is an educated guess and noticed by the sysex call and reply from the Novation gear via MIDI Monitor OSX app, and, the audio interface hiccuping and failing = loss of digital clock sync). Or should I say the Send-to-Morph is briefly CPU intensive, or, has a “nice” value of zero? So I can’t tell if the issue is OSX CPU related, Live related, or conflicting sysex-related from the Morph data flash going over the same line as everything else.

See… I TOLD you it would only affect a small portion of users (namely, me). Therefore I’d set up any custom layouts ahead of a performance, and only once prior, with no re-sending templates once I’m at the gig. Therefore the individual sends for those CC’s stay on my template, for my situation. :slight_smile:

I hope you have a field day with this random info, @Matt_from_Sensel & @greaterthanzero.

P.S. It would be great to have a “shift” option on the Innovator’s Overlay to double (or more) the controls we could have in place. See the Korg nanoKontrol2 and its editor for a suggestion of that kind of “scenes” option to put in place.

Not necessarily. That’s certainly one option, if the components of your Live set are saved before the show. Some sort of blank template would seem like a good timesaver, but if that doesn’t fit your workflow, so be it.

I was more suggesting that you flash two overlays.

Your XY pads go on the Innovator’s Overlay right now, I’m guessing? That’s one.

Overlay number two could be anything else.

I’d probably use some keys on the QWERTY keyboard, myself because I own one and don’t really like typing with it. So, converting that to some kind of extra function scratchpad makes sense to me.


EDIT:
See footnote in this next block before getting your hopes up about what I suggest there.


The “no overlay” option is like that. It’s another context. But where the morph usually switches to a layout based on which physical overlay you’ve placed on it, this is what it switches to when you don’t have one placed on it.

So, if you’ve memorized the placement of six invisible buttons, you can simply remove your overlay, use those for mapping, and put your overlay back.

At least, in theory.

Apparently, this wasn’t possible a while back.

Not sure if that’s still the case – this may have been a terrible suggestion.


Definitely. I would never suggest otherwise!

That’s come up in several forms, if you’d like to add your voice to those threads…

https://forum.sensel.com/t/more-than-one-layout-per-overlay/

https://forum.sensel.com/t/overlay-switcher-overlay/

1 Like

Aaron, I think you and I should be Sensel Morph Besties from here on out. Find me on FB, I dare you. Robert Dorschel. Same profile pic.

I think I grok what you’re saying in the “no overlay” concept. Take off the overlay, and… I can define something new for that “nothing covering the surface” ‘config’? Wild. I’m typing this without the Morph near me, so I’ll have to try later. If I typed it right, that is rather clever and convenient. So is replacing/modifying a few buttons’ purpose on existing overlays. But the “nothing” config is more convenient in a rush.

I will check out the other strings after a sleep and work cycle.

That’s the idea. Again, there was a thread complaining that it doesn’t work that way, a while ago. We should check if that’s still the case.

I’ve never actually tried to put anything there, because I want to preserve the raw data Morph puts out by default.

Done!

I’m Aaron Levitz there, obviously. But not the same profile pic. (I currently have an illustration of myself shooting rainbows from my chest like a Care Bear, because how does one not make that their profile pic?)

Hi there,
Don t know if it has already been mentioned but a nice max4live device is doing the job:
Manual CC Mapper
Insert it for example before a device you want to control, group them in a Rack (to save the Rack with mapping and recall anytime without re-mapping).
With Buchla Thunder layout, let’s use the left XYZ pad: X with CC20, Y/CC21, Press/CC22. In CC Mapper you simply enter CC20, then click Map to assign any param you want that will be controlled now by X axis from Morph, repeat with CC21 & 22. Save your Rack and customize any Morph/Ableton device combo :slight_smile:
Have fun,
Mat

1 Like