Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old Yesterday, 05:42 AM   #18521
Puck
Human being with feelings
 
Puck's Avatar
 
Join Date: Feb 2022
Location: Almost Canada
Posts: 255
Default

Quote:
Originally Posted by AtmanActive View Post
My iPad mixer, some 90% complete:

https://atmanactive.me.uk/temp/AA_iPad_Mixer_v0.9.1.JPG

Big thanks to Geoff Waddington, Funkybot and MixMonkey. Without your work this wouldn't be possible.
Looking great! Nice job! ď-SoloĒ for ClearAllSolo is smart! (Well I assume thatís what itís for)

I pmíd you a while back when you mentioned you were doing this to see if you wanted to see my OSC layout. Im sure you just didnít see the message. Iíve been working on mine for way too long Nice to see you made quick work of yours!
Puck is offline   Reply With Quote
Old Yesterday, 05:46 AM   #18522
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 478
Default

Quote:
Originally Posted by MixMonkey View Post
Looking very nice!
Thanks!
You deserve half of the credit, you gave me solid foundation to build upon. If I had to start from scratch this thing would take years.

Quote:
Originally Posted by MixMonkey View Post
Increasing the size of the buttons obviously aids usability
I had to. My meaty fingers couldn't comfortably pinpoint elements smaller than 50px≤ on a 10" tablet. I was test driving your build for weeks and, of course, whenever I wanted to, for example, solo a track and hit mute instead, the frustration grew bigger, until a point where I decided to do my own remix.

Quote:
Originally Posted by MixMonkey View Post
do you have any plans for the FX section? on another page perhaps?
I deliberatly limited myself concerning few things: no rec-arm for tracks and no FX control beside simple view/open/bypass. My use case is for mixing aid next to my big monitor where arrange/TCP is running.

Quote:
Originally Posted by MixMonkey View Post
Incidentally, credit must also go to @puck, I used several of his ideas in the mixer.
Thank you @Puck!

Last edited by AtmanActive; Yesterday at 06:00 AM.
AtmanActive is online now   Reply With Quote
Old Yesterday, 05:51 AM   #18523
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 478
Default

Quote:
Originally Posted by Puck View Post
I pmíd you a while back when you mentioned you were doing this to see if you wanted to see my OSC layout.
Argh, I apologize, Forum's new-private-message-notification is completely broken on my browsers. Now that you told me, now I see it sitting there in the top left corner.
AtmanActive is online now   Reply With Quote
Old Yesterday, 06:01 AM   #18524
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 3,311
Default

Quote:
Originally Posted by AtmanActive View Post
I had to. My meaty fingers couldn't comfortably pinpoint elements smaller than 50px≤ on a 10" tablet. I was test driving your build for weeks and, of course, whenever I wanted to, for example, solo a track and hit mute instead, the frustration grew bigger, until a point where I decided to do my own remix.
I hear that! I started by working out the smallest button I could reliably push, but this really only applies if you're holding the tablet. If you put it on a stand further away from you, the buttons (and text) need to be larger.

I confess my motivation for building it in the first place was less as a production tool and more as a way of testing CSI features/builds/ideas without needing to power up the studio to do it, just using the laptop and iPad. I'm glad it's been helpful in building something more useful

Quote:
I deliberatly limited myself concerning few things: no rec-arm for tracks and no FX control beside simple view/open/bypass. My use case is for mixing aid next to my big monitor where arrange/TCP is running.
...and this is the key to success. Work out what you need the thing to do first and just implement that. Otherwise all you'll do is endlessly second guess yourself.
MixMonkey is offline   Reply With Quote
Old Yesterday, 06:23 AM   #18525
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 8,134
Default

Quote:
Originally Posted by AtmanActive View Post
Very tasty indeed !
__________________
To install you need the Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old Yesterday, 07:24 AM   #18526
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 478
Default Touch Modifier many-to-one relation



I really hate to be that guy, but it seems like I always stumble upon something that's not working as I imagine it should after reading the docs (wiki).

Please note: I just need to dump it here so it's not stuck in my brain. This doesn't mean I want to complain or request stuff. It is just a record of my experience.

With that out of the way, here we go:

So, reading about modifiers, and about Touch, I got the idea to build a dedicated display to show the full track name while the fader is being touched.

First I tried (many-to-one):
Code:
Zone "Track"
  Fader|Touch+TouchedTrackName TrackNameDisplay
