Page 7 of 13

Re: Undocumented Live device parameter names

Posted: Sat Oct 26, 2013 1:17 pm
by TomViolenz
tedlogan wrote:OK Tom, and whoever else cares, I have excellent news!

Your Analog settings with 13 Banks works!

Great, gonna have to map my own devices some time, but your Analog setup at present is way better than the default Ableton one. I've set up my default MIDI track to contain: PushMidiClipTransposer - blank instrument rack with 5 empty chains. Now I can easily build and layer anything from Push by loading multiple Analogs, or whatever, into those, and tweak away. NO mouse or keyboard required (apart from the initial set up of course).

I love this thing. The potential is huge if you're willing to properly set it up. ANyway...I'm gonna go off and a tangent again...

Regarding your edit: that's exactly why I wanted the custom mapping so badly, I had a set up with Push in mind, where I can do EVERYTHING with the controller and Live devices (Well except go past 16Bars, I guess, maybe arrange view step sequencing in the future?) But I HAD to be able to do my own mapping.

Re: Undocumented Live device parameter names

Posted: Sat Oct 26, 2013 1:22 pm
by TomViolenz
metastatik wrote:Good to hear that some of your are achieving what you want here. To make it easier for others, here are some concise (and hopefully helpful) instructions on how to do this correctly for Live 9. For Live 8, you can use LIME.

First, there are a couple of locations you need to be aware of:
  • The location of the Devices.pyc file.
    • On Windows, it’s in one of the following locations:
      • Program Files\Ableton\Live 9.x.x\Resources\MIDI Remote Scripts\_Generic
      • ProgramData\Ableton\Live 9\Resources\MIDI Remote Scripts\_Generic
    • On OS X, go to Applications, find Ableton Live 9.app, right-click and select Show Package Contents. Then navigate to Contents/App-Resources/MIDI Remote Scripts/_Generic.
  • The location of Live's Log.txt file.
    • On Windows, you’ll need to ensure Hidden Files/Folders are shown as Log.txt is in a hidden folder. You’ll find Log.txt either in one of the following locations:
      • Documents and Settings\(your name)\Application Data\Ableton\Live 9.x.x\Preferences
      • Users\(your name)\AppData\Roaming\Ableton\Live 9.x.x\Preferences
    • On OS X, you’ll find Log.txt in (if you’re using OS X Lion or beyond and need help locating your Library folder, please see this article):
      Users\(your name)\Library\Preferences\Ableton\Live 9.x.x

Getting set up for editing:
  • Close Live.
  • Download and install an IDE. I’d recommend Wing 101, which is free and easy to use. This is needed/desirable because it will show you a errors you make while editing.
  • Back up the Devices.pyc file by just copying it and giving it a different (one word) name such as oldDevices.pyc. You should leave the back up in the _Generic folder.
  • Download the de-compiled Devices.py file.
  • Place the Devices.py file you downloaded in the same directory as oldDevices.pyc.
  • Launch Live and ensure that everything is still working. If not, take a look in your Log.txt file for Remote Script errors.
  • Note that, upon launching Live, your Devices.py file will be compiled and thus a Devices.pyc file will be created. You can not edit the *.pyc file, just the *.py file.

The editing process:
  • Use your IDE to edit the Devices.py file as you see fit. Don't make too many changes at once and make sure to pay attention to any errors the IDE points out.
  • After making changes, either re-launch Live or load a new set to test out your changes. If something isn't working, take a look in your Log.txt file for Remote Script errors.
  • It's also a good idea to test your changes with a variety of control surfaces, at the least the ones you personally use. However, you can also test with control surfaces you don't actually have by just selecting the control surfaces in Live's Preferences on the MIDI/Sync tab in the Control Surface section.
  • Once you're satisfied with your changes, copy your Devices.py file and paste somewhere outside of Live's MIDI Remote Scripts directory (in a User folder for example). This will protect it from getting overwritten when installing a new version of Live.

