Page 9 of 33

Re: Control selected track \w keyboard shortcuts

Posted: Wed Jun 01, 2011 12:31 am
by makerprofaze
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

Posted: Wed Jun 01, 2011 6:46 am
by wiffbi
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.

Re: Control selected track \w keyboard shortcuts

Posted: Wed Jun 01, 2011 1:51 pm
by makerprofaze
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

Posted: Thu Jun 09, 2011 2:43 am
by kernelk
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!

Re: Control selected track \w keyboard shortcuts

Posted: Thu Jun 09, 2011 9:32 am
by wiffbi
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.

Re: Re:

Posted: Thu Jun 09, 2011 12:24 pm
by wiffbi
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.

Re: Control selected track \w keyboard shortcuts

Posted: Thu Jun 09, 2011 12:53 pm
by wiffbi
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 ...

Re: Control selected track \w keyboard shortcuts

Posted: Thu Jun 09, 2011 6:16 pm
by kernelk
@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.

Re: Control selected track \w keyboard shortcuts

Posted: Fri Jun 10, 2011 5:50 am
by wiffbi
@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.

Re: Control selected track \w keyboard shortcuts

Posted: Fri Jun 10, 2011 6:10 am
by kernelk
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!

Re: Control selected track \w keyboard shortcuts

Posted: Mon Jun 13, 2011 11:10 am
by wiffbi
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.

Re: Control selected track \w keyboard shortcuts

Posted: Sun Jun 26, 2011 1:09 am
by kernelk
@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.

Re: Control selected track \w keyboard shortcuts

Posted: Sun Jun 26, 2011 9:50 am
by wiffbi
@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.

Re: Control selected track \w keyboard shortcuts

Posted: Tue Aug 02, 2011 4:46 pm
by makerprofaze
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!!!

Re: Control selected track \w keyboard shortcuts

Posted: Wed Aug 03, 2011 6:28 am
by wiffbi
@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 …