but that didn't work. What I've noticed is that only "Track 1" was shown on the display, but no other tracks. OK, I'm obviously expecting too much, moving on.

Then I tried (one-to-one):
Code:
Zone "Track"
  Fader|Touch+TouchedTrackName| TrackNameDisplay
Code:
Widget TouchedTrackName1
    FB_Processor /TouchedTrackName1
WidgetEnd

Widget TouchedTrackName2
    FB_Processor /TouchedTrackName2
WidgetEnd
...
with hidden displays in TouchOSC and using LOCAL message type to forward the information to a special, visible label element.
That didn't work either. It works once when I first touch the fader, but never again after that.
My suspicion is that CSI caches the value of displays and doesn't update them when the value doesn't change. And, on the other hand, there is no Touch-OFF hook so I can't reset the value in any way.

So my idea of Touch Modifier many-to-one relation is, for now, dead in the water.
Unless I'm missing something?
AtmanActive is online now   Reply With Quote
Old Yesterday, 08:46 AM   #18527
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 8,134
Default

Quote:
Originally Posted by AtmanActive View Post


I really hate to be that guy, but it seems like I always stumble upon something that's not working as I imagine it should after reading the docs (wiki).

Please note: I just need to dump it here so it's not stuck in my brain. This doesn't mean I want to complain or request stuff. It is just a record of my experience.

With that out of the way, here we go:

So, reading about modifiers, and about Touch, I got the idea to build a dedicated display to show the full track name while the fader is being touched.

First I tried (many-to-one):
Code:
Zone "Track"
  Fader|Touch+TouchedTrackName TrackNameDisplay
but that didn't work. What I've noticed is that only "Track 1" was shown on the display, but no other tracks. OK, I'm obviously expecting too much, moving on.

Then I tried (one-to-one):
Code:
Zone "Track"
  Fader|Touch+TouchedTrackName| TrackNameDisplay
Code:
Widget TouchedTrackName1
    FB_Processor /TouchedTrackName1
WidgetEnd

Widget TouchedTrackName2
    FB_Processor /TouchedTrackName2
WidgetEnd
...
with hidden displays in TouchOSC and using LOCAL message type to forward the information to a special, visible label element.
That didn't work either. It works once when I first touch the fader, but never again after that.
My suspicion is that CSI caches the value of displays and doesn't update them when the value doesn't change. And, on the other hand, there is no Touch-OFF hook so I can't reset the value in any way.

So my idea of Touch Modifier many-to-one relation is, for now, dead in the water.
Unless I'm missing something?
Your code for the one-to-one case looks right.

The fact that it works on first press seems to verify that.

Seems like TouchOSC may not be sending a release message upon lifting your finger, might want to check into that using the CSI monitoring Actions in Reaper's Action list.

The CSI caching may also come into play here.

Most use cases for this functionality override an existing behaviour:

Code:
    DisplayUpper|            	TrackNameDisplay
    Fader|Touch+DisplayLower| 	TrackVolumeDisplay
For your use case, maybe try something like:

Code:
    TouchedTrackName|            	FixedTextDisplay " "
    Fader|Touch+TouchedTrackName| 	TrackNameDisplay
and see what happens.
__________________
To install you need the Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old Yesterday, 09:28 AM   #18528
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 4,020
Default

And for the record, if the wiki is incomplete or needs updating somewhere, never worry about being "that guy". I strongly encourage everyone to post here about where the wiki is unclear/incorrect/ectc. I've noticed a sharp decline in "how do I do this" type of posts and I hope that's just a sign that the new Wiki is doing its job.
__________________
CSI 2.0 Wiki
Funkybot is online now   Reply With Quote
Old Yesterday, 11:00 AM   #18529
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 2,506
Default

Quote:
Originally Posted by AtmanActive View Post
My iPad mixer, some 90% complete:

https://atmanactive.me.uk/temp/AA_iPad_Mixer_v0.9.1.JPG

Big thanks to Geoff Waddington, Funkybot and MixMonkey. Without your work this wouldn't be possible.
Looks great , this might be useful for me when recording alone as use as a remote.

Does it work over Wifi?

M
__________________
https://www.marcuscliffe.com/
norbury brook is offline   Reply With Quote
Old Yesterday, 11:59 AM   #18530
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 478
Default

Quote:
Originally Posted by norbury brook View Post
Looks great , this might be useful for me when recording alone as use as a remote.

Does it work over Wifi?