Other notes:
  • You can revert to the original device mapping, by deleting Devices.py and Devices.pyc and then renaming oldDevices.pyc back to Devices.pyc.
  • If you want to share your edited Devices.py with others, you should upload the file as opposed to posting the code you edited as text. Of course, you want to make sure to test it well before sharing.
  • Although changes to the Devices.pyc file are infrequent, they do occur and this could make it so your edited version no longer works. To guard against that, you should learn how to decompile *.pyc files. Unfortunately, explaining how to do it would violate Live's EULA, but it isn't difficult. Just Google it.
I can't possibly make a better write up than this!
So I will just update the title of this thread to point to this post.
You should consider changing your name to Prometheus: Bringing light to the masses!
:)

Re: Undocumented Live device parameter names

Posted: Sat Oct 26, 2013 1:25 pm
by tedlogan
I've just loaded into the blank rack - one of my own Sylenth presets (16 configured banks), one random Operator bass preset, and 2 analog random presets. And now I'm tweaking away, like the Push has become a MONSTER of synth. Forgot to mention - highly recommended to premap the empty chains' volumes to the macro knobs.

I think the next step is possibly to fill up the last 3 banks for Analog maybe with LFO routings, and then redo Operator to my liking.

EDIT: just seen your last post prior to pressing submit. I'm glad it's working out for you, even though you don't have Push yet, and I do hope you're gonna enjoy this thing as much as I do.

EDIT 2: Thanks Meta!

Re: Undocumented Live device parameter names

Posted: Sat Oct 26, 2013 1:53 pm
by TomViolenz
tedlogan wrote:I've just loaded into the blank rack - one of my own Sylenth presets (16 configured banks), one random Operator bass preset, and 2 analog random presets. And now I'm tweaking away, like the Push has become a MONSTER of synth. Forgot to mention - highly recommended to premap the empty chains' volumes to the macro knobs.

I think the next step is possibly to fill up the last 3 banks for Analog maybe with LFO routings, and then redo Operator to my liking.

EDIT: just seen your last post prior to pressing submit. I'm glad it's working out for you, even though you don't have Push yet, and I do hope you're gonna enjoy this thing as much as I do.

EDIT 2: Thanks Meta!
Hey see the second edit to my OP in this thread, I will finish doing my dream mapping for all my devices in a few days. I'll definitively share if you want it :-)

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 1:58 pm
by TomViolenz
I've just loaded into the blank rack - one of my own Sylenth presets (16 configured banks), one random Operator bass preset, and 2 analog random presets. And now I'm tweaking away, like the Push has become a MONSTER of synth.
Yeah, like one with recording capabilities of up to 16bars at a time. Scene recording is of course also possible. All without touching the mouse!
When one now changes to using 128s in Samplers, the whole thing becomes an almost fluid experience!!! 8O :D :twisted:

Re: Undocumented Live device parameter names

Posted: Sat Oct 26, 2013 2:01 pm
by tedlogan
TomViolenz wrote:
tedlogan wrote:I've just loaded into the blank rack - one of my own Sylenth presets (16 configured banks), one random Operator bass preset, and 2 analog random presets. And now I'm tweaking away, like the Push has become a MONSTER of synth. Forgot to mention - highly recommended to premap the empty chains' volumes to the macro knobs.

I think the next step is possibly to fill up the last 3 banks for Analog maybe with LFO routings, and then redo Operator to my liking.

EDIT: just seen your last post prior to pressing submit. I'm glad it's working out for you, even though you don't have Push yet, and I do hope you're gonna enjoy this thing as much as I do.

EDIT 2: Thanks Meta!
Hey see the second edit to my OP in this thread, I will finish doing my dream mapping for all my devices in a few days. I'll definitively share if you want it :-)
That will be much appreciated, and thanks everyone for all the work and advice. Now if only Ableton will roll out a configure panel for native Live devices and spare us all using text files. But then again, I do like the whole DIY approach, and it makes each Push unique.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:04 pm
by TomViolenz
I think the next step is possibly to fill up the last 3 banks for Analog maybe with LFO routings,
How do you save different LFO routings that you can access from the last 3 Pages of the mapping? That sounds very interesting.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:10 pm
by tedlogan
I dont' know yet - will check it out now. Because currently, with your Analog mappings, the LFO assigned parameters work and all, but they haven't been assigned a destination, so they have no audible effect.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:16 pm
by TomViolenz
tedlogan wrote:I dont' know yet - will check it out now. Because currently, with your Analog mappings, the LFO assigned parameters work and all, but they haven't been assigned a destination, so they have no audible effect.
That's one of the pages. I'm sure!!!

