Live devices mapping in Push:Community mapping is done! :)

Discuss music production with Ableton Live.
TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Undocumented Live device parameter names

Post by TomViolenz » Thu Oct 24, 2013 10:52 pm

Great News! :)

The spaces are probably because of the copying to the forum and back. I haven't edited anything but the names of the parameters otherwise.

syncr
Posts: 38
Joined: Wed Nov 23, 2011 2:38 am

Re: Undocumented Live device parameter names

Post by syncr » Thu Oct 24, 2013 10:52 pm

Ok. Actually it's only good news. Turns out I didn't have a few things engaged in Sampler (so for example only 2 settings showed up in Pitch to begin). That's my bad for only having had Push for a few days. ;)

However, turning up the LFOs, Filter, Shaper options and all 8 banks have 8 settings filling up the screen....Woot. Very nice.

So the only thing I needed to change was the spacing and it is good to go. :)

Edit: Also tested and working in beta 9.1b23
Last edited by syncr on Thu Oct 24, 2013 10:57 pm, edited 1 time in total.

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Thu Oct 24, 2013 10:55 pm

syncr wrote:Ok. Actually it's only good news. Turns out I didn't have a few things engaged in Sampler (so for example only 2 settings showed up in Pitch to begin).

However, turning up the LFOs, Filter, Shaper options and all 8 banks have 8 settings filling up the screen....Woot. Very nice.

So the only thing I needed to change was the spacing and it is good to go. :)
YEAH 8)

So now everything is in place for changing the default parameter layout in Push!!!
I'm happy now :D

I guess for the write up I will then focus on people getting the file from GitHub, so no spacing issues get introduced:

Valiumdupeuple
Posts: 1135
Joined: Mon May 31, 2010 12:36 pm
Contact:

Re: Undocumented Live device parameter names

Post by Valiumdupeuple » Fri Oct 25, 2013 12:20 am

That's exiting!
Out of curiosity, can we limit ranges of parameters within the script ?

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Fri Oct 25, 2013 8:21 am

Valiumdupeuple wrote:That's exiting!
Out of curiosity, can we limit ranges of parameters within the script ?
No I don't see how that is posible, if you look at the code we are changing, there are only banks, parameter names and bank names.
Doing that would probably need serious effort by Ableton. They should do this though (have it all set up like an extra Configure tab on Live devices), methinks it would help to draw new Push users towards their own devices.

For people that still want to help, there are still 2 outstanding issues: Adding banks:

Here I changed the Arpeggiator settings, so that I added a bank:

Code: Select all

ARP_BANK1 = ('Style', 'Groove', 'Offset', ''Hold On'', '', '', '', '')
ARP_BANK2 = ('Sync On', 'Free Rate', 'Synced Rate', 'Gate', 'Retrigger Mode', 'Ret. Interval', 'Repeats', '')
ARP_BANK3 = ('Tranpose Mode', 'Tranpose Key', 'Transp. Steps', 'Transp. Dist.', 'Velocity Decay', 'Velocity Target', 'Velocity On', 'Vel. Retrigger')
ARP_BOB = ('Sync On', 'Free Rate', 'Synced Rate', 'Gate', 'Groove', 'Transp. Steps', 'Transp. Dist.', 'Velocity Decay')
ARP_BANKS = (ARP_BANK1, ARP_BANK2, ARP_BANK3)
ARP_BOBS = (ARP_BOB,)
ARP_BNK_NAMES = ('Style', 'Rate/Retrigger', 'Transpose/Velocity')


