|
Post by Stray on Mar 31, 2019 13:39:05 GMT -5
FIRST THINGS FIRSTAs covered in the Dynamic X-Control and X-OSC assignments topic in the Addendum section of the manual, it's possible to create dynamic assignments for X-Controls and X-OSCs by using Macros. However, that approach only works for one X-Control or X-OSC at a time. If you wanted to have multiple layers of functionality for a variety of X-Controls or X-OSCs that you can switch between via a set of mode selection buttons, that approach won't work very well. But, it could if we leverage the power of User Actions. I've created a User Action that does that called XMODE. To use it, close Live, download _user_actions.zip (1.22 KB), unzip it, place the folder it contains ( _user_actions) in Live's MIDI Remote Scripts directory and relaunch Live. Note that if you already have a _user_actions folder in Live's MIDI Remote Scripts directory, just copy the file named XModeAction.py from the folder you downloaded and place it in your existing _user_actions folder. Here's where you'll find Live's MIDI Remote Scripts directory: On Windows: ProgramData\Ableton\Live x\Resources\MIDI Remote ScriptsOn OS X, go to Applications, find Live.app or Ableton Live x.app, Control-click or right click on it and select Show Package Contents and then go to: Contents/App-Resources/MIDI Remote Scripts
|
|
|
Post by Stray on Mar 31, 2019 13:39:45 GMT -5
DEFINING YOUR X-CONTROLS
Note that this approach will work just as well for X-OSCs, but here I'll just describe how to do it for X-Controls. In X-Controls.txt, first define the buttons you'll be using for selecting modes. You can define as many as you like. For example:
mode_1_button = note, 1, 8, 0, 127, xmode 1 mode_2_button = note, 1, 9, 0, 127, xmode 2 mode_3_button = note, 1, 10, 0, 127, xmode 3 So, mode_1_button will trigger xmode with a value of 1 to select mode 1, mode_2_button will trigger xmode with a value of 2 to select mode 2 add so on.
Next, define the X-Controls you want to have multiple layers of functionality. Each should look something like this:
b1 = note, 1, 0, 0, 127, $b1$ So, b1 will trigger the Macro named $b1$. To keep things simple, the name of the X-Control and name of the Macro it triggers should be the same and should both be of the form bx where x is in any whole number.
Note that the User Action I created will work for up to 99 X-Controls. If you want to use more than that, in the _user_actions folder, open the file named XModeAction.py, find the line that reads:
NUM_X_CONTROLS = 100 And increase the value.
|
|
|
Post by Stray on Mar 31, 2019 13:41:04 GMT -5
DEFINING YOUR MACROS
For each X-Control, you'll define one Macro with the same name as the X-Control and then one Macro for each mode. For example, for 3 modes, your Macros would look something like this:
$b1_mode_1$ = mute $b1_mode_2$ = solo $b1_mode_3$ = arm $b1$ = $b1_mode_1$ The naming scheme here is important. Above are the names we would use for the Macros related to the X-Control named b1. These define that $b1$ will be assigned to $b1_mode_1$ by default and when mode_1_button is pressed, to $b1_mode_2$ when mode_2_button is pressed and $b1_mode_3$ when mode_3_button is pressed.
|
|
|
Post by robpiya on Mar 31, 2019 20:33:55 GMT -5
Thanks Stray! The shift and mode functionalities are definitely a welcome addition. The “endless possibilities” appear to be little bit of an understatement now...
|
|
|
Post by aehaem on Mar 31, 2019 23:31:43 GMT -5
Hey Stray, thank you very much, this is incredible!!!
|
|
|
Post by Stray on Apr 1, 2019 2:11:01 GMT -5
Good to hear guys!
|
|
|
Post by scarpolish on Apr 1, 2019 4:30:20 GMT -5
Can't wait to try this later today!
|
|
maninaloft
Junior Member
Life is beautiful.
Posts: 56
|
Post by maninaloft on Apr 1, 2019 13:12:50 GMT -5
Ditto! I'm going to assume I can set my X-controls as described to have sets of different functionality, but use X-OSC to to trigger the modes (1-3). Looking forward to trying this tonight!
|
|
|
Post by Stray on Apr 1, 2019 21:29:28 GMT -5
Yup, that's possible and you aren't limited to just 3 modes - you can have as many as you want.
|
|
|
Post by cliffhanger on Apr 10, 2019 17:57:44 GMT -5
Would/ Could midi output values of MidiActions store their last value when switching between modes ?
(Thanks so much for adding this functionality, which I'd been meaning to request for a while & for many uses.)
One use would be to convert my Beatstep into the multi-program controller I thought it was when I bought it..it seems the knobs transmit their previous value EVEN when switched to a different program with different CC assignments. It seems there is NO memory to store the knob values of each program .
So I wondered if I could use this new MODES functionality to build "the internals " of my own truly Multi-program BeatStep controller : so using the physical knobs & buttons of the Beatstep as my X-controls with each Mode assigning an array of ClyphX pro midi actions . However to overcome the same seeming limitation of the original it would need ClyphX to store the midi values in each array to avoid parameter jumps when switching between MODES. Is this possible currently or could it be added to the MODES functionality for X-Control > Midiaction assignments ? thanks .
|
|
|
Post by Stray on Apr 11, 2019 9:52:30 GMT -5
Sorry, I'm not entirely sure what you're looking for here. Can you give me a bit more info? If the knobs in question could result in parameter jumps though, that would typically mean that they send absolute values and so couldn't be properly used as X-Controls. You'd use the bindings accessory for those. In that case, the knobs would be sent the proper value any time the parameter they were bound to changed.
|
|
|
Post by cliffhanger on Apr 11, 2019 10:20:33 GMT -5
sorry for lack of clarity - I was hoping to improve multi - BANK midi note/cc output of BeatStep , so sending ClyphX Midi Action midi output data to control midi hardware ( rather than bindings) . You are supposed to be able to assign different parameters to e.g knob1 in the 16 different banks , but ( at least with absolute values as you deduced ) , switching banks & turning knob 1 produces a jump from previous value in previous bank . As a user also of Novation hardware I know the firmware includes value storage & pickup algorithms for each template so you can switch between them without parameter jumps . I was hoping the new MODE functionality would or could ? have last value storage & pickup functionality included for the midi values . I hope the explanation is clearer , & it could be possible ?
|
|
|
Post by Stray on Apr 11, 2019 10:36:24 GMT -5
Not sure how you're using knobs as X-Controls to send Midi Actions. Anyhow, you could use Midi Racks for that instead and use the binding accessory to bind your knobs to the macros of those Midi Racks. In that case, Live would handle takeover.
Also, you wouldn't switch between banks on the controller. Instead, you'd set up some buttons as X-Controls to trigger BIND actions to bind your knobs to different Midi Racks.
If that isn't clear enough, please create another thread on the topic as it's a bit different than the topic of this thread.
|
|
|
Post by rickywander on Jul 24, 2019 8:52:45 GMT -5
For shure I have a lack of knodledge about Clyphx, I am trying to improve. :-) Hope this question make sense.
Is it possible to trigger an XMode from an already used for binding XClip instead of a button?
I would like to recall some bindings and XModes at the same time by pushing just one button.
I am buildin a MultiFX with store/recall preset and morphing function. I'll try here to explain the way I am building it.
In my project right now I am using only bindings but, as I need to trigger some Actions from XClips with the newly binded Knobs, I inserted into the project a MAX device which turns controls into Xclip playing status. I would like a more "elegant" solution and dont want to use such a Max device.
Let'assume that I have four button 1-2-3-4. and 4 knobs in my controller. Let's also assume that my Multi Fx has 16 exposed parameter (2 banks of 8 each). Button 1 and 2 goes up and down the 4 possible binding (4 bindings x 4 Knobs, total 16 remoteable parameters). At the same time the button 3 and 4 (also binded) will remote the preset up and down scrolling of the choosen Fx (presets are all Snaps on certain tracks) with the use of a Max device which turn controls into Xclips playing status.
I cannot use only Xmode for all the tasks because I am using OSC external display to show the binded effect on Touch OSC which is fantastic.
If you want I could attach the project itself if this will not take to you too much time to you to open it and check.
Thanks in advance for your precious help.
|
|
|
Post by Stray on Jul 25, 2019 5:44:52 GMT -5
I'm not sure that I follow what you're asking. In general though, the macros that you set up for use with XMODE can trigger any actions you want including BIND actions. Would that suit what you're looking to do here?
|
|