Control selected track \w keyboard shortcuts

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
makerprofaze
Posts: 11
Joined: Sat May 21, 2011 11:15 pm

Re: Control selected track \w keyboard shortcuts

Post by makerprofaze » Wed Jun 01, 2011 12:31 am

Hi, and thanks for your work. You mentioned it would be easy to implement more/all sends (9-12). Would I just need to add more lines in proper syntax in the settings.py, or is it something you would need to implement?

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Wed Jun 01, 2011 6:46 am

makerprofaze wrote:Hi, and thanks for your work. You mentioned it would be easy to implement more/all sends (9-12). Would I just need to add more lines in proper syntax in the settings.py, or is it something you would need to implement?
This can be added in the settings.py. Have a look at line 46:

"sends": (
(CC(24), CC(12, ABSOLUTE)),
(CC(25), CC(13, ABSOLUTE)),
(CC(26), CC(14, ABSOLUTE)),
(CC(27), CC(15, ABSOLUTE)),
(CC(28), CC(16, ABSOLUTE)),
(CC(29), CC(17, ABSOLUTE)),
(CC(30), CC(18, ABSOLUTE)),
(CC(31), CC(19, ABSOLUTE)),
),

Sends are defined as a tuple in python and this tuple can be of any length and can contain MIDI-CC-commands as well as tuples of MIDI-CC-commands (the latter being in use in the default settings.py).
Enough programmers talk: sends are defined through a list of MIDI-CCs that you want to use to control the sends. This list can be any length so you can control as many sends as you like.

I assume your controller uses knobs (so no relative rotaries), just replace line 46 to 55 with something like this:

"sends": (
CC(12, ABSOLUTE),
CC(13, ABSOLUTE),
CC(14, ABSOLUTE),
CC(15, ABSOLUTE),
CC(16, ABSOLUTE),
CC(17, ABSOLUTE),
CC(18, ABSOLUTE),
CC(19, ABSOLUTE),
CC(20, ABSOLUTE),
CC(21, ABSOLUTE),
CC(22, ABSOLUTE),
CC(23, ABSOLUTE),
),

Now MIDI-CC nr. 12 to 23 control sends 1-12. Of course you can use any MIDI-CC you like.

I hope this helps. Don’t let the python-syntax turn you down, if you need help, just let me know.

makerprofaze
Posts: 11
Joined: Sat May 21, 2011 11:15 pm

Re: Control selected track \w keyboard shortcuts

Post by makerprofaze » Wed Jun 01, 2011 1:51 pm

Ha! Thanks for the speedy reply. I actually gave it a shot last night after posting and got the lines right. All is working with sends 1-12. kudos!

kernelk
Posts: 10
Joined: Thu May 19, 2011 6:28 am

Re: Control selected track \w keyboard shortcuts

Post by kernelk » Thu Jun 09, 2011 2:43 am

wiffbi! I love you man. Thanks for the great work. I just found out about Midi Remotes this week and was happy, but I am really happy to find that you have already blazed the trail ahead of me. Everything you laid out in settings.py is what i need to make my MPK Mini rule Live!

One functionality I haven't seen implemented yet is the ability to show/hide a vst instrument Window for the track ([control + alt + p] from the keyboard and which doesn't actually work for me in 8.2.2 for windows).

Can the framework perform this function? if so, can your CS do this?

Thanks again for the great work!

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Thu Jun 09, 2011 9:32 am

Thanks kernelk! The MPKmini is nice! I have the lpd8 and sometimes misuse it as a footcontroller when playing guitar. Although one needs to be a bit careful not to hit the wrong pad (or two pads at once).

Concerning your question: AFAIK [control + alt + p] only shows/hides VST/AudioUnit-windows that are open (in 8.2.2 when I add an AudioUnit, its window opens automatically, but if I close it (via mouse click), I need to press the screw-driver/tool icon to open it and be able to show/hide via [control + alt + p]). So you cannot open these windows, you can only show/hide the already open ones.

I looked up two things, both of which were sadly not possible:

1. if a device is a VST/AudioUnit open its window (that is, if you click the screw-driver/tool icon) – not at all possible via MIDI Remote Scripts (or at least I have not found any functionality in the object dump that is the "documentation").

2. show/hide VST/AudioUnit windows: only possible with key-command, so you would need a software that translates MIDI into key-commands. I do not know on Windows, but Bome’s MIDI Translator might be an option. On Mac there is a tool, but I cannot find it right now.

I hope, this at least gives you some hints on getting the show/hide plugin-windows command working via MIDI-to-keyboard-shortcut.

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Re:

Post by wiffbi » Thu Jun 09, 2011 12:24 pm

funken wrote:
joe.cavers wrote:Dude this is awesome! All we need now is a way to have a set of knobs that control devices on the selected track, and a way to change between devices on the selected track. That'd be incredible :)

JC
Not sure if this has been covered.

This is explained in my Midi tips thread, you have to edit the user script, it is very easy. To change between devices just use the left-right cursors (works on a mac anyway)