Edit: page 9 and 10! :idea:

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:20 pm
by tedlogan
balls, you're right, and it is working. I'm rushing into this a bit too fast it seems :)

anyways, nice one.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:26 pm
by tedlogan
One bug I've now noticed with racks and chains specifically - If you load up a racked VST preset (in this case Sylenth with 16 banks) into one of the chains, you cannot edit the configured parameters in the 16 banks - they don't show up (but the 16 banks do). This does not affect native Live devices/racks.

It works fine in Live 9.05 (just tested). Bug is in beta b.24

time to submit a bug report...

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:32 pm
by TomViolenz
tedlogan wrote:One bug I've now noticed with racks and chains specifically - If you load up a racked VST preset (in this case Sylenth with 16 banks) into one of the chains, you cannot edit the configured parameters in the 16 banks - they don't show up (but the 16 banks do). This does not affect native Live devices/racks.

It works fine in Live 9.05 (just tested). Bug is in beta b.24

time to submit a bug report...
Does this also happen without the changes? Could be a general bug.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 2:53 pm
by tedlogan
It happens without the changes. Here is my bug report at centercode:

This does not happen in Live 9.05, but does in b24:

The purpose is to set up an empty rack with multiple chains (4 in this case), so that one can load any instruments including VSTs directly from Push into the master rack. So parallel instruments.

Load instrument rack
Create empty chains
On Push, choose any chain, let's say chain 1 (doesn't matter)
Browse to my own VST presets, in this case Sylenth, (that I've beforehand mapped across 16 banks with Live's configure tool and grouped to an instrument rack) and load it into the chain.
When I want to dive deeper into the chain to get access to the parameters I've mapped, across 16 banks, I cannot select any of the banks via the selector buttons. I can only scroll along to the other banks (8-16) and back, but I cannot choose a bank. So only the macros for this one VST show on the LCD screen. I can dive out and choose another chain, and if it's a Live native device, like Analog, it works just fine.

Basically, VST racks within a "master rack" cannot be tweaked via parameters in banks from Push.

Anyway, this is not that much related to this thread, so I'll take this up further at the Beta site.

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 3:07 pm
by TomViolenz
BTW Operator I had already done:
But hadn't considered trying more than 8 banks yet. But this is much enhanced already:
(Oscillator A is in the Best of Bank!)

Code: Select all

OPR_BANK1 = ('B Coarse', 'B Fine', 'Osc-B Level', 'Osc-B Wave', 'Be Attack', 'Be Decay', 'Be Sustain', 'Be Release')
OPR_BANK2 = ('C Coarse', 'C Fine', 'Osc-C Level', 'Osc-C Wave', 'Ce Attack', 'Ce Decay', 'Ce Sustain', 'Ce Release')
OPR_BANK3 = ('D Coarse', 'D Fine', 'Osc-D Level', 'Osc-D Wave', 'De Attack', 'De Decay', 'De Sustain', 'De Release')
OPR_BANK4 = ('Filter Type', 'Filter Freq', 'Filter Res', 'Fe Amount', 'Fe Attack', 'Fe Decay', 'Fe Sustain', 'Fe Release')
OPR_BANK5 = ('Pe Amount', 'Pe End', 'Pe Init', 'Pe Peak', 'Pe Attack', 'Pe Decay', 'Pe Sustain', 'Pe Release')
OPR_BANK6 = ('Osc-A < Pe', 'Osc-B < Pe', 'Osc-C < Pe', 'Osc-D < Pe', 'LFO < Pe', 'Pe Amt A', 'Pe Dst B', 'Pe Amt B')
OPR_BANK7 = ('LFO Type', 'LFO Range', 'LFO Rate', 'LFO Amt', 'Le Attack', 'Le Decay', 'Le Sustain', 'Le Release')
OPR_BANK8 = ('Osc-A < LFO', 'Osc-B < LFO', 'Osc-C < LFO', 'Osc-D < LFO', 'Filt < LFO', 'LFO Amt A', 'LFO Dst B', 'LFO Amt B')
OPR_BOB = ('A Coarse', 'A Fine', 'Osc-A Level', 'Osc-A Wave', 'Ae Attack', 'Ae Decay', 'Ae Sustain', 'Ae Release')
OPR_BANKS = (OPR_BANK1,
 OPR_BANK2,
 OPR_BANK3,
 OPR_BANK4,
 OPR_BANK5,
 OPR_BANK6,
 OPR_BANK7,
 OPR_BANK8)
