this post is to share my brand-new X-Touch MIDI Remote script: It serves as a replacement for the traditional Mackie Control remote device setup while retaining most of the functionality and enhancing it with X-Touch specific features (colored scribble strips etc.). I maintain the script in a GitHub repo where you can read up on and download it.
I hope it proofs useful to some of you! If you have any questions or suggestions, feel free to open a discussion or an issue over at GitHub or simply post here. And if you enjoy it and would like to do me a favor, consider giving the repository a star or buying me a coffee
Exactly, the colors are updated on push encoder mOnColorChange events. That is, they follow the track color of the track that the controlled value belongs to. For the EQ, Send, Plugin-In, and Instrument assignments that means all encoders share the color of the corresponding track. Sadly, the LEDs can not be dimmed, hence there are only 7 colors + black. I do a nearest-neighbor search based on the CIEDE2000 color difference algorithm to choose the color that matches the track color most closely.
Couldnāt detect any In this regard, I try to declutter MIDI output messages where possible (only sending fader values when the fader is released, only sending meter updates every 125 ms, ā¦).
Hey bjoluc
Finally!! I love what you did to shift the XTouch to the next level! Thank you so much for your work and for sharing it!
Thereās just one very important option Iām missing: Iād like to disable auto select when I touch a fader. Is there any way to switch auto select off like in Mackie Control?
Oh, I missed the part mentioning Device Setup > Mackie Control > Enable Auto Select in the manual. Iāll add a config flag for this in the script file.
@mat I just released an enableAutoSelect option in v1.2.0. Thanks for the feedback (writing this word in a Cubase forum inevitably triggers unintended associations )!
Iāve been trying this with my X-Touch one, and Iāve found that interestingly, a lot of it works - in fact, itās much better than the standard Mackie use - particularly as I can select any track in a project and the XT1 follows it (which is the main reason I love my Presonus Faderport). This is such a fantastic piece of work and I can see from the github repo that a lot of work has gone into it.
Obviously thereās a lot of extra functionality in there that isnāt appropriate for the XT1:
Buttons in the master section - there are quite a few less on the XT1, and theyāre in a different order
Faders (obviously!) - thereās only 1, but that follows OK at the moment
Any mode with multiple encoders being used
But that aside, it mostly works out of the box when I just change the MIDI device driver name to āX Touch Oneā at ~line 4083.
I have found one issue which I think may be a problem with the X Touch (i.e. the hardware you have) - and thatās the time display. It works perfectly in Bars/Beats mode, but when I put it into seconds, it works initially, and then the numbers turn back to the bars/beats representation (typically as they change dynamically as the track is played back). Unfortunately I donāt have a āfullā X-touch to compare this to, so I canāt tell if that happens on the āsupportedā hardware, but Iād suspect it does as they are both Mackie Control compatible? (or it could be an issue in the XT1).
Iāve forked the code on github and will look to modify it to remove the unneeded code and try to get the format correct (although itās only a cosmetic issue, I think it would be confusing for anyone else), but Iām not a JS developer and havenāt had much time to get started.
Thanks again for this, itās meant my XT1 has finally got dusted off and is being used!
@Darren.Jones Well, this is funny. I would never have expected this to work, but thinking about it, I guess the X-Touch One in MC mode just simulates a full MCU/X-Touchās behavior to work with the Mackie Control protocol. Searching the forum, I found multiple users struggling with this when writing MIDI Remote scripts.
Is the scribble strip colored? The full X-Touch in MC mode only accepts one joint SysEx message to send colors for all 8 displays, so I assume the X-Touch one āintelligentlyā maps the one channel to one of 8 āvirtualā channels. Thereās definitely some hacky magic involved
How do you assign encoders without the six Encoder Assign buttons? More magic!
Oh, the bundled script, so many lines? I guess most lines come from corejs polyfills. The original thing is here.
It works with the X-Touch, but I really canāt explain why it wouldnāt work with the X-Touch one. The relevant code is here.
Assuming that the X-Touch One in MC mode is one very sneaky impostor, I fear thereās not much unneeded code in there, except for some buttons and button bindings
Maybe you can also enhance the encoder assignments to better suit your needs.
Given youāre not used to JS development, you might need some help with the dev setup. If so, let me know (maybe via PM) and Iām happy to explain some things
The scribble strip is not coloured on the XT1 when using this script. I know it can be altered via MIDI (I did some of this when mucking about with it when I first got it), but not sure if it uses the same protocol as the XT. Would be nice for this to work, but definitely in the āniceā rather than ānecessaryā category.
As far as I know, it only works in Pan mode - certainly thatās all Iāve seen, and the overlay for Cubase says the same - turn for pan, and press for monitor on/off - both of which work.
Yes, I did take a look at that, and before I noticed the many differences I created a config option to select the XT1 and change that variable accordingly. But then I noticed the layout and other things, and thought it would become a bit over-complex (for me, anyway)ā¦
OK, I shall take a look and see whatās happening in there - thanks for pointing me in the right direction! This is probably the main area of functionality Iād like to get sorted on the XT1 as most of it is already pretty much as Iād want it - Iāve been using it all morning and itās been really good (particularly as the FaderPort has always had a bit of an issue with the record button debouncing).
TBH Iām happy with it just being pan; what I liked about the Faderport was that the fader was always the fader, and the pan was always the pan, so I donāt have to think about what mode it is in at any given point.
Thanks - I managed to get node and dependencies installed, and it builds OK on macOS, but errors out on Windows, so I may take you up on this, as Iād prefer to work on this on my Windows machine.
This is what I was searching for 3 years!!
Its impressive seeing all the color scribbles and changing faders 16 to 16 up and downā¦ Its what it should have been since the begining!
The only thing I miss is the āSolo Defeatā function as I was using it a lot. Hope Steinberg will add soon in recent updates of MidiRemote!
I was considering switching to Pro Tools in the next months but now I really want to stay in Cubase again
Oh, this one is actually my fault ā I misunderstood the buttonās default use: Currently, it toggles the channels āSolo Defeatā and resetās all channelsā solo status by shift-pressing it. I realize the default mapping resets solos without shift and resets mutes with shift. Going to fix this soon. The only thing thatās not going to work with this due to current API limitations is the buttonās LED reflecting the global solo/mute state.
@Kaushik - I will do soon! Iām not a JS developer, and as a result I spent a few hours on Friday slowly getting my head around the parts of the script that I need to modify - which is doubly complex as itās JS whose syntax I find unnatural, combined with it having lots of definitions and API calls to look up and understand.
The first release will probably just have the basics changed so you can get up and running with it, and ignore the incorrect layout on screen, as this was a big head-scratcher for me - each time I thought Iād made an improvement, I broke the script! So far Iāve managed to move the undo buttons to the correct row for the XT1 and remove the shifted pages, but the rest will have to wait until I have more free time.
Iāll let you know when thereās a release available.
@Darren.Jones , okay, take your time. Actually I have no idea about java scripting, so I am waiting for a infallible XT1 script from you, which would be really helpful to me.
Regards
Kaushik
@Darren.Jones Iām guessing that makes sense, given that the XT1 needs all 8 channels in MC mode. If you plan to put more work into this and get rid of the extra channels, maybe dropping the Mackie Control protocol and switching to Standard MIDI Mode is an option? You may still be able to base it on my script then if you rework the MIDI binding a bit. Happy to help (donāt own an XT1, but we could set up a hacking session via Live Share at some point).
Does here anybody uses ever the jogg Wheel?
Personally I never use, cause for me its tedious to move scroll with it and its faster with + & - numeric keyboard.
Do you know If I can edit someway to get the using the JoggWheel of the XTOUCH as the VOLUME WHEEL of the CONTROL ROOM?
Its needed to edit on JS or could it be possible to assign visuallly?