Device Details

Device Overview

Name/Version: Button Parameter Mapper 1.0
Author: NickHydeViolin  
Description: Video:

The Button Parameter Mapper allows you to get more creative with Key/MIDI mappings in Ableton. Simply map this device to a parameter and you'll have 5 options for how to control it via button

Set: Set the parameter at a specific value.

Plus/Minus: Set the parameter at plus/minus the current value.

Toggle: Toggle the parameter between two values

Random: Give the mapped parameter a random value

Time: Move a mapped parameter over time, can be set in beats or ms, and can optionally start from a quantization downbeat.

This device has the option to only function when the track the device is loaded onto is currently selected. This means that I can Key/MIDI map to multiple instances of this device across many tracks, the buttons will function dynamically based on which device is currently selected. If this device is on track A, and mapped to parameter A, Track A's device won't work if Track B is selected. If I have a device on Track B mapped to parameter B, that device won't work if track A is selected. This means that you can map the same Key/MIDI to both buttons across both tracks, and change the behavior of the Key/MIDI dynamically, based on what track is selected.

This option can be turned on and off in the settings tab of the device

This device has two map modes: Object (non-takeover) and Remote (takeover). Remote (takeover) is what most other max for live devices use when mapping, because it's more CPU friendly and doesn't clog the undo history. Object (non-takeover) allows a user to control a parameter with the button, but also leaves it open to be controlled by other things... like more buttons. With object non-takeover mode, you can use multiple instances of this device to control a single parameter in a variety of ways. For example, button 1 can set a pitch dial at +12, button 2 can set the pitch dial at a random value, and button 3 could move the pitch dial from 0 to +12 over 4 bars.

This device has two parameter value modes: Numeric and percentage.

Numeric takes the mapped parameter's min and max values and displays them on a dial, allowing you to change a parameter's dials at specific intervals. For example, you may want to increment a MIDI pitch dial at +12 or -12 to create an octave pedal.

Percentage allows you to take over a parameter's value in terms of percentage. For example, you may want to push a button and move a filter knob from 70% to 30%. Because macros and other parameters sometimes give ranges of 0-127, using a percentage can allow you more flexibility and freedom to change parameters in precise ways.

This device has a save button. This device changes unit styles, parameter ranges, and other properties dynamically based on how a user wants to control a mapped parameter, and while parameter values are saved within a live set, parameter ranges and unit styles that are changed dynamically are NOT saved with a live set. This means that all these parameter attributes have to be saved via presets and dynamically recalled when live reopens. The preset saving happens automatically in the background every minute, every time you change the mapped parameter, and every time you hit the button.


- The button clogs the undo history. There is no (CPU friendly) fix, and I prioritized the CPU over the undo history. Buttons clogging the undo history is a long time issue with Max for Live devices


- Copying/pasting the device with non-takeover mode/percentage mode introduces a couple graphical bugs with the map button and the dial, though the device/button work perfectly as if copied and pasted

- Copying/pasting the device with remote takeover mode selected makes the device graphically appear as if the mapping was copied and pasted, but it wasn't. You can't have 2 devices controlling the same parameter via remote takeover

- Copying/pasting the device with object non-takeover mode selected makes the device map to the original device it was mapped to. This can be useful while copying and pasting in the same track and want a bunch of buttons controlling the same parameter. This however gets buggy if you copy/paste tracks, or save this device as part of a default track. This is because the device will always map back to the parameter it's mapped to when copied and pasted.

Update 6/15/20: Fixed a graphical bug that would hide the button's MIDI mapping info behind the button it was mapped to.


Device Details

Tags synth, sampler, lfo, effect, utility, other, hardware, dj
Live Version Used: 10.0.1
Max Version Used: 7.3.5
Date Added: Jun 12 2020 19:21:51
Date Last Updated: Jun 30 2020 05:10:06
Device Type: midi_device
Download URL (report link)
License (more info): Commercial


I have no idea how you were able to achieve this, but it it brilliant.

@itsBREX This is a story of one man's hard work, perseverance, vision, determination, and sweat. But mostly, his sweat.

@NickHydeViolin I love the device, just bought it today! But I'm running into some issues. When I duplicate a track with these buttons routed to some plugins in non-takeover mode, they don't follow the routing onto their new track. The devices are still linked to the plugin on the original track.

I'm trying to use these buttons to simplify my template. So I want to make routings with these buttons on my default MIDI and audio channels so that when I load a new channel up, the buttons are still linked to those VST's and do the functions I assigned them.

There's gotta be a way to fix this right? Or will I have to stick with takeover mode to make this work?

If anything, maybe if the device had multiple buttons or more than 2 values in toggle mode then I could stick with takeover mode.

@Proffett, thanks for your interest & purchasing! I can confirm that duplicating tracks does not preserve mapping for non-takeover mode, it links back to the original. The hackery I had to do to get non-takeover mode to work, and save with the live set, involved storing the ID of the parameter it was mapped to as a parameter itself (which also allows it to mimic the parameter it's mapped to).

Unfortunately, I don't think there's an easy fix. I will definitely update the description of the device with a bug/known issues section to include it though

I can't do anything I want to do with this because of the bugs :( this is exactly the device I'm looking for if the undo history wasn't clogged and I could deploy this thing across my whole template. Even at the cost of cpu and time, please try to make this thing work. multi map random With a button to random all at once . .. . problem is being able to undo when clicking through, once found something on the fly =) Not Present =(

This is great. One suggestion that would be huge would be the ability for a button to map to multiple single params. that would allow me to trigger multiple different buttons with a single press from a midi controller

The website says this isn't available and V2 is 'coming soon', is that still the case?

Login to comment on this device.

[ browse device library ]