(It's best if someone with a real editor tries this, as I might have introduced spacing problems again.)

And adding banks beyond 8, for which I will make an Analog mapping later today.

tedlogan
Posts: 1347
Joined: Thu Dec 20, 2012 7:23 pm
Location: Leamington Spa, UK
Contact:

Re: Undocumented Live device parameter names

Post by tedlogan » Fri Oct 25, 2013 8:57 am

I was going to try your devices.py file, but when I checked my file - it looked absolutely nothing like the one you posted.Of course yours is modified a lot, but mine doesn't even bear any resemblance to it. I also have 3 different ones in 3 directories - one for live 9 suite, one for live 9 beta, and one in live 9 beta_update.

So not sure which ones to really replace. Obviously, it would make sense to replace them all and then see what happens. Am I looking in the correct folder btw - I'm on Windows 7 - it's a hidden directory - on the C: root directory - ProgramData/Ableton/(at work forgot the rest)/Resources/Midi_RemoteScripts/_generic/Devices/py. Guess this must be it.

Regardless, thanks for all the research guys - I would LOVE to change the default Live device parameters - especially Sampler. Also M4L's drumsynths. I just don't understand why Ableton made such odd decisions when we've got a total of 16 whole banks for each device to use, yet they only bothered using 8 at most. Rushed perhaps? Either way, I'm glad it's possible to change the default.

On another note - maybe they can simply add a "configure" option like we have with VSTs - then we could easily set any Live device as we see fit without resorting to text files.

Valiumdupeuple
Posts: 1135
Joined: Mon May 31, 2010 12:36 pm
Contact:

Re: Undocumented Live device parameter names

Post by Valiumdupeuple » Fri Oct 25, 2013 9:13 am

Tedlogan, changing parameters order of m4l devices has to be done within the max editor. Open your device, find "parameters" in the top menu; it will open a new window with informations about all you gui elements. The numbers in the first row (or 2nd one, I don't have max open for now to check) are what you need to re-order to your taste.

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Fri Oct 25, 2013 9:18 am

tedlogan wrote:I was going to try your devices.py file, but when I checked my file - it looked absolutely nothing like the one you posted.Of course yours is modified a lot, but mine doesn't even bear any resemblance to it. I also have 3 different ones in 3 directories - one for live 9 suite, one for live 9 beta, and one in live 9 beta_update.
The file you have in your own directory is compiled, that's why it does not look like my file (because that is the same file de-compiled)
To get the de-compiled version, you should go to the GitHub link I posted above.
As to which of the folders you want to change?
All of the ones where you would like to have an altered assignment when you run it.
So not sure which ones to really replace. Obviously, it would make sense to replace them all and then see what happens. Am I looking in the correct folder btw - I'm on Windows 7 - it's a hidden directory - on the C: root directory - ProgramData/Ableton/(at work forgot the rest)/Resources/Midi_RemoteScripts/_generic/Devices/py. Guess this must be it.
That's the one :)
Regardless, thanks for all the research guys - I would LOVE to change the default Live device parameters - especially Sampler.
Me too! The Sampler mapping was unusable for sound design, that's actually why I even started this endeavor.
Also M4L's drumsynths. I just don't understand why Ableton made such odd decisions when we've got a total of 16 whole banks for each device to use, yet they only bothered using 8 at most. Rushed perhaps? Either way, I'm glad it's possible to change the default.
I wouldn't get my hopes up for M4L devices yet, they must be dealt with in some other file, as I don't find much about M4L in this one
On another note - maybe they can simply add a "configure" option like we have with VSTs - then we could easily set any Live device as we see fit without resorting to text files.
Agreed!!!

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Fri Oct 25, 2013 1:18 pm

So here is the promised Analog mapping.
Apart from being an awesome mapping :wink: ,
it would test if Live devices can populate more that 8 banks. So please test it, as I still can't without having Push.

People with a real code editor should have the advantage here, because they would see if I mistakingly introduced spacing errors. But I think it should be ok, so the others could also try. (Remember to back up the devices.pyc first though!)

Code: Select all

ALG_BANK1 = ('OSC1 Level', 'OSC1 Octave', 'OSC1 Semi', 'OSC1 Detune', 'OSC1 Shape', 'OSC1 Balance', 'PEG1 Amount', 'PEG1 Time')
ALG_BANK2 = ('F1 Type', 'F1 Freq', 'F1 Resonance', 'F1 To F2', 'FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel')
ALG_BANK3 = ('AMP1 Level'', 'AMP1 Pan', 'AEG1 S Time', 'AEG1 Loop', 'AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel')
ALG_BANK4 = ('LFO1 Shape', 'LFO1 Sync', 'LFO1 SncRate', 'LFO1 Speed', 'LFO1 PW', 'LFO1 Phase', 'LFO1 Delay', 'LFO1 Fade In')
ALG_BANK5 = ('OSC2 Level', 'OSC2 Octave', 'OSC2 Semi', 'OSC2 Detune', 'OSC2 Shape', 'OSC2 Balance', 'PEG2 Amount', 'PEG2 Time')
ALG_BANK6 = ('F2 Type', 'F2 Freq', 'F2 Resonance', 'F2 Slave', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK7 = ('AMP2 Level'', 'AMP2 Pan', 'AEG2 S Time', 'AEG2 Loop', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK8 = ('LFO2 Shape', 'LFO2 Sync', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 PW', 'LFO2 Phase', 'LFO2 Delay', 'LFO2 Fade In')
ALG_BANK9 = ('OSC1 < LFO', 'OSC1 PW', 'O1 PW < LFO', 'LFO1 On/Off', 'F1 Freq < LFO', 'F1 Res < LFO', 'A1 Pan < LFO', 'AMP1 < LFO')
ALG_BANK10 = ('OSC2 < LFO', 'OSC2 PW', 'O2 PW < LFO', 'LFO2 On/Off', 'F2 Freq < LFO', 'F2 Res < LFO', 'A2 Pan < LFO', 'AMP2 < LFO')
ALG_BANK11 = ('Noise On/Off', 'Noise Level', 'Noise Balance', 'Noise Color', 'O1 Sub/Sync', 'O2 Sub/Sync', 'F1 Drive', 'F2 Drive')
ALG_BANK12 = ('Vib On/Off', 'Vib Amount', 'Vib Speed', 'Vib Delay', 'Vib Error', 'Vib Fade-In', 'Vib < ModWh', 'Volume')
ALG_BANK13 = ('Unison On/Off', 'Unison Detune', 'Unison Delay, 'Unison Voices', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BOB = ('OSC1 Level', 'OSC1 Semi', 'OSC1 Balance', 'F1 Freq', 'OSC2 Level', 'OSC2 Semi', 'OSC2 Balance', 'F2 Freq')
ALG_BANKS = (ALG_BANK1,
 ALG_BANK2,
 ALG_BANK3,
 ALG_BANK4,
 ALG_BANK5,
 ALG_BANK6,
 ALG_BANK7,
 ALG_BANK8,
 ALG_BANK9,
 ALG_BANK10,
 ALG_BANK11,
 ALG_BANK12,
 ALG_BANK13)
ALG_BOBS = (ALG_BOB,)
ALG_BNK_NAMES = ('Oscillator 1', 'Filter 1', 'Amp 1', 'LFO 1', 'Oscillator 2', 'Filter 2', 'Amp 2', 'LFO 2', 'LFO 1 Routing', 'LFO 2 Routing', 'Noise Sub Drive', 'Vibrato', 'Unison Glide')

tedlogan
Posts: 1347
Joined: Thu Dec 20, 2012 7:23 pm
Location: Leamington Spa, UK
Contact:

Re: Undocumented Live device parameter names

Post by tedlogan » Fri Oct 25, 2013 2:43 pm

I see you can rename the banks as well. I can't wait to try these out sometime this weekend.

regretfullySaid
Posts: 8913
Joined: Thu Apr 22, 2010 5:50 pm

Re: Undocumented Live device parameter names

Post by regretfullySaid » Fri Oct 25, 2013 3:06 pm

An update to your last quote above:
ALG_BANK1 = ('OSC1 Level', 'OSC1 Octave', 'OSC1 Semi', 'OSC1 Detune', 'OSC1 Shape', 'OSC1 Balance', 'PEG1 Amount', 'PEG1 Time')
ALG_BANK2 = ('F1 Type', 'F1 Freq', 'F1 Resonance', 'F1 To F2', 'FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel')
ALG_BANK3 = ('AMP1 Level', 'AMP1 Pan', 'AEG1 S Time', 'AEG1 Loop', 'AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel')
ALG_BANK4 = ('LFO1 Shape', 'LFO1 Sync', 'LFO1 SncRate', 'LFO1 Speed', 'LFO1 PW', 'LFO1 Phase', 'LFO1 Delay', 'LFO1 Fade In')
ALG_BANK5 = ('OSC2 Level', 'OSC2 Octave', 'OSC2 Semi', 'OSC2 Detune', 'OSC2 Shape', 'OSC2 Balance', 'PEG2 Amount', 'PEG2 Time')
ALG_BANK6 = ('F2 Type', 'F2 Freq', 'F2 Resonance', 'F2 Slave', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK7 = ('AMP2 Level', 'AMP2 Pan', 'AEG2 S Time', 'AEG2 Loop', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK8 = ('LFO2 Shape', 'LFO2 Sync', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 PW', 'LFO2 Phase', 'LFO2 Delay', 'LFO2 Fade In')
ALG_BANK9 = ('OSC1 < LFO', 'OSC1 PW', 'O1 PW < LFO', 'LFO1 On/Off', 'F1 Freq < LFO', 'F1 Res < LFO', 'A1 Pan < LFO', 'AMP1 < LFO')
ALG_BANK10 = ('OSC2 < LFO', 'OSC2 PW', 'O2 PW < LFO', 'LFO2 On/Off', 'F2 Freq < LFO', 'F2 Res < LFO', 'A2 Pan < LFO', 'AMP2 < LFO')
ALG_BANK11 = ('Noise On/Off', 'Noise Level', 'Noise Balance', 'Noise Color', 'O1 Sub/Sync', 'O2 Sub/Sync', 'F1 Drive', 'F2 Drive')
ALG_BANK12 = ('Vib On/Off', 'Vib Amount', 'Vib Speed', 'Vib Delay', 'Vib Error', 'Vib Fade-In', 'Vib < ModWh', 'Volume')
ALG_BANK13 = ('Unison On/Off', 'Unison Detune', 'Unison Delay', 'Unison Voices', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BOB = ('OSC1 Level', 'OSC1 Semi', 'OSC1 Balance', 'F1 Freq', 'OSC2 Level', 'OSC2 Semi', 'OSC2 Balance', 'F2 Freq')
ALG_BANKS = (ALG_BANK1,
ALG_BANK2,
ALG_BANK3,
ALG_BANK4,
ALG_BANK5,
ALG_BANK6,
ALG_BANK7,
ALG_BANK8,
ALG_BANK9,
ALG_BANK10,
ALG_BANK11,
ALG_BANK12,
ALG_BANK13)
ALG_BOBS = (ALG_BOB,)
ALG_BNK_NAMES = ('Oscillator 1', 'Filter 1', 'Amp 1', 'LFO 1', 'Oscillator 2', 'Filter 2', 'Amp 2', 'LFO 2', 'LFO 1 Routing', 'LFO 2 Routing', 'Noise Sub Drive', 'Vibrato', 'Unison Glide')
A few lines had extra quotation marks. Notepad++ is a great free text editor that supports common programming languages
(The line changed color when there was an extra quotation). Replacing the Windows notepad with Notepad++ is a win imo.

Also I don't think this is exclusive to push, any user remote script should be referencing this one. Remember this is fom the "_Generic" folder, not the Push one :)
Last edited by regretfullySaid on Fri Oct 25, 2013 5:20 pm, edited 2 times in total.
ImageImage

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Fri Oct 25, 2013 3:52 pm

Yeah sorry for any mistakes, I don't have a code editor. (I'm on Mac, do you have a small and free suggestion?)

I'm aware that I change the default setting, but I should definitely stress that fact, once everything is working and I do my write up.

Did you try the code you quoted? It should give you the answer if more than 8banks are possible for Live devices!

regretfullySaid
Posts: 8913
Joined: Thu Apr 22, 2010 5:50 pm

Re: Undocumented Live device parameter names

Post by regretfullySaid » Fri Oct 25, 2013 4:11 pm

Right, well, the log is giving errors to related scripts ie GenericScript.py & GenericDeviceControl.py so I'm checking it out but can't play around for too much longer.

Ok, I was being stubborn and using my old laptop in bed instead of using 9 on my desktop :roll:

REWIND
ImageImage

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

Re: Undocumented Live device parameter names

Post by TomViolenz » Fri Oct 25, 2013 4:29 pm

shadx312 wrote:Right, well, the log is giving errors to related scripts ie GenericScript.py & GenericDeviceControl.py so I'm checking it out but can't play around for too much longer.
You mean they gave errors in your log, even though nobody messed with these files?
Strange! Maybe not all editors do all languages?

regretfullySaid
Posts: 8913
Joined: Thu Apr 22, 2010 5:50 pm

Re: Undocumented Live device parameter names

Post by regretfullySaid » Fri Oct 25, 2013 4:38 pm

No, its' not about editing it's about me being a stubborn idiot :oops:
ImageImage

Post Reply