Control selected track \w keyboard shortcuts

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
Byxx
Posts: 73
Joined: Sat Oct 19, 2013 11:38 am

Re: Control selected track \w keyboard shortcuts

Post by Byxx » Mon Nov 11, 2013 9:57 pm

Man Wiffbi,


thank you for your kind getting all of us on the bus with STC on the way to controlomania. I will check that. UFF! :idea: :idea: :idea:

A bit about me. I am improvising guitarist having been used logic pro tools sequoia a long way, at least took to long to switch over to live for my purpose, what was short sighted in my actual seeing the end of the tunnel a bit in LIVE, so to speak, having not seen the opportunities with Ableton (and STC for a while, certainly :lol: )

SO I try to find a way to control as much as possible in LIVE for Improvised production and after a while working around in LIVE I found that there are missing some things, that you wonderfully implemented.

I feel like PUSH will not be my first choice, rather checking out my own workflow with your shortcuts and Hardware assignment ideas, like my USB MINI Keyboard. later on it should be the FCB1010 Footcontroller.

But I feel I have to dig in what we are talking about at the moment a bit more first. And the learning curve for that will be longer. Later on I want to use lots of VSL and getting involved with LIVE writing/improvising Film Music, I will take the necessary time fort that.

How did you come into the action we are benefiting from BTW?

So:
THUMBS UP!!!!!!

for your Good good good work finding the hidden spots in LIVE for us!!!

Thx very much
Best
LTM
MAC Book Pro
MAC OSX Sierra 10.12.6
Ableton Live 9 Suite
Ableton Live Suite 10 Trial

Byxx
Posts: 73
Joined: Sat Oct 19, 2013 11:38 am

Re: Control selected track \w keyboard shortcuts

Post by Byxx » Mon Nov 11, 2013 10:09 pm

This is a list of lists in Python. It looks more complicated than it is. You can add as many controls to that list as you want. You only need to make sure you do not collide with any other existing mapping in settings.py. An easy way to use at least 16 controls would be to reuse the CCs 33 to 40 – as I assume you do not use them as you do not have relative encoders, but only absolute knobs and faders. The following code sets up 16 controls (in absolute mode) for a device with CCs 33 to 48:

Code: Select all

	"device_params": (
		CC(33, ABSOLUTE),
		CC(34, ABSOLUTE),
		CC(35, ABSOLUTE),
		CC(36, ABSOLUTE),
		CC(37, ABSOLUTE),
		CC(38, ABSOLUTE),
		CC(39, ABSOLUTE),
		CC(40, ABSOLUTE),
		CC(41, ABSOLUTE),
		CC(42, ABSOLUTE),
		CC(43, ABSOLUTE),
		CC(44, ABSOLUTE),
		CC(45, ABSOLUTE),
		CC(46, ABSOLUTE),
		CC(47, ABSOLUTE),
		CC(48, ABSOLUTE),
	),
If you need even more controls, a quick check showed, that CCs 53-59 are currently unused. You could also use another MIDI channel for device control if you wish to. But your device needs to support sending on different MIDI channels simultaneously – which I don’t think it does looking at the screenshots you provided from the Editor software.

I hope that helps!
Okay, Wiffbe!!!!

When I get it right, then I can assign 16 Parameters which are assigned to the order of the in the order of the CCs like this

Code: Select all

"Auto Filter" = (1,2,3,4,...,16),
where 1 to 16 can have any number of the device_params - List you are showing above, right?

like:

Auto Filter

On (1.0; 0.0 - 1.0; quantized)
1 Filter Type (0.0; 0.0 - 3.0; quantized)
2 Frequency (127.0; 20.0 - 135.0)
3 Resonance (0.819999992847; 0.20000000298 - 3.0)
4 Env. Modulation (0.0; –127.0 - 127.0)
5 Env. Attack (6.0; 0.10000000149 - 30.0)
6 Env. Release (200.0; 0.10000000149 - 400.0)
7 LFO Amount (0.0; 0.0 - 30.0)
8 LFO Waveform (0.0; 0.0 - 6.0; quantized)
9 LFO Frequency (0.347130894661; 0.0 - 1.0)
10 LFO Sync (0.0; 0.0 - 1.0; quantized)
11 LFO Sync Rate (4.0; 0.0 - 21.0)
12 LFO Stereo Mode (0.0; 0.0 - 1.0; quantized)
13 LFO Spin (0.0; 0.0 - 0.5)
14 LFO Phase (180.0; 0.0 - 360.0)
15 LFO Offset (0.0; 0.0 - 360.0)
16 LFO Quantize On (0.0; 0.0 - 1.0; quantized)
17 LFO Quantize Rate (2.0; 0.0 - 9.0; quantized)
18 Ext. In On (0.0; 0.0 - 1.0; quantized)
19 Ext. In Gain (0.40000000596; 0.0 - 1.0)
20 Ext. In Mix (1.0; 0.0 - 1.0)

