Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

Trying a new mapping for Base v1 in Live

edited September 2014 in Software Discussion

Hi -- I have come up with my ideal mapping for Base to use in conjunction with Push for performance, hoping for any suggestions on how to make it happen (or why it is not possible)...

This is my scheme:

image

 

Base turned sideways;
Instead of the remote script, using Livid editor to assign the different midi values & LED behavior, then mapping them in Ableton;
Pads in a standard drum pad layout, so they would only be useful for drum racks. (use Push to play non-drum rack tracks);
Touch faders 1-8 (in reverse order) assigned to macros, fader 9 assigned to crossfader;
Track select buttons doing the same, but in reverse order;
Side buttons (now on top) assigned to reserved midi messages that tell a Max for Live device which track to focus for Base.

To make it work I have to figure out:

If Live track focus changes can be assigned to midi messages, for the global track focus buttons.

If I can cook up a Max for Live device to do the Base-only track focus:
   Base is set to a channel that is only routed to the track with the Max device.
   Max echoes all Base pad & macro data to a specified midi channel. That specified midi channel is set by one of the "Base-only" focus buttons.
   Midi input on each of the other tracks is assigned to a different channel, so only the selected track gets the echoed Base data.
   The icing on the cake would be midi sent back to Base for LED feedback.

If I can make all that work then I can control Base's track focus independently of Push/Live focus.

I have programming experience but none in Max, so any ideas or suggestions are much appreciated!

 

Tagged:

Comments

  • You can use midi learn to latch a midi note to a track, fi that is what you are asking. 

    One approach might be to use the Base live remote script in Device mode, and use MIDI-learn to override some of the functions that you want on the side (er, top?) function buttons. This complicated by the fact that you'd need the side buttons to get to device mode in the first place, but this is something that can probably be overcome with a slight change to the base script.
    THe next modification you'd need would be to reassign the drum pads to the note arrangement that you specify above. You can use the editor for that. The script won't know the difference.

    I'm not clear on what the difference is between "global track focus" and "track focus for base only" is?
  • I understand what you're getting at with "global" vs. "Base only" track focus....unfortunately, there's not a straightforward way to achieve this since most of this sort of thing is keyed to the selected device/track in Live and "there can be only one!"  (sorry hehe)


    If you're using the Base script, you can reassign the controls via the editor like Peter suggests, or you can reassign them in the Map.py of the script (which is what I'd recommend so you don't have to worry about your settings getting scrubbed on the Base hardware).  

    If you're using the remote script, you can use the "UserMode" to remap the controls dynamically to different channels using.  This would allow you to interact with four different channelstrips by setting their inputs to the specific channels that the Base is sending.

    Another way to do things is to use m4l and create a mod (like our drumsteppr/synthsteppr etc.)  that could be accessed via the device page.  Mode three of our newest script has a "lock" function that allows you to prevent the currently selected device from being superceded by the currently selected device in Live, and there is a "Device Selector" button that lets you navigate between 8 specific devices in your Live set.  You could potentially create a simple m4l mod for each drumrack you want to access that translated button presses to notes, and use mode 3 to navigate between them and play them.  (that's how I'd personally go about things).

    Obviously, my proposition isn't "simple"....but it's probably the most versatile.  You wouldn't have to get your hands very dirty doing any programming, the most intensive work you'd have to do would be to learn how the script works (functionally) and to reassign the controls to rotate things around (either way you choose to do it).  I can provide a simple mod that would do the basics of what you need, and that would give you a starting point for further design if you want to learn some m4l.  

    In order for things to work with the script without any sort of compromise from what you have drawn up, there would need to be some changes done in Python....but nothing major, I could probably walk you through that, too.

    a
  • Regarding the remap on device vs. remap in script: true, it's nice to rely on the default settings of the Base, however, it's not unprecedented that a new version of Live will require a new script, which means that you'd have to edit the script again. So, if you edit the script, you don't have to worry about  your Base's settings changing, if you edit the Base, you don't have to worry about the script changing.

    Either way, there's some management. 

  • Thanks for the ideas. I definitely have to read up more on your current remote script, I've been updating it but not paying attention to new functions, the lock and device selector functions sound great. 


    After I reread what I wrote I realized that I was over-complicating things and what I'm looking for is a max device for more general midi use. So now I am over on the cycling 74 site to figure it out. i posted this over there:


    I am wondering if a Max for Live device exists to do this:

    – midi controller is set to a channel that is routed only to a track with the Max device.

    – Max device echoes all incoming controller midi, but changes it’s channel. The new channel is set by midi message from the controller.

    – Midi input on each of the other tracks is assigned to a different channel, so the echoed midi is only received on the desired track.

    – The icing on the cake would be midi sent back to controller for LED feedback.

    With a button push I tell the device to echo the controller to a certain channel, and the controller can focus on any track, independent of what the Live track focus is. You could have separate focus for each of your controllers.

    ---


  • Mac or PC?

  • Live doesn't support channelized MIDI internally, which makes it difficult to do this sort of thing.  There are some workarounds, though.   For instance, you can use MIDIYoke or something similar to create a loopback and then use the ExternalInstrument device to channelize the MIDI on its way out.  When its received back into Live's input it will be routed to the tracks with the corresponding input channel.  You can put several of these ExternalInstruments into an InstrumentRack, and control the active chain in numerous ways (a learned CC or an m4l API object), thus changing the channel the MIDI is being sent out of Live on.


    That's as simple as it gets (! really ?  simplest way I can think of anyway)....once you get that working you'll probably see more possibilities, though ;)

    a

  • Amounra thanks so much for the help. I am going to see what I can do with your idea this weekend.

  • I wound up finding my solution using ClyphX…

    — Added lines to its usersettings file under [user controls] to dedicate 8 pads to toggle midi inputs on 8 channels:

    Bfoc1 = NOTE, 2, 40, 1/in Base , 1/IN Push Input (Ableton Push)

    Bfoc2 = NOTE, 2, 41, 2/in Base , 2/IN Push Input (Ableton Push)

    Bfoc3 = NOTE, 2, 42, 3/in Base , 3/IN Push Input (Ableton Push)

    Bfoc4 = NOTE, 2, 43, 4/in Base , 4/IN Push Input (Ableton Push)

    Bfoc5 = NOTE, 2, 36, 5/in Base , 5/IN Push Input (Ableton Push)

    Bfoc6 = NOTE, 2, 37, 6/in Base , 6/IN Push Input (Ableton Push)

    Bfoc7 = NOTE, 2, 38, 7/in Base , 7/IN Push Input (Ableton Push)

    Bfoc8 = NOTE, 2, 39, 8/in Base , 8/IN Push Input (Ableton Push)

    — Set the controller with those pads as the ClyphX input/output in Live preferences

    So, now I have a Push which sets its own track focus; a Livid Base (not using its midi remote script) as the second controller to be focused; and an Akai LPD8 (again w/o midi remote script) as the dedicated ClyphX controller. Used the LPD8 Editor app to make the pads toggle instead of momentary.

    Just one small hitch: if I want to switch the track focus on the Push, I also have to have the track set to Push input on the LPD8.

    The knobs on the LPD8 aren’t functional unless I want to assign them to something in ClyphX, no big whoop. The Base is mapped so its touch faders control track volumes 1-8 and crossfader.


Sign In or Register to comment.