Change the parameter mapping of Lives own devices in Push!

Discuss Push with other users.
Post Reply
noiseresistance
Posts: 21
Joined: Wed Aug 13, 2014 6:28 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by noiseresistance » Wed Aug 13, 2014 7:27 pm

TomViolenz wrote:I don't understand your question though.
:oops:

Sorry for my bad english. You already answered my questions. Thx.
To make things clear: I tried to ask if it's worth to learn how to write scripts for Push. I'm afraid that I need to write a new script for every single Live update.

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

Re: Change the parameter mapping of Lives own devices in Push!

Post by TomViolenz » Wed Aug 13, 2014 9:05 pm

You don't need to write any script, just install our file. I'm confident it will stay functional, since this does not seem to be an area of heavy construction for Ableton.

What you may have to do is to reinstall this hack after every update though, because these files often get overwritten. So save a copy in a secure location.

noiseresistance
Posts: 21
Joined: Wed Aug 13, 2014 6:28 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by noiseresistance » Fri Aug 15, 2014 5:02 pm

A great thank you to TomViolenz, shadx312, tedlogan, metastatik and anybody who was involved to figure out how the mappings is changeable. I appreciate your effort

After all the previous work you did, it seems simple to change the devices.py to my own needs.

Also I think the parameter mapping isn't done, some handy assignment and the one or another parameter is missing.

At the moment I did some changes for 'Analog' I added 5 Banks and re-arranged the banks a bit.

I think at the weekend I will get deeper in the bank assignment and will see what I would change.

EDIT: The changes doesn't work. Can someone say why? I checked the code via Wing IDE and no error came up. Other changes I did (EQ8/Sampler) working fine

Code: Select all