http://forum.ableton.com/viewtopic.php?f=4&t=164575
This is cool, I will definitely check this out. The MIDI Remote part in UserConfiguration.txt doesn’t allow for device-navigation as in the video (I think that is a special Novation mapping – probably MIDI to keyboard-shortcut), but nonetheless very useful stuff in there.

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Thu Jun 09, 2011 12:53 pm

funken wrote:not read all this thread, looks a bit technical, but changing the script so every device recognises my 8 knobs has revolutionised the way I work, mouse to hardware in one jump. Even had to move my keyboard!
@funken: check this thread if you want instant control of the currently selected track with you keyboard controller (i.e. the mixer, sends, etc. – not devices though, but that’s where the UserConfiguration.txt shines). Actually check out this page, if you want to know, what is possible with STC:

http://stc.wiffbi.com/midi-implementation-chart/

There are some nice add-ons such as Solo-kill, Auto-arm track on selection, Mute kill and Mute flip ...

kernelk
Posts: 10
Joined: Thu May 19, 2011 6:28 am

Re: Control selected track \w keyboard shortcuts

Post by kernelk » Thu Jun 09, 2011 6:16 pm

@wiffbi

Thanks for going through the effort. I sat down for a good while with MIDI.py and settings.py and in combination with the automap features of UserConfiguration.txt I can get most of what I want.

I am thinking about getting a second mpk mini today and running them side-by-side (hope the driver supports it).