M
Yes it does.

Although, for that purpose I tend to use Reaper's Web Control Interface. It's easier to setup and has device browser's built-in screen-size adaptability. Feel free to ask more about this if you're not familiar with it.
AtmanActive is online now   Reply With Quote
Old Yesterday, 12:28 PM   #18531
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 478
Default

Quote:
Originally Posted by Geoff Waddington View Post
For your use case, maybe try something like:

Code:
    TouchedTrackName|            	FixedTextDisplay " "
    Fader|Touch+TouchedTrackName| 	TrackNameDisplay
and see what happens.
Brilliant!
This is working like a charm.
So I was missing a way to reset it and thus force CSI to send the value again and this is exactly what assures that.

@Funkybot: if you agree, I believe this little trick deserves it's place in the Wiki.
AtmanActive is online now   Reply With Quote
Old Yesterday, 12:59 PM   #18532
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Hey everyone!

I had a couple of questions regarding the x-touch compact and csi.

1: Is it possible to use csi with the x-touch in standard mode (not mcu) so that all the rotaries can be programmed etc?

2: When swapping to sub zones, is it possible to make each zone "exclusive" so it takes control of the x-touch and ignores all other inputs not relevant?

For eg; if I had zone 1 using Rotary1 and Zone 2 using Rotary2, is it possible to make zone 2 ignore inputs of rotary1 so that you couldn't input and control zone1 when you are in zone 2?

When working on panels with lots of sub zones, not every panel uses the same controls, so it's possible to accidentally knock or change a control that isn't being used in that zone but it'll change the controls on another zone in the background etc.
JP_ is online now   Reply With Quote
Old Yesterday, 04:53 PM   #18533
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 3,311
Default

Quote:
Originally Posted by JP_ View Post
1: Is it possible to use csi with the x-touch in standard mode (not mcu) so that all the rotaries can be programmed etc?
You can, but you pay a rather heavy price. The faders will become 7 bit ( I'm assuming that in MC mode they're 10 bit) and the rotary encoders will all become absolute (0-127) instead of the much more useful increment/decrement type.

Quote:
2: When swapping to sub zones, is it possible to make each zone "exclusive" so it takes control of the x-touch and ignores all other inputs not relevant?

For eg; if I had zone 1 using Rotary1 and Zone 2 using Rotary2, is it possible to make zone 2 ignore inputs of rotary1 so that you couldn't input and control zone1 when you are in zone 2?
Just make sure that in Zone 2, Rotary1 is defined as NoAction.
MixMonkey is offline   Reply With Quote
Old Yesterday, 05:26 PM   #18534
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Quote:
Originally Posted by MixMonkey View Post
You can, but you pay a rather heavy price. The faders will become 7 bit ( I'm assuming that in MC mode they're 10 bit) and the rotary encoders will all become absolute (0-127) instead of the much more useful increment/decrement type.



Just make sure that in Zone 2, Rotary1 is defined as NoAction.
Hey MixMonkey, thanks for the response! The manual states that mcu is 7-bit so I assumed standard would be higher in resolution based on the wording?

Do you mean stead of [ 0.0 1.0 ] you'd write [ 0 127 ] etc?

And do I write NoAction after the controls? As I've tried blank etc. Thanks man! For eg;

Rotary1 NoAction
Rotary2 Bypass [ 0.0 1.0 ]

I do think gaining layers and having all 16 rotaries is a massive gain! How do I start with moving to standard mode with csi? I can change the hardware mode, but need to know what I have to change the text to in order to test it out.
JP_ is online now   Reply With Quote
Old Yesterday, 05:56 PM   #18535
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 3,311
Default

Quote:
Originally Posted by JP_ View Post
Hey MixMonkey, thanks for the response! The manual states that mcu is 7-bit so I assumed standard would be higher in resolution based on the wording?
No, 'fraid not. Looks like they didn't bother with a 10 bit MCU mode (MCU uses pitchbend messages for faders to get the 10bit resolution, but it will still work using 'half' the pitchbend message) On the bright side, you won't be losing any fader resolution using standard mode.
Quote:
Do you mean stead of [ 0.0 1.0 ] you'd write [ 0 127 ] etc?
No, I mean the operation of the control will change (in CSI parlance) from Encoder to Fader. Take a look at 'Message Generators' in the Wiki. Basically speaking, Encoder allows much finer control of parameters and acceleration, both of which can be customised.
Quote:
And do I write NoAction after the controls? As I've tried blank etc. Thanks man! For eg;

