Control selected track \w keyboard shortcuts
-
- Posts: 11
- Joined: Sat May 21, 2011 11:15 pm
Re: Control selected track \w keyboard shortcuts
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?
Re: Control selected track \w keyboard shortcuts
This can be added in the settings.py. Have a look at line 46: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?
"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.
-
- Posts: 11
- Joined: Sat May 21, 2011 11:15 pm
Re: Control selected track \w keyboard shortcuts
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!
Re: Control selected track \w keyboard shortcuts
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!
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!
Re: Control selected track \w keyboard shortcuts
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.
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.
Re: Re:
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.funken wrote:Not sure if this has been covered.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
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
Re: Control selected track \w keyboard shortcuts
@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: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!
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 ...
Re: Control selected track \w keyboard shortcuts
@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.
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.
Re: Control selected track \w keyboard shortcuts
@kernelk: great to hear you are happy! Your setup sounds pretty awesome.
Concerning rewind and ff functionality: I will see, what I can do.
http://liine.net/livecontrol/ableton-liveapi/
http://relivethefuture.com/code/live/apidocs/
I will let you know, when I added the update for the MIDI CC stuff and rewind/ff.
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.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)
Concerning rewind and ff functionality: I will see, what I can do.
My settings.py does not have a complete list. The only resources I am aware of concerning API are: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?
http://liine.net/livecontrol/ableton-liveapi/
http://relivethefuture.com/code/live/apidocs/
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.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?
I will let you know, when I added the update for the MIDI CC stuff and rewind/ff.
Re: Control selected track \w keyboard shortcuts
Here is what i mean: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.
"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
If you happen to do it, that would be great. but don't go out of your way. Thanks again!wiffbi wrote:I will let you know, when I added the update for the MIDI CC stuff and rewind/ff.
Re: Control selected track \w keyboard shortcuts
Now I understand. It is actually easier:kernelk wrote:Here is what i mean: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.
"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
"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.
Re: Control selected track \w keyboard shortcuts
@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.
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.
Re: Control selected track \w keyboard shortcuts
@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.
I hope everything is working for you. Let me know if you have any problems.
-
- Posts: 11
- Joined: Sat May 21, 2011 11:15 pm
Re: Control selected track \w keyboard shortcuts
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!!!
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!!!
Re: Control selected track \w keyboard shortcuts
@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 …
Including some setup-examples is a great idea! I try to add some to the top of the settings.py soon …