OPR_BOBS = (OPR_BOB,)
OPR_BNK_NAMES = ('Oscillator B', 'Oscillator C', 'Oscillator D', 'Filter', 'Pitch Envelope', 'Pitch Destination', 'LFO', 'LFO Destination')

Re: Change Live devices default mapping in Push:on Page 7

Posted: Sat Oct 26, 2013 3:16 pm
by tedlogan
TomViolenz wrote:BTW Operator I had already done:
But hadn't considered trying more than 8 banks yet. But this is much enhanced already:
(Oscillator A is in the Best of Bank!)

Code: Select all

OPR_BANK1 = ('B Coarse', 'B Fine', 'Osc-B Level', 'Osc-B Wave', 'Be Attack', 'Be Decay', 'Be Sustain', 'Be Release')
OPR_BANK2 = ('C Coarse', 'C Fine', 'Osc-C Level', 'Osc-C Wave', 'Ce Attack', 'Ce Decay', 'Ce Sustain', 'Ce Release')
OPR_BANK3 = ('D Coarse', 'D Fine', 'Osc-D Level', 'Osc-D Wave', 'De Attack', 'De Decay', 'De Sustain', 'De Release')
OPR_BANK4 = ('Filter Type', 'Filter Freq', 'Filter Res', 'Fe Amount', 'Fe Attack', 'Fe Decay', 'Fe Sustain', 'Fe Release')
OPR_BANK5 = ('Pe Amount', 'Pe End', 'Pe Init', 'Pe Peak', 'Pe Attack', 'Pe Decay', 'Pe Sustain', 'Pe Release')
OPR_BANK6 = ('Osc-A < Pe', 'Osc-B < Pe', 'Osc-C < Pe', 'Osc-D < Pe', 'LFO < Pe', 'Pe Amt A', 'Pe Dst B', 'Pe Amt B')
OPR_BANK7 = ('LFO Type', 'LFO Range', 'LFO Rate', 'LFO Amt', 'Le Attack', 'Le Decay', 'Le Sustain', 'Le Release')
OPR_BANK8 = ('Osc-A < LFO', 'Osc-B < LFO', 'Osc-C < LFO', 'Osc-D < LFO', 'Filt < LFO', 'LFO Amt A', 'LFO Dst B', 'LFO Amt B')
OPR_BOB = ('A Coarse', 'A Fine', 'Osc-A Level', 'Osc-A Wave', 'Ae Attack', 'Ae Decay', 'Ae Sustain', 'Ae Release')
OPR_BANKS = (OPR_BANK1,
 OPR_BANK2,
 OPR_BANK3,
 OPR_BANK4,
 OPR_BANK5,
 OPR_BANK6,
 OPR_BANK7,
 OPR_BANK8)
OPR_BOBS = (OPR_BOB,)
OPR_BNK_NAMES = ('Oscillator B', 'Oscillator C', 'Oscillator D', 'Filter', 'Pitch Envelope', 'Pitch Destination', 'LFO', 'LFO Destination')
Cheers, and it works fine. Was just about to ask where the hell is Osc A until I reread you saying it's in the BoB. Now I've never hear of this bank until today screwing around with the .py files, and I assume it's the first 8 parameters that show up before you dive into the device. If this is so, then the BoB with this is Osc B. Or does the Best of Bank refer to something else?

Either way, I've never really gotten into Operator. The default Push mappings didn't help either. Your mappings (and just 8 banks so far) make a hell of a lot more sense, and man, this thing can get NASTY. would be great if the oscillator algorithm gets mapped. I am joining the church of Operator.