Rotary1 NoAction
Rotary2 Bypass [ 0.0 1.0 ]
Yep, that's it
Quote:
I do think gaining layers and having all 16 rotaries is a massive gain! How do I start with moving to standard mode with csi? I can change the hardware mode, but need to know what I have to change the text to in order to test it out.
You'll need to create a new .mst file that redefines all the controls as specified in the manual for Standard Mode (assuming you haven't changed anything with the editing software) for each Layer. Which .mst are you using at the moment?
MixMonkey is offline   Reply With Quote
Old Yesterday, 06:14 PM   #18536
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Quote:
Originally Posted by MixMonkey View Post
No, 'fraid not. Looks like they didn't bother with a 10 bit MCU mode (MCU uses pitchbend messages for faders to get the 10bit resolution, but it will still work using 'half' the pitchbend message) On the bright side, you won't be losing any fader resolution using standard mode.

No, I mean the operation of the control will change (in CSI parlance) from Encoder to Fader. Take a look at 'Message Generators' in the Wiki. Basically speaking, Encoder allows much finer control of parameters and acceleration, both of which can be customised.

Yep, that's it


You'll need to create a new .mst file that redefines all the controls as specified in the manual for Standard Mode (assuming you haven't changed anything with the editing software) for each Layer. Which .mst are you using at the moment?
Thanks mate! I still don't understand the fader/encoder par, but I'll look up the message generators, thanks so much!

I'm on Mac so therein't an editor available from Behringer.

Has anybody mapped the normal x-touch .mst for standard mode? I'm happy to do it if it hasn't been done before, but I'd need some help to get started! I'd love to use the 9-16 rotaries for EQ Q etc and be able to use each fader for it's own band with frequency above.

Atm you have to either scarce a rotary or use a push rotary cycling parameters.

Last edited by JP_; Yesterday at 06:28 PM.
JP_ is online now   Reply With Quote
Old Yesterday, 08:12 PM   #18537
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 4,020
Default

Quote:
Originally Posted by JP_ View Post
Thanks mate! I still don't understand the fader/encoder par, but I'll look up the message generators, thanks so much!
Encoders and knobs may look exactly the same and some surfaces allow you to setup the physical knobs as either a "relative encoder" or an "absolute knob". And when CSI is concerned, "absolute knobs" are called faders because they work the same way. Whereas encoders are encoders. What's the difference?

An encoder has no defined start and end points. It just adds or subtracts from the current value. So an encoder sends the same message (or same set of messages if it has acceleration) when being turned clockwise. Those messages say, "increase from current". And it will send another message (or fixed set of messages) when being turned counter-clockwise. Those messages say, "decrease from current". They're relative instructions.

Whereas some surfaces, like the X-Touch Compact or even the MIDI Fighter Twister, allow you to set the rotaries up not as encoders, but as "knobs". In CSI, these would use the Fader7Bit widget, despite not actually being a fader - but they work the same way. The parameters have a fixed start and end point. There's a minimum level you can't go below and a maximum level you can't go above. It's a knob just like on your oven, there's the minimum value (off) and the maximum value (highest heat). In between, there's a continuous list of values that represent the 128 MIDI steps (0-127).

Hope that helps.
__________________
CSI 2.0 Wiki

Last edited by Funkybot; Today at 07:42 AM. Reason: Fixed typo
Funkybot is online now   Reply With Quote
Old Yesterday, 08:41 PM   #18538
TungSol
Human being with feelings
 
Join Date: Aug 2022
Posts: 1
Default Thank You

Forgive me if this is the wrong thread.

I recently discovered CSI and working on my first Surface and Zones for the Icon Nano and X-Touch Mini. Many thanks to Geoff and all of you major contributors. Don't want to leave anyone out so I wont list you all by name. A big thank you! CSI is awesome!

I posted a YouTube video on my channel to draw more attention to guitar players using the X-Touch Mini as the surface for guitar amp plugins.

https://youtu.be/Lj1vGpjpyhQ

You all Rock!
TungSol is offline   Reply With Quote
Old Today, 05:18 AM   #18539
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 3,311
Default