ALG_BANK1 = ('OSC1 Level', 'OSC1 Octave', 'OSC1 Semi', 'OSC1 Detune', 'OSC1 Shape', 'OSC1 Balance', 'PEG1 Amount', 'PEG1 Time')
ALG_BANK2 = ('AMP1 Level', 'AMP1 Pan', 'AEG1 S Time', 'AEG1 Loop', 'AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel')
ALG_BANK3 = ('F1 Type', 'F1 Freq', 'F1 Resonance', 'F1 To F2', 'FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel')
ALG_BANK4 = ('F1 Freq < Env', 'F1 Freq < Key', 'F1 Freq < LFO', 'F1 Res < Env', 'F1 Res < LFO', 'F1 Reso < Key', 'F1 Type', 'F1 Drive')
ALG_BANK5 = ('LFO1 Shape', 'LFO1 Sync', 'LFO1 SncRate', 'LFO1 Speed', 'LFO1 PW', 'LFO1 Phase', 'LFO1 Delay', 'LFO1 Fade In')
ALG_BANK6 = ('OSC1 < LFO', 'OSC1 PW', 'O1 PW < LFO', 'LFO1 On/Off', 'F1 Freq < LFO', 'F1 Res < LFO', 'A1 Pan < LFO', 'AMP1 < LFO')
ALG_BANK7 = ('OSC2 Level', 'OSC2 Octave', 'OSC2 Semi', 'OSC2 Detune', 'OSC2 Shape', 'OSC2 Balance', 'PEG2 Amount', 'PEG2 Time')
ALG_BANK8 = ('AMP2 Level', 'AMP2 Pan', 'AEG2 S Time', 'AEG2 Loop', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK9 = ('F2 Type', 'F2 Freq', 'F2 Resonance', 'F2 To F2', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK10 = ('F2 Freq < Env', 'F2 Freq < Key', 'F2 Freq < LFO', 'F2 Res < Env', 'F2 Res < LFO', 'F2 Reso < Key', 'F2 Type', 'F2 Drive')
ALG_BANK11 = ('LFO2 Shape', 'LFO2 Sync', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 PW', 'LFO2 Phase', 'LFO2 Delay', 'LFO2 Fade In')
ALG_BANK12 = ('OSC2 < LFO', 'OSC2 PW', 'O2 PW < LFO', 'LFO2 On/Off', 'F2 Freq < LFO', 'F2 Res < LFO', 'A2 Pan < LFO', 'AMP2 < LFO')
ALG_BANK13 = ('Noise On/Off', 'Noise Level', 'Noise Balance', 'Noise Color', 'O1 Sub/Sync', 'O2 Sub/Sync', 'F1 Drive', 'F2 Drive')
ALG_BANK14 = ('Voices', 'Key Priority', 'Key Stretch', 'Key Error', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BANK15 = ('Unison On/Off', 'Unison Detune', 'Unison Delay', 'Unison Voices', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BANK16 = ('Vib On/Off', 'Vib Amount', 'Vib Speed', 'Vib Delay', 'Vib Error', 'Vib Fade-In', 'Vib < ModWh', 'Volume')
ALG_BANK17 = ('Noise On/Off', 'OSC2 On/Off', 'F1 On/Off', 'F2 On/Off', 'AMP1 On/Off', 'AMP2 On/Off', 'LFO1 On/Off', 'LFO2 On/Off')
ALG_BANK18 = ('OSC1 Level', 'OSC1 Balance', 'F1 To F2', 'OSC2 Level', 'OSC2 Balance', 'Noise Level', 'Noise Balance', 'Volume')
ALG_BANK19 = ('PEG1 Amount', 'PEG1 Time', 'OSC1 Semi', 'OSC1 Level', 'PEG2 Amount', 'PEG2 Time', 'OSC2 Semi', 'OSC2 Level')
ALG_BANK20 = ('AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK21 = ('FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK22 = ('F1 Freq < Env', 'F1 Freq < LFO', 'F1 Res < Env', 'F1 Res < LFO', 'F2 Freq < Env', 'F2 Freq < LFO', 'F2 Res < Env', 'F2 Res < LFO')
ALG_BANK23 = ('LFO1 SncRate', 'LFO1 Speed', 'LFO1 Fade In', 'LFO1 Phase', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 Fade In', 'LFO2 Phase')
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_BANK14,
ALG_BANK15,
ALG_BANK16,
ALG_BANK17,
ALG_BANK18,
ALG_BANK19,
ALG_BANK20,
ALG_BANK21,
ALG_BANK22,
ALG_BANK23)
ALG_BOBS = (ALG_BOB,)
ALG_BNK_NAMES = ('Osc1', 'Amp1', 'Filter1', 'FiltMod1', 'LFO1', 'LFO1Rout', 'Osc2', 'Amp2', 'Filter2', 'FiltMod2', 'LFO2', 'LFO2Rout', 'NsSubDrv', 'Voice' 'UniGlide', 'Vibrato', 'ON/OFF', Mixer, '2Osc' '2AmpEnv.', '2FiltEnv.', '2FiltMod.', '2LFOs')

Sorry for my bad english

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

Re: Change the parameter mapping of Lives own devices in Push!

Post by tedlogan » Fri Aug 15, 2014 6:27 pm

noiseresistance wrote:A great thank you to TomViolenz, shadx312, tedlogan, metastatik and anybody who was involved to figure out how the mappings is changeable. I appreciate your effort

After all the previous work you did, it seems simple to change the devices.py to my own needs.

Also I think the parameter mapping isn't done, some handy assignment and the one or another parameter is missing.

At the moment I did some changes for 'Analog' I added 5 Banks and re-arranged the banks a bit.

I think at the weekend I will get deeper in the bank assignment and will see what I would change.

EDIT: The changes doesn't work. Can someone say why? I checked the code via Wing IDE and no error came up. Other changes I did (EQ8/Sampler) working fine

Code: Select all

ALG_BANK1 = ('OSC1 Level', 'OSC1 Octave', 'OSC1 Semi', 'OSC1 Detune', 'OSC1 Shape', 'OSC1 Balance', 'PEG1 Amount', 'PEG1 Time')
ALG_BANK2 = ('AMP1 Level', 'AMP1 Pan', 'AEG1 S Time', 'AEG1 Loop', 'AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel')
ALG_BANK3 = ('F1 Type', 'F1 Freq', 'F1 Resonance', 'F1 To F2', 'FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel')
ALG_BANK4 = ('F1 Freq < Env', 'F1 Freq < Key', 'F1 Freq < LFO', 'F1 Res < Env', 'F1 Res < LFO', 'F1 Reso < Key', 'F1 Type', 'F1 Drive')
ALG_BANK5 = ('LFO1 Shape', 'LFO1 Sync', 'LFO1 SncRate', 'LFO1 Speed', 'LFO1 PW', 'LFO1 Phase', 'LFO1 Delay', 'LFO1 Fade In')
ALG_BANK6 = ('OSC1 < LFO', 'OSC1 PW', 'O1 PW < LFO', 'LFO1 On/Off', 'F1 Freq < LFO', 'F1 Res < LFO', 'A1 Pan < LFO', 'AMP1 < LFO')
ALG_BANK7 = ('OSC2 Level', 'OSC2 Octave', 'OSC2 Semi', 'OSC2 Detune', 'OSC2 Shape', 'OSC2 Balance', 'PEG2 Amount', 'PEG2 Time')
ALG_BANK8 = ('AMP2 Level', 'AMP2 Pan', 'AEG2 S Time', 'AEG2 Loop', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK9 = ('F2 Type', 'F2 Freq', 'F2 Resonance', 'F2 To F2', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK10 = ('F2 Freq < Env', 'F2 Freq < Key', 'F2 Freq < LFO', 'F2 Res < Env', 'F2 Res < LFO', 'F2 Reso < Key', 'F2 Type', 'F2 Drive')
ALG_BANK11 = ('LFO2 Shape', 'LFO2 Sync', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 PW', 'LFO2 Phase', 'LFO2 Delay', 'LFO2 Fade In')
ALG_BANK12 = ('OSC2 < LFO', 'OSC2 PW', 'O2 PW < LFO', 'LFO2 On/Off', 'F2 Freq < LFO', 'F2 Res < LFO', 'A2 Pan < LFO', 'AMP2 < LFO')
ALG_BANK13 = ('Noise On/Off', 'Noise Level', 'Noise Balance', 'Noise Color', 'O1 Sub/Sync', 'O2 Sub/Sync', 'F1 Drive', 'F2 Drive')
ALG_BANK14 = ('Voices', 'Key Priority', 'Key Stretch', 'Key Error', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BANK15 = ('Unison On/Off', 'Unison Detune', 'Unison Delay', 'Unison Voices', 'Glide On/Off', 'Glide Time', 'Glide Legato', 'Glide Mode')
ALG_BANK16 = ('Vib On/Off', 'Vib Amount', 'Vib Speed', 'Vib Delay', 'Vib Error', 'Vib Fade-In', 'Vib < ModWh', 'Volume')
ALG_BANK17 = ('Noise On/Off', 'OSC2 On/Off', 'F1 On/Off', 'F2 On/Off', 'AMP1 On/Off', 'AMP2 On/Off', 'LFO1 On/Off', 'LFO2 On/Off')
ALG_BANK18 = ('OSC1 Level', 'OSC1 Balance', 'F1 To F2', 'OSC2 Level', 'OSC2 Balance', 'Noise Level', 'Noise Balance', 'Volume')
ALG_BANK19 = ('PEG1 Amount', 'PEG1 Time', 'OSC1 Semi', 'OSC1 Level', 'PEG2 Amount', 'PEG2 Time', 'OSC2 Semi', 'OSC2 Level')
ALG_BANK20 = ('AEG1 Attack', 'AEG1 Decay', 'AEG1 Sustain', 'AEG1 Rel', 'AEG2 Attack', 'AEG2 Decay', 'AEG2 Sustain', 'AEG2 Rel')
ALG_BANK21 = ('FEG1 Attack', 'FEG1 Decay', 'FEG1 Sustain', 'FEG1 Rel', 'FEG2 Attack', 'FEG2 Decay', 'FEG2 Sustain', 'FEG2 Rel')
ALG_BANK22 = ('F1 Freq < Env', 'F1 Freq < LFO', 'F1 Res < Env', 'F1 Res < LFO', 'F2 Freq < Env', 'F2 Freq < LFO', 'F2 Res < Env', 'F2 Res < LFO')
ALG_BANK23 = ('LFO1 SncRate', 'LFO1 Speed', 'LFO1 Fade In', 'LFO1 Phase', 'LFO2 SncRate', 'LFO2 Speed', 'LFO2 Fade In', 'LFO2 Phase')
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_BANK14,
ALG_BANK15,
ALG_BANK16,
ALG_BANK17,
ALG_BANK18,
ALG_BANK19,
ALG_BANK20,
ALG_BANK21,
ALG_BANK22,
ALG_BANK23)
ALG_BOBS = (ALG_BOB,)
ALG_BNK_NAMES = ('Osc1', 'Amp1', 'Filter1', 'FiltMod1', 'LFO1', 'LFO1Rout', 'Osc2', 'Amp2', 'Filter2', 'FiltMod2', 'LFO2', 'LFO2Rout', 'NsSubDrv', 'Voice' 'UniGlide', 'Vibrato', 'ON/OFF', Mixer, '2Osc' '2AmpEnv.', '2FiltEnv.', '2FiltMod.', '2LFOs')

Sorry for my bad english
If you have just one error/typo, then the whole script fails to load. I spot one error in your modfication, In ALG_BNK_NAMES = ...after 'Voice' you forgot to place the comma ","

EDIT: and a bit further you forgot to place the two ' ' before and after Mixer

EDIT 2: and you need a comma after 2Osc a bit further after that.

noiseresistance
Posts: 21
Joined: Wed Aug 13, 2014 6:28 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by noiseresistance » Fri Aug 15, 2014 6:36 pm

tedlogan wrote:If you have just one error/typo, then the whole script fails to load. I spot one error in your modfication, In ALG_BNK_NAMES = ...after 'Voice' you forgot to place the comma ","

EDIT: and a bit further you forgot to place the two ' ' before and after Mixer

EDIT 2: and you need a comma after 2Osc a bit further after that.
:oops: I should not work on this at 2:00 am. Funny that Wing IDE did not show any errors. So I stick with notepad++ coffee and more concentration.

Thank you


snappyass
Posts: 60
Joined: Sat Jan 04, 2014 1:40 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by snappyass » Sun Jan 04, 2015 11:28 am

superb :D

rotlaub
Posts: 3
Joined: Tue Feb 24, 2015 5:17 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by rotlaub » Tue Feb 24, 2015 5:44 pm

Hi there everybody,

I just stumbled over this fantastic way to remap Push-parameters and it works really well.

However, I have two questions concerning TomViolenz' original script: Why do banks 15-18 repeat what was included beforehand in other banks? For example: FEG1 ADSR controls seem to appear twice. Once in bank2 and later on in bank15 again. Can I just delete these banks from the scirpt?

2nd question: I would like to modify the script - it would be nice to control "Filter Envelope Amount" via Push. Can I just insert 'F1 Env' instead of something else in the script? Is it that easy (how do I know the correct name for the paramter I want to change)?
Sorry in advance, I havn't done any programming yet, but I am willing to learn.

Thanks a lot!

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

Re: Change the parameter mapping of Lives own devices in Push!

Post by TomViolenz » Tue Feb 24, 2015 6:00 pm

rotlaub wrote:Hi there everybody,

I just stumbled over this fantastic way to remap Push-parameters and it works really well.

However, I have two questions concerning TomViolenz' original script: Why do banks 15-18 repeat what was included beforehand in other banks? For example: FEG1 ADSR controls seem to appear twice. Once in bank2 and later on in bank15 again. Can I just delete these banks from the scirpt?

2nd question: I would like to modify the script - it would be nice to control "Filter Envelope Amount" via Push. Can I just insert 'F1 Env' instead of something else in the script? Is it that easy (how do I know the correct name for the paramter I want to change)?
Sorry in advance, I havn't done any programming yet, but I am willing to learn.

Thanks a lot!
1: Yes you can delete them if they bother you. (as long as you don't mess up the syntax - commas and shit matter ;-))
The reason though for having them repeated in this order was that I found that they brought parameters together on one encoder page that one might often want to control together. So first they show up where you control all parameters of that envelope and then they show up again in case you want to tune all the envelopes together.

2: filter envelope amount should be present with all the other filter envelope parameters.
But yes, go ahead and change the script and make it your own 8)

There are really no programming skills needed either. Just change the name in the correct syntax within the little 'x' brackets.
The correct name can be found out easily by assigning the parameter to a macro in a rack and copy whatever Live called that parameter.

Have fun 8)

rotlaub
Posts: 3
Joined: Tue Feb 24, 2015 5:17 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by rotlaub » Wed Feb 25, 2015 8:56 am

Cool, thanks for your quick reply. This is really handy.

Best!

Citizen
Posts: 798
Joined: Mon Jan 17, 2011 4:34 am

Re: Change the parameter mapping of Lives own devices in Push!

Post by Citizen » Mon May 04, 2015 3:29 am

fistikuffs wrote:Sorry to necro post but I have to say thanks, the mappings are flat out awesome! I have my Goldbaby samples in 128's from pre-Push times but I'm in the process of rebuilding as these mappings give me much more control with simpler ( not the instrument ), easy to build racks. Thanks a million dude!
I don't suppose you would be willing to share your process and mappings for someone who is about to being the process of creating 128s for all my samples?

:lol:

selthym
Posts: 381
Joined: Sat Oct 07, 2006 2:20 pm

Re: Change the parameter mapping of Lives own devices in Push!

Post by selthym » Thu Jun 18, 2015 1:57 pm

Reversing didn't work.

I followed the below instructions:
Reversal:
7: Shut down Live
8: Go to your program directory, right click on the Live 9 icon and choose "Show Package Content"
9: Go to: Contents/App-Resources/MIDI Remote Scripts/_Generic and rename the Devices.pyc file in it to customDevices.pyc
10: Rename the file defaultDevices.pyc that you named in step 3 to Devices.pyc
11: Restart Live (The default mappings should now be in place again)

I feel these are missing a step or possibly a typo… then again, it could be all my fault (Live was open when I started this but I closed it before I renamed defaultDevices.

What appears to have happened is that the community mapping Devices.py is not renamed in the above step. As a result I think the community map Devices.py recompiled back into Devices.pyc. as I renamed defaultDevices.pyc back to Devices.pyc, all I am left with is the community mapped version.

Can anyone upload the original Devices.py that I can download to save me reinstalling Live?

I am not a huge fan of the community mapped version in the way it is. I need to create a version that fits with my workflow. I generally like all oscillators in the same bank next to each other, then filter, then envelopes etc.

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

Re: Change the parameter mapping of Lives own devices in Push!

Post by tedlogan » Thu Jun 18, 2015 3:02 pm

I might be misunderstanding you, but it seems that you renamed the original Ableton file to a .pyc file, and not .py

defaultDevices.pyc (which I guess is your original file - mine I renamed to BACKUPDevices.pyc) must be renamed to Devices.py (no "c" at the end). This should recompile upon starting Live, and you should have the original half-assed mappings back, and now the file should read as Devices.pyc

Dunno if there's a typo in the instructions or not, could be - I've never reverted back to the old mappings, so maybe I'm talking bollocks.

You can edit the community .py file by the way, to suit your needs - I've made some changes to the default community mapping as well. Just open it with any simple text editor and cut&paste it so it's in an order you like. Sublime Text is a superb free text editor for this, highly recommended.

Most of the devices like Operator do have alternate banks though, where one bank would consist of just Oscillators, one of just envelopes etc.

Anyway, hope this helps.

schlocktober
Posts: 32
Joined: Sat Mar 26, 2011 6:51 am

Re: Change the parameter mapping of Lives own devices in Push!

Post by schlocktober » Thu Jun 18, 2015 10:40 pm

I'd really like to download the community mapping everybody seems to love so much, however I'm having two possibly related issues.

1. The links in the original post are to the least trustworthy looking download site I've ever seen. A whole bunch of pop-ups and the page just resets when you click "download." This may have been addressed somewhere in this thread; I can't tell because,

2. All of Tom's posts after the first one are just a "-" followed by his signature. If he's posted an updated link, I can't see it.

Does somebody have a good link to the mapping? Is anybody else having an issue with missing posts on these boards?

Edit: Just noticed I can see Tom's post at the top of page 7, but not anything between that and his original post.
Last edited by schlocktober on Thu Jun 18, 2015 11:12 pm, edited 1 time in total.

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

Re: Change the parameter mapping of Lives own devices in Push!

Post by tedlogan » Thu Jun 18, 2015 11:07 pm

1 - the link is safe, apart from the annoying popups. Enter the text in the box and then click download. Wait for the 10 seconds to finish counting down. click download again. Save the file to disk and follow the instructions.

2 - long ago, Tom decided to erase all his input from these forums for personal reasons, hence old posts reading as just "-". He has since returned, and you can see in his recent post history that he is still very much active, and that the blanked posts are nothing to concern yourself with.

That link is the original one, nothing to worry about.

Post Reply