together with a very nice soul (Jon), we managed to build a working midi remote control script for the Mackie C4 controller.
This is one example of what it looks like when using it:
I thought / hope that might be of interest to a couple of people here
For those not familiar with the MackieC4, it has 32 encoders/vpots with encoder rings and a corresponding display for all 32 encoders. If you manage to find one, they are also imo quite affordable (I paid 350€ for mine). Unfortunately the amount of characters per encoder display segment is limited to 6 (per line), but the script takes care of proper abbreviating.
You can also “bank” through pages of parameters, so for example the Wavetable instrument currently shows over a hundred parameters.
You’ll find further info at the Github repo, a couple of wiki pages on how to “install” and how to use (“manual”), lots of ideas and of course a couple of issues .
I / we are also looking for people interested in taking this to the next level, as the current code is mainly based on old-ish other scripts. So refactoring this to use the ControlSurface v2 class is one step in this direction, which imho could enable things like a step sequencer mode, or 32 volume channel etc etc.
I do welcome all collaborators!
Here's a copy and paste from the functionality wiki page:
At the moment the script supports 3 of the 4 possible modes, "chan strip", "track" and "function" mode.
"Chan strip" mode
Shows the current track and the devices currently on that track.
In Chan strip mode you can currently:
- edit the send amounts of the selected track,
- switch to a device via pressing one of the vpots in row 2
- bank to more devices, should you have more than 8 on a track
- the top row also allows you to fold and unfold group tracks. This also works for nested groups and tracks which are IN a group. Just press the vpot underneath fold / unfold group (only displayed if you are on a group track or grouped track)
- arm / unarm track
- mute / unmute track (for audio or group tracks)
- edit volume of track or group track
- edit panning
Shows the currently selected device, you can:
- - Switch devices by either "Slot up/down" when in Track mode, or go to chan strip mode and press one of the vpots in row 2. The currently selected device is displayed with its name in the top row display.
- All parameters of a device (which are exposed *), are shown on the lower 3 displays (in total 24) and can be edited by turning the vpots.
- If there is a default value given by the plug-in, pressing the vpot will select said default value. The top row will display the parameters name, the lower the parameter value. Also the encoder ring around each vpot will indicate the current value.
- If a device has more than 24 parameters, the top right display will indicate this with banking arrows. You can change parameter banks by either pressing the right most two vpots in top row or by the "Parameter/Bank" arrows. Currently a maximum of 128 parameters are supported.
The amount of characters that can be shown per parameter name /display segment is limited to 6 characters. An automatic abbreviation of the amount of characters is done.
This is for Song or Global toggles. Currently has 11 features for the top rows of vpot encoders. Pressing/Clicking them you can:
- - Follow / Unfollow Song
- Loop on / off
- switch between Clip view and Detail/Device view
- switch between Session and Arrangement view
- show / hide Live's browser panel
- unsolo all (if there are solo'd tracks)
- unmute all (if there are muted tracks)
- BTA / Back to arrangement
- undo (also of course multiple times, vpot and display show, if there's anything to undo)
- redo (also of course multiple times, vpot and display show, if there's anything to redo)
- overdub on/off check https://github.com/markusschloesser/Mac ... /issues/65 for current implementation status
'* not all plug-ins expose their parameters initially. Here's how to do that manually: Ableton - expose plug-in parameters. For m4l devices it is a bit more complicated. For that you need to open the device in maxforlive, go to "Parameters" and set the visibility of the parameter you want to "visible and automatable (or something like this) and then store the device.