More questions:
- Why do Notes and CC's behave differently? when i have a pad send notes, only the key on/down triggers the mapping. With CC, the key off/up triggers the mapping also. toggle mode for the pads isn't useful since it's global to the notes and CC's of the bank, and it leave the led on which get out of sync when changing context
- is it possible to make the cc side of the pads be interpreted in the same manner as notes? (ignore key off/up)
- is it possible to get rewind and ff functionality? (i know it's in UserConfiguration.txt)
- other than looking through the API, has anyone highlighted the complete list of mappable settings available in 8.2.2? Or does your settings.py have the complete list?
- for my encoders mappings (such as tempo), I just set the first value to a CC i will never trigger (all set to CC(1,10), a channel i don't even use) and the second value to my encoder knob for all my mappings. Seems to work, but is there any possibility of a problem?

Thanks.

Update:

Two MPK Mini's working on an unpowered usb hub!!!!! Not only that, i went to guitar center today and found that the mpk mini i just paid $99 (pre tax) is on sale for $69!!! So they refunded me the difference on the first and i bought the second one for another $43 after tax!!! OMG GREAT DAY.

So for this low price i get:
8 pad Notes X 2 banks X 4 presets = 64 notes the 8 pads can use
8 pad CC's X 2 banks X 4 presets = 64 CC's the 8 pads can use
8 pad PC's X 2 banks X 4 presets = 64 PC's the 8 pads can use (not sure how to make this useful yet)
8 encoder knob CC's X 4 presets = 32 CC's the knobs can control
25 key Notes X 4 presets = 100 Notes the keyboard can control (with midi channel change)

All this for EACH device. I programmed each device with the same presets and set each one to a different preset (don't really need more than 2 atm). Just keeps me from having to change presets as well as gives me a 49 key range board.

I setup 3 control surfaces in live: 2 duplicates of my edited STC and 1 of my automap UserConfiguration.txt

Another great thing about this setup is how small it is. You can just box up them up and stuf them in your laptop bag. My fat heavy ass axiom 25 is boxed up ready for trade-in back to GC.

Before I stop rambling on, I need to thank you wiffbi again for making it easier for me to do this.
Last edited by kernelk on Fri Jun 10, 2011 5:58 am, edited 1 time in total.

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Fri Jun 10, 2011 5:50 am

@kernelk: great to hear you are happy! Your setup sounds pretty awesome.
kernelk wrote: - Why do Notes and CC's behave differently? when i have a pad send notes, only the key on/down triggers the mapping. With CC, the key off/up triggers the mapping also. toggle mode for the pads isn't useful since it's global to the notes and both banks of the mpk mini
- is it possible to make the cc side of the pads be interpreted in the same manner as notes? (ignore key off/up)
- is it possible to get rewind and ff functionality? (i know it's in UserConfiguration.txt)
I see what you are talking about. You would like to use MIDI CCs for toggled items such as mute, solo, etc. Concnering why CC and notes behave differently: CCs are one type of message, notes are usually two: note on and note off – and only note on is registered. But I will see, if I can make the toggle-controls (i.e. solo, mute, etc.) ignore the CC off (i.e. CC value == 0). That way, you should be able to use the CC-mode of the pads.

Concerning rewind and ff functionality: I will see, what I can do.

kernelk wrote: - other than looking through the API, has anyone highlighted the complete list of mappable settings available in 8.2.2? Or does your settings.py have a complete list?
My settings.py does not have a complete list. The only resources I am aware of concerning API are:
http://liine.net/livecontrol/ableton-liveapi/
http://relivethefuture.com/code/live/apidocs/
kernelk wrote: - for my encoders mappings (such as tempo), I just set the first value to a CC i will never trigger (all set to CC(1,10), a channel i don't even use) and the second value to my encoder knob for all my mappings. Seems to work, but is there any possibility of a problem?
Sorry, I do not understand this one. If you do not want to use a control offered by STC, simply delete the line in settings.py or better place a # at the beginning of the line.

I will let you know, when I added the update for the MIDI CC stuff and rewind/ff.

kernelk
Posts: 10
Joined: Thu May 19, 2011 6:28 am

Re: Control selected track \w keyboard shortcuts

Post by kernelk » Fri Jun 10, 2011 6:10 am

wiffbi wrote:Sorry, I do not understand this one. If you do not want to use a control offered by STC, simply delete the line in settings.py or better place a # at the beginning of the line.
Here is what i mean:

"volume": (CC(1,10), CC(1, ABSOLUTE,13)),
"pan": (CC(1,10), CC(2, ABSOLUTE,13)),
"sends": (
(CC(1,10), CC(3, ABSOLUTE,13)),
(CC(1,10), CC(4, ABSOLUTE,13)),
),
"tempo": (CC(1,10), CC(5, ABSOLUTE,13)),

CC(1,10) will never be triggered. This works, but should I do it differently?

Edit: Also, is it possible to have these encoders obey the live->prefs->midi->Takeover Mode behavior? I noticed this applied to the UserConfiguration.txt settings
wiffbi wrote:I will let you know, when I added the update for the MIDI CC stuff and rewind/ff.
If you happen to do it, that would be great. but don't go out of your way. Thanks again!

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Mon Jun 13, 2011 11:10 am

kernelk wrote:
wiffbi wrote:Sorry, I do not understand this one. If you do not want to use a control offered by STC, simply delete the line in settings.py or better place a # at the beginning of the line.
Here is what i mean:

"volume": (CC(1,10), CC(1, ABSOLUTE,13)),
"pan": (CC(1,10), CC(2, ABSOLUTE,13)),
"sends": (
(CC(1,10), CC(3, ABSOLUTE,13)),
(CC(1,10), CC(4, ABSOLUTE,13)),
),
"tempo": (CC(1,10), CC(5, ABSOLUTE,13)),

CC(1,10) will never be triggered. This works, but should I do it differently?

Edit: Also, is it possible to have these encoders obey the live->prefs->midi->Takeover Mode behavior? I noticed this applied to the UserConfiguration.txt settings
Now I understand. It is actually easier:

"volume": CC(1, ABSOLUTE,13),
"pan": CC(2, ABSOLUTE,13),
"sends": (
CC(3, ABSOLUTE,13),
CC(4, ABSOLUTE,13),
),
"tempo": CC(5, ABSOLUTE,13),


Concerning "Takeover Mode": currently this isn’t supported. It’s actually in the way STC maps the MIDI-input to Live’s parameters directly. At the time I wrote STC, this was way faster than rebinding the controls through Live every time I selected a different track (and as I used relative CCs only, I did not need takeover mode). Back then on my PowerBook G4 you had a noticable lag, before Live’s GUI would react. Not fun, if you scroll through tracks … I might try it again to bind certain controls through the helper functions in the API, so these then would obey the takeover mode.

kernelk
Posts: 10
Joined: Thu May 19, 2011 6:28 am

Re: Control selected track \w keyboard shortcuts

Post by kernelk » Sun Jun 26, 2011 1:09 am

@wiffbi:

I was watching this thread, then I went back to your site and noticed the June 16th update. Thanks! I will let you know if any issues.

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Sun Jun 26, 2011 9:50 am

@kernelk: Aaah, sorry, I totally forgot to post the update here! I updated the script so CCs work the same as notes on "toggled" controls (i.e. a value of 0 is ignored). Also I added scrub-functionality in arrangement view – not sure it this is, what you meant by "rewind and ff".

I hope everything is working for you. Let me know if you have any problems.

makerprofaze
Posts: 11
Joined: Sat May 21, 2011 11:15 pm

Re: Control selected track \w keyboard shortcuts

Post by makerprofaze » Tue Aug 02, 2011 4:46 pm

STC is completely necessary for my Live usage. The mute flip is huge among all the other stuff (I put the Mute Flip in with the Mute = instant 'Solo'.

I was partially browsing some of the recent posts above, and it seems there was discussion of different channels (from global ch) to an assignment. The first time I had to use a different channel it took a while to figure the context. I do wish you would include an example in the default setup.

And you definitely ROCK!!!

wiffbi
Posts: 238
Joined: Wed Aug 18, 2004 4:53 pm

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Wed Aug 03, 2011 6:28 am

@makerprofaze: Thanks, great to hear it’s working for you!
Including some setup-examples is a great idea! I try to add some to the top of the settings.py soon …

Post Reply