Quote:
Originally Posted by JP_ View Post
I'm on Mac so therein't an editor available from Behringer.
That's ok, so it's reasonable to assume the control assignments match those in the manual
Quote:
Has anybody mapped the normal x-touch .mst for standard mode? I'm happy to do it if it hasn't been done before, but I'd need some help to get started! I'd love to use the 9-16 rotaries for EQ Q etc and be able to use each fader for it's own band with frequency above.
There's no advantage to mapping the X-Touch Universal in standard mode (there are no extra controls that become enabled) and with that model you definitely lose your 10 bit faders.

Post the .mst you are currently using and I'll get you started.
MixMonkey is offline   Reply With Quote
Old Today, 06:59 AM   #18540
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Quote:
Originally Posted by MixMonkey View Post
That's ok, so it's reasonable to assume the control assignments match those in the manual


There's no advantage to mapping the X-Touch Universal in standard mode (there are no extra controls that become enabled) and with that model you definitely lose your 10 bit faders.

Post the .mst you are currently using and I'll get you started.
Hmm, this doesn't seem to tie up with the manual or my experience at all? To be clear I'm talking about the x-touch compact specifically.

The compact in MCU rotaries 9-14 become buttons not rotaries. 15-16 act as rotaries only with no button/push function.

Whereas in Standard all of those rotaries 9-16 become full rotaries and buttons, so I'd be gaining a lot by swapping? Literally 6 more rotaries and 2 additional push buttons. And the layer buttons would function, so you can double all of the controls etc.

I'm using the X-Touch file that comes as standard with the CSI download <3

Last edited by JP_; Today at 07:11 AM.
JP_ is online now   Reply With Quote
Old Today, 07:14 AM   #18541
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 8,134
Default

Quote:
Originally Posted by JP_ View Post
Hmm, this doesn't seem to tie up with the manual or my experience at all? To be clear I'm talking about the x-touch compact specifically.

The compact in MCU rotaries 9-14 become buttons not rotaries. 15-16 act as rotaries only with no button/push function.

Whereas in Standard all of those rotaries 9-16 become full rotaries and buttons, so I'd be gaining a lot by swapping? Literally 6 more rotaries and 2 additional push buttons. And the layer buttons would function, so you can double all of the controls etc.

I'm using the X-Touch file that comes as standard with the CSI download <3
The X-Touch file that comes as standard with the CSI download is for the X-Touch Universal, I have no idea if/how that maps to the Compact.
__________________
To install you need the Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old Today, 07:35 AM   #18542
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 297
Default

Quote:
Originally Posted by Funkybot View Post
... It's a knob just like on your oven, ....

Hope that helps.
Helped me, made me laugh, cheers, Funkybot!
WaveTrans is offline   Reply With Quote
Old Today, 07:41 AM   #18543
jakeman19
Human being with feelings
 
Join Date: Jan 2022
Posts: 48
Default

Quote:
Originally Posted by JP_ View Post
Hmm, this doesn't seem to tie up with the manual or my experience at all? To be clear I'm talking about the x-touch compact specifically.

The compact in MCU rotaries 9-14 become buttons not rotaries. 15-16 act as rotaries only with no button/push function.

Whereas in Standard all of those rotaries 9-16 become full rotaries and buttons, so I'd be gaining a lot by swapping? Literally 6 more rotaries and 2 additional push buttons. And the layer buttons would function, so you can double all of the controls etc.

I'm using the X-Touch file that comes as standard with the CSI download <3
Wouldn't using one of the Actions "CSI Toggle Show Input from Surfaces", "CSI Toggle Show Output to Surfaces" or "CSI Toggle Show Raw Input from Surfaces" yeld info on what those extra Rotary Encoders are and then you'd just change that in the .mst file?

Jd
jakeman19 is offline   Reply With Quote
Old Today, 07:51 AM   #18544
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 4,020
Default

JP_, if you want to use standard mode, you'll probably need to create the .mst from scratch. It will take some effort, but it's a once and done deal.