EXAMPLE: Ähmhm...

Code: Select all

"Auto Filter" = (19,14,3,16),
will assign the following:

CC33 controls In Gain (regarding your refreshed long controller list)
CC34 controls LFO Phase
CC35 controls Resonance
CC36 controls LFO Quantize On

okay, what happens with not assigned controllers, if I only took those four Parameters like in the AutoFilter Example above? When I get it right you said they are not used otherwise...?

Thx Thx Thx Thx Thx Thx Thx Thx...
Best
LTM
MAC Book Pro
MAC OSX Sierra 10.12.6
Ableton Live 9 Suite
Ableton Live Suite 10 Trial

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

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Thu Nov 14, 2013 11:48 am

LTM, sorry, work sucked me right in … You understood everything right, that is how it is supposed to work. And if you have a list of best of parameters that does not use all controls defined then also yes, only the ones defined will be used. So in your example the knobs sending CCs 37-48 should not do anything on Auto Filter.

Regarding my background: I am a guitarist as well. I used logic as well and liked its keyboard-shortcuts to arm, solo and mute a track (I also build a custom environment in Logic for some crazy MIDI routing for my LPD8 – basically one knob controlled octave/transposition of the 8 pads – was actually quite useful, but don’t miss it much). Well, I also used Live alongside Logic and at some point I was fed up with logic and switched full time. Only thing I hated was not having those keyboard shortcuts for a track. Then I wrote Selected_Track_Control and Kimidi and at some point things got a bit out of hand and I added way more features than just arm/solo/mute …

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Control selected track \w keyboard shortcuts

Post by TomViolenz » Thu Nov 14, 2013 11:48 pm

Hey wiffbi, I'm very greatful that you added all those features! :-)
I also have another question regarding your great script.
You have a command for toggling between clip and device view (very useful!)
But it would be even more useful, if I could also change to the different "windows" within the clip view, i.e. the envelope, note or launch section.
Is this a possibility?!
Thanks :-)

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

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Fri Nov 15, 2013 9:25 am

Hey Tom, thanks! Great idea, I looked up in the M4L-docs and it’s nothing in there regarding changing these views/windows for clips. Furthermore you cannot even change the launch-settings of a clip via the API, AFAIK. Or do you know of a Control Surface that does? Then of course it has to be possible via API, but is not documented.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Control selected track \w keyboard shortcuts

Post by TomViolenz » Fri Nov 15, 2013 10:33 am

wiffbi wrote:Hey Tom, thanks! Great idea, I looked up in the M4L-docs and it’s nothing in there regarding changing these views/windows for clips. Furthermore you cannot even change the launch-settings of a clip via the API, AFAIK. Or do you know of a Control Surface that does? Then of course it has to be possible via API, but is not documented.
No, not even Push, their own product does. I hoped it might have been an oversight by the Push programmers (there are many!), that I could side step with STC. But I'm not surprised that it's not possible :(

Byxx
Posts: 73
Joined: Sat Oct 19, 2013 11:38 am

Re: Control selected track \w keyboard shortcuts

Post by Byxx » Mon Nov 18, 2013 10:11 pm

Hey Guys,

as I programm in the selected track control folder thought about making a duplicate.
But

This is not recognized in LIVE:

You can choose the copied folder in preferences but the blue hand assignments do not occur even if the selected track control folder is a straight copy with no changes.

no hand symbol with copied stc folder
Image

hand symbol with original folder
Image


SOme assignment stuff:
At least the assignment that LIVE does is not quite obvious. I understand how to use the best of parameters (I guess 8) )

But:

Is there a way that we can assign LIVES devices themselves?

With stc Impulses Volume is on CC#33 default wise, right?
How can we change CC#33 to control say Time? I know how to do with the best of parameters, just curious where LIVE hides its device CC# assignments

AND

is there a way that the Take Over actions in the preferences work with the STC controller assignments. I have the situation here, that the controllers jump to their hardware value setting, when I move them.


Thanks
Best
Tim
MAC Book Pro
MAC OSX Sierra 10.12.6
Ableton Live 9 Suite
Ableton Live Suite 10 Trial

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

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Tue Nov 19, 2013 8:53 am

Tim,
what is the name of the folder of the copied script? From your screenshot it looks like "Selected_Track_Control Kopie" – you need to make sure, that there is no space in there, otherwise it won’t work (Live allows to select it, but Python (the API-language) does not like spaces in the names)! So name your the folder of your copy "Selected_Track_Control_Kopie" – or even completely different, like "My_Magic_Controller".
Is there a way that we can assign LIVES devices themselves?
I do not understand that question, sorry!
With stc Impulses Volume is on CC#33 default wise, right?
How can we change CC#33 to control say Time? I know how to do with the best of parameters, just curious where LIVE hides its device CC# assignments
CC#33 is only because STC defines it like so. Live itself does not offer any default MIDI assignments, it "only" offers the API on which you can write your own MIDI listeners on. I partly wrote STC to fill this gap of a "default MIDI mapping".

Regarding "Take Over" mode: currently STC does not support it. It’s because it was originally written only for relative MIDI encoders – which do not need Take Over-mode. Also the API does not natively support it, but AFAIK the _Framework does. But STC is not based on the _Framework (that is why it largely worked with Live 9 out of the box). I am planning on a follow up to STC, that is based on the _Framework-classes where possible and then that should support MIDI Feedback as well as Take Over mode (AFAIK, I still need to test that!). But that is a bigger project, so might take some time.

Byxx
Posts: 73
Joined: Sat Oct 19, 2013 11:38 am

Re: Control selected track \w keyboard shortcuts

Post by Byxx » Tue Nov 19, 2013 3:25 pm

Wiffbi,

thanks. Understood the folder thing.
I have an AKAI MPK 88 Keyboard here which I´d like to assign.

I set up the AKAI like this:

I set Knob1 to CC 33, Knob2 to CC 34 etc.
I changed the settings.py file to:

device_bestof = {
"Impulse": (4,3,2,1,8,7,6,5),
"Looper": (2,1,0),
"Auto Filter": (1,2,3,7),
}

But when I turn Knob1(CC33),
Auto Filter toggels to switch on and off (at value 65). My intention was to make this choose the Filter Type...

The weird thing is, that the intended assignment starts with Knob2 (CC34), and also Knob7/8 (CC39/40) are activated and assigned to control Envelope in Autofilter, what in my oppinion is not programmed as I use only 4 Functions of Autofilter in the Line of Code

phew----!

As the AKAI is Assigned to LIVES patch List, maybe there is an overlay or so (what I don´t think)
Image

Thank you!

Best regards
LTM
MAC Book Pro
MAC OSX Sierra 10.12.6
Ableton Live 9 Suite
Ableton Live Suite 10 Trial

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Control selected track \w keyboard shortcuts

Post by TomViolenz » Wed Jan 08, 2014 12:09 pm

Hey wiffbi,

I would like to use your great tool together with Push when I finally get it. As far as I know, much of Pushs controlls send on Midi Channel 1.

So does STC. How would one go about using both?
Can I change STCs Midi channel in the script somewhere?

(Sorry if the answer is already in the thread, I didn't want to re-read all the 27 pages)

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

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Wed Jan 08, 2014 3:51 pm

@TomViolenz: you are right, I need to write a FAQ for STC!

yes, there is a way to change the MIDI channel STC is listening to. You need to open the file MIDI.py (NOT the .pyc-file) and edit line 8, where it says:

DEFAULT_CHANNEL = 0

Note, that this is a zero-based index, so for normal humans (i.e. non-programmers) 0 means MIDI channel 1, 1 means MIDI channel 2, etc. So for STC to listen to MIDI channel 2, just edit the line to read:

DEFAULT_CHANNEL = 1

I read somewhere that Push acts as two MIDI interfaces, so you could hook STC to the second MIDI interface. But maybe I misread it somewhere.


re:dream
Posts: 4543
Joined: Fri Dec 28, 2007 9:42 am
Location: Hoerikwaggo's sunset side...
Contact:

Re: Control selected track \w keyboard shortcuts

Post by re:dream » Fri May 16, 2014 6:07 pm

Any chance of value scaling and pickup becoming possible for takeover mode? The abrupt changes is a real killer when using STC for live shows...

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

Re: Control selected track \w keyboard shortcuts

Post by wiffbi » Sun May 18, 2014 11:29 am

re:dream wrote:Any chance of value scaling and pickup becoming possible for takeover mode? The abrupt changes is a real killer when using STC for live shows...
I am working on it. I have a simple MIDI Remote Script with track and device control running that supports value scaling and pickup thanks to the _Framework-Classes. So the basics are working, but it is just a simple test which I need to turn into a more usable and easier to configure piece of code. Regarding final release, I cannot say anything, but I will try to make an early release on github for you to tinker with …

re:dream
Posts: 4543
Joined: Fri Dec 28, 2007 9:42 am
Location: Hoerikwaggo's sunset side...
Contact:

Re: Control selected track \w keyboard shortcuts

Post by re:dream » Sun May 18, 2014 12:27 pm

Awesome, thank you! I really appreciate the time you take to support this excellent script.

(in fact I should toddle off to make a donation...)

Post Reply