If you want to do that just run the CSI action to show Raw input from surface (whatever it's called), then press the button, move the knob, move the fader, etc. and pay attention to the messages in the ReaConsole screen. Then create the widgets for the button, knob, fader, etc. as according to the Message Generators page on the wiki. You may find it's worth the effort for the X-Touch Compact. Note: I had a lot of .mst files and checked, none for the Compact.

There are some pros and cons to knobs versus encoders and vice versa.

Knobs - Benefits:
1. No having to worry about stepped FX params - this makes programming FX zones much easier. Because the positions are absolute, the stepped FXParam will just change as it moves beyond the stepped value. There's something really nice about this.
2. My guess is because the X-Touch Comapct uses an encoder for "knob mode" that there will be no jumping (compared to a physical MIDI knob) so at least you shouldn't run into that issue with knobs.

Knob - Downsides:
1. You cannot get very fine control like you can using encoders. If you're more of a "close enough is good enough" type of person, this may not be that big a deal in practice. It certainly simplifies zone creation.
2. No acceleration curves.

...so it's just about trade-offs. I suggest creating a new Zone folder and a new .mst in MIDI Mode, map a few of the rotaries as Fader7Bit widgets, and map a few of them to FX. Try it out and see if you prefer it. Because you get access to more controls, it may be worth it. But be warned: with more controls and no displays, you may be unintentionally making things more complex in terms of knowing what's mapped to what.
__________________
CSI 2.0 Wiki
Funkybot is online now   Reply With Quote
Old Today, 09:17 AM   #18545
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Quote:
Originally Posted by Funkybot View Post
JP_, if you want to use standard mode, you'll probably need to create the .mst from scratch. It will take some effort, but it's a once and done deal.

If you want to do that just run the CSI action to show Raw input from surface (whatever it's called), then press the button, move the knob, move the fader, etc. and pay attention to the messages in the ReaConsole screen. Then create the widgets for the button, knob, fader, etc. as according to the Message Generators page on the wiki. You may find it's worth the effort for the X-Touch Compact. Note: I had a lot of .mst files and checked, none for the Compact.

There are some pros and cons to knobs versus encoders and vice versa.

Knobs - Benefits:
1. No having to worry about stepped FX params - this makes programming FX zones much easier. Because the positions are absolute, the stepped FXParam will just change as it moves beyond the stepped value. There's something really nice about this.
2. My guess is because the X-Touch Comapct uses an encoder for "knob mode" that there will be no jumping (compared to a physical MIDI knob) so at least you shouldn't run into that issue with knobs.

Knob - Downsides:
1. You cannot get very fine control like you can using encoders. If you're more of a "close enough is good enough" type of person, this may not be that big a deal in practice. It certainly simplifies zone creation.
2. No acceleration curves.

...so it's just about trade-offs. I suggest creating a new Zone folder and a new .mst in MIDI Mode, map a few of the rotaries as Fader7Bit widgets, and map a few of them to FX. Try it out and see if you prefer it. Because you get access to more controls, it may be worth it. But be warned: with more controls and no displays, you may be unintentionally making things more complex in terms of knowing what's mapped to what.

I understand about the raw input and did use it, as for widgets I’m guessing I just call it whatever I want?

Like :

Widget Track
Press 90 28 7f 90 28 00
FB_TwoState 90 28 7f 90 28 (not sure what this section is as it always contains both the push and release code again)
WidgetEnd


Then go to an fx

track fxparam1 “gain”

And as long as the widget name + code is correct it should work?

What’s the fader7bit part about?

I very much prefer precision, so I’m not sure how swapping from mcu to standard would change that? Wouldn’t it be the same if not higher res in normal mode?

And to Geoff I’m guessing the compact shares the vast majority of its control names as I double checked them all with raw input and they were all the same!

Thanks guys!

Last edited by JP_; Today at 10:14 AM.
JP_ is online now   Reply With Quote
Old Today, 09:58 AM   #18546
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 4,020
Default

Quote:
Originally Posted by JP_ View Post
I understand about the raw input and did use it, as for widgets I’m guessing I just call it whatever I want?

Like :

Widget Track
Press 90 28 7f 90 28 00
FB_TwoState 90 28 7f 90 28 07531850686 (not sure what this section is as it always contains both the push and release code again)
WidgetEnd


Then go to an fx

track fxparam1 “gain”

And as long as the widget name + code is correct it should work?

What’s the fader7bit part about?

I very much prefer precision, so I’m not sure how swapping from mcu to standard would change that? Wouldn’t it be the same if not higher res in normal mode?

And to Geoff I’m guessing the compact shares the vast majority of its control names as I double checked them all with raw input and they were all the same!

Thanks guys!
What's all that extra stuff at the end of your Track button? A button should look like this...

Code:
Widget Track
	Press 90 28 7f 90 28 00
	FB_TwoState 90 28 7f 90 28 00
WidgetEnd
The top row is a "Press" Message Generator. That's the actual pressing and releasing of the button. The second row is the Feedback Processor. That controls the feedback (i.e. button lights, encoder lights, fader positions).

The Fader7Bit stuff is what you'd use to assign Faders and non-encoder rotaries (i.e. knobs). If you used Press on a fader or knob, they would behave like buttons and not work as expected. Read the Wiki pages on Message Generators and Feedback Processors. They cover all of this stuff with examples.

https://github.com/GeoffAWaddington/...age-Generators

https://github.com/GeoffAWaddington/...ack-Processors
__________________
CSI 2.0 Wiki
Funkybot is online now   Reply With Quote
Old Today, 10:19 AM   #18547
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Reading now! the numbers were my phone number, iOS changes 00 to my number, so was just a mistake. If you could delete it from your quote that would be great haha

MCU mode question:

Is there a way of making the rotaries move less per click? After reading it looks like I should use:

Rotary1 FXParam 1 "Freq" [ (0.003) ]

But no matter what I change that number to it never changes anything.

I have this widget:

Widget Rotary1
Encoder b0 10 7f [ < 41-47 > 01-07 ]
FB_Encoder b0 10 7f
WidgetEnd

Which I understand is the minimum and maximum values for left and right so that the rotary will function at any speed that I twist it (as the values defined above obviously increase to the higher number on fast twists).

But I cannot get the actual step size to change, is that a hardware limitation? Or is it possible to make the encoder twice as sensitive etc?

Another question:

Why do faders lag behind the actual messages? If I move the faders slowly it keeps up flawlessly, the second I move it faster it starts lagging behind even though the raw input is keeping up messages received and I'm moving slower than the maximum motor speed etc, makes no sense. It feels like it's getting overwhelmed and getting confused haha

Thanks for all the help you absolute legends!

Last edited by JP_; Today at 10:46 AM.
JP_ is online now   Reply With Quote
Old Today, 10:59 AM   #18548
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 8,134
Default

Quote:
Originally Posted by JP_ View Post
Reading now! the numbers were my phone number, iOS changes 00 to my number, so was just a mistake. If you could delete it from your quote that would be great haha

MCU mode question:

Is there a way of making the rotaries move less per click? After reading it looks like I should use:

Rotary1 FXParam 1 "Freq" [ (0.003) ]

But no matter what I change that number to it never changes anything.

I have this widget:

Widget Rotary1
Encoder b0 10 7f [ < 41-47 > 01-07 ]
FB_Encoder b0 10 7f
WidgetEnd

Which I understand is the minimum and maximum values for left and right so that the rotary will function at any speed that I twist it (as the values defined above obviously increase to the higher number on fast twists).

But I cannot get the actual step size to change, is that a hardware limitation? Or is it possible to make the encoder twice as sensitive etc?

Another question:

Why do faders lag behind the actual messages? If I move the faders slowly it keeps up flawlessly, the second I move it faster it starts lagging behind even though the raw input is keeping up messages received and I'm moving slower than the maximum motor speed etc, makes no sense. It feels like it's getting overwhelmed and getting confused haha

Thanks for all the help you absolute legends!
Have a look at "Overriding the Tick Count on Stepped Parameters" in the Encoders section.

As far as lagging, if you mean what you see in the list window, it's just the lack of performance of that window, it's not made for high speed, you can safely ignore that aspect.
__________________
To install you need the Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old Today, 11:08 AM   #18549
JP_
Human being with feelings
 
Join Date: Jul 2022
Posts: 16
Default

Quote:
Originally Posted by Geoff Waddington View Post
Have a look at "Overriding the Tick Count on Stepped Parameters" in the Encoders section.

As far as lagging, if you mean what you see in the list window, it's just the lack of performance of that window, it's not made for high speed, you can safely ignore that aspect.
Hey Geoff, I did read it and that's why I came to the conclusion from that section that I should use:

Rotary1 FXParam 1 "Freq" [ (0.003) ]

But no matter what I change that number to it never changes anything with cards to changing how small the steps are. Doesn't make sense as that's supposed to be the answer haha.

As for lagging, no I mean it literally. If I move the fader quickly and let go it will snap back in the opposite direction because the information doesn't seem to have kept up with the movement.

Even a moderate pacer make proQ3 move at a totally different speed to the controls, it's not even close to 1:1 movement, it feels like the controls switch to 0.5:1 speed, get lost on where I have moved to and move further back to the last message it can make sense of.

Hope that makes sense?

Thanks Geoff/Funky x
JP_ is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:22 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.