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

Reply
 
Thread Tools Display Modes
Old 11-24-2020, 03:38 PM   #41
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by ramses View Post
Ok, nice to know it might still be possible

Could it not be done the way I was describing then, in CSI somehow?

So like, if you have this:

Code:
 000EB96E   1   2     B0    5B    16    1  ---  CC: Reverb Depth
 000EB9FA   1   2     B0    5B    13    1  ---  CC: Reverb Depth
 000EBA87   1   2     B0    5B    10    1  ---  CC: Reverb Depth
 000EBAF4   1   2     B0    5B    0D    1  ---  CC: Reverb Depth
 000EBBA0   1   2     B0    5B    0A    1  ---  CC: Reverb Depth
 000EBC3C   1   2     B0    5B    07    1  ---  CC: Reverb Depth
 000EBD17   1   2     B0    5B    04    1  ---  CC: Reverb Depth
 000EBDD3   1   2     B0    5B    01    1  ---  CC: Reverb Depth
 000EBECD   1   2     B0    5B    00    1  ---  CC: Reverb Depth
 000EBF69   1   2     B0    5B    00    1  ---  CC: Reverb Depth
 000EC082   1   2     B0    5B    00    1  ---  CC: Reverb Depth
 000EC12E   1   2     B0    5B    00    1  ---  CC: Reverb Depth
 000EC228   1   2     B0    5B    00    1  ---  CC: Reverb Depth
...it would be all negative ticks.

And if you have this:

Code:
000FD814   1   2     B0    5B    21    1  ---  CC: Reverb Depth
000FD8CF   1   2     B0    5B    24    1  ---  CC: Reverb Depth
000FD9AC   1   2     B0    5B    27    1  ---  CC: Reverb Depth
000FDAB6   1   2     B0    5B    2A    1  ---  CC: Reverb Depth
000FFBC1   1   2     B0    5B    27    1  ---  CC: Reverb Depth
000FFCEC   1   2     B0    5B    24    1  ---  CC: Reverb Depth
000FFD69   1   2     B0    5B    21    1  ---  CC: Reverb Depth
000FFDF5   1   2     B0    5B    1E    1  ---  CC: Reverb Depth
000FFEF3   1   2     B0    5B    1B    1  ---  CC: Reverb Depth
001000AB   1   2     B0    5B    18    1  ---  CC: Reverb Depth
00100250   1   2     B0    5B    15    1  ---  CC: Reverb Depth
.. it would be 3 positive ticks, followed by 7 negative ticks?
I've been thinking, the last time we tried this was pre acceleration/stepped values.

It's a bit more than you state -- we would have to time the tick arrival to get decent acceleration performance.

It's a bit tricky, have to think about it some more...
__________________
To install you need the CSI 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 11-24-2020, 04:07 PM   #42
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 336
Default

Thanks for taking so much time for this!

Took me more than a couple of minutes to clean up the files and the matter is far from being conclusive. Honestly, I could not find out what is going on here.
I managed to reconstitute the ReaComp zone from your version, and it did not crash, however, it wasn´t recognized by fx focus, to get back fxfocus, I had to put the "(Cockos)" back into the name but this is just what I did before it worked - could be something else entirely.

I tried all kinds of synthax what seemed to work was a single space between everything in a line and working not with notepad but what worked once did crash again on restart.

Crashes are severe. I had not only to restart Reaper but the whole system to get some reliable feedback.

I´m not shure if the whole problem is based on synthax mismatches only, since I never experienced CSI being so particularly unforgiving. If CSI were so choosy, why does the ReaEQ zone work? it is rather untidy to say the least, but it always works, fires up upon FX focus and never ever crashed.
And all zones, including the crashing ones, were working fine for over a year in the same messy state as they were before I cleaned them up, which, I have to say, did not help in all cases.

At some point I remembered, that ages ago I had some zones that did not work and suddenly functioned after copying parts into a fresh document and resaving. So this will be my last resort before I have to give in starting all over again, which may have been less work after all.

However, living in a GMT time zone now forces me to quit.

Thanks again for helping.

In my case, removing the superflous bracket space did not restore function.

This really is strange to say the least.

Quote:
Originally Posted by Funkybot View Post
Hold on...was wrong. Found the issue!!!

Code:
     RotaryPushA2        FXParam 2 [ 0.0 0.003 0.006  ]
See that extra space before the bracket? Get rid of it.

This code works without crashes:

Code:
Zone "VST: ReaComp"
     FocusedFXNavigator
/
     DisplayUpperA1      FXParamNameDisplay 0 "Thresh"
     DisplayLowerA1      FXParamNameDisplay 16 "AutoRelease"
     RotaryB1            FXParam 0
     RotaryA1            FXParam 0 [ 0.0>1.0 ]
     RotaryPushA1        FXParam 16 [ 0.0 1.0 ]
/
     DisplayUpperA2      FXParamNameDisplay 2 "Attack"
     RotaryB2            FXParam 2
     RotaryA2            FXParam 2 [ 0.0>1.0 ] 
     RotaryPushA2        FXParam 2 [ 0.0 0.003 0.006 ]

/
     DisplayUpperA3      FXParamNameDisplay  3 "Release"
     RotaryB3            FXParam 3
     RotaryA3            FXParam 3 [ 0.0>1.0 ]
     RotaryPushA3        FXParam 3 [ 0.0 0.01 0.02 ]
/
     DisplayUpperA4      FXParamNameDisplay 1 "Ratio"
     DisplayLowerA4      FXParamValueDisplay 1 "Ratio"
     RotaryB4            FXParam 1 [ 0.0>1.0 ]
     RotaryA4            FXParam 1 [ 0.0>1.0 ]
     RotaryPushA4        FXParam 1 [ 0.0 0.01 0.02 1.0 ]
/
     DisplayUpperA5      FXParamNameDisplay 11 "Wet/Dry"
     DisplayLowerA5      FXParamNameDisplay 19 "Bypass"
     RotaryB5            FXParam 11 [ 0.0>1.5 ]
     RotaryA5            FXParam 10 [ 0.0>1.0 ]
     RotaryPushA5        FXParam 19 [ 0.0 1.0 ]
/
     DisplayLowerA6      FXParamNameDisplay 4 "PreComp"
     DisplayLowerA6      FXParamNameDisplay 15 "AutoMkUp"
     RotaryB6            FXParam 14 [ 0.0>1.0 ]
     RotaryA6            NoAction
     RotaryPushA6        FXParam 15 [ 0.0 1.0 ]
/    
     DisplayUpperA7      FXParamNameDisplay 13 "RMS"
     DisplayLowerA7      FXParamNameDisplay 6 "LoP"
     RotaryB7            FXParam 13
     RotaryA7            FXParam 6 [ 0.0>1.0 ]
     RotaryPushA7        FXParam 6 [ 0.3 0.4 0.5 0.7 0.8 1.0 ]
/
     DisplayUpperA8      FXParamNameDisplay 14 "Knee"
     DisplayLowerA8      FXParamNameDisplay 7 "HiP"
     RotaryB8            FxParam 14
     RotaryA8            FXParam 7 [ 0.0>1.0 ]
     RotaryPushA8        FXParam 7 [ 0.0 0.00175 0.002 0.005 0.0075 ]
/    
     RotaryPushA1        NoAction
     RotaryPushA5        NoAction
     RotaryPushA6        NoAction
ZoneEnd
Summary of changes:

1. Changed the Plugin Name in the Zone header to match how I renamed it in Reaper (not relavant)
2. Removed the plugin alias (probably not relevant)
3. Changed the widget names to match my surface (not relevant)
4. Removed the "Alias" next to anything that wasn't a display (no change)
5. Removed the quotes around the Parameter Numbers (got us closer)
6. Removed the extra space before the brackets (bingo!)
WaveTrans is offline   Reply With Quote
Old 11-24-2020, 04:35 PM   #43
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Quote:
Originally Posted by WaveTrans View Post
Thanks for taking so much time for this!

Took me more than a couple of minutes to clean up the files and the matter is far from being conclusive. Honestly, I could not find out what is going on here.
I managed to reconstitute the ReaComp zone from your version, and it did not crash, however, it wasn´t recognized by fx focus, to get back fxfocus, I had to put the "(Cockos)" back into the name but this is just what I did before it worked - could be something else entirely.
That's totally expected. I renamed "ReaComp (Cockos)" to just "Reacomp" using Reaper's rename functionality. CSI needs an exact match on the name.

So did it work without crashing? Then you say....

Quote:
Originally Posted by WaveTrans View Post
I tried all kinds of synthax what seemed to work was a single space between everything in a line and working not with notepad but what worked once did crash again on restart.
What changed in between it working and not working? I'm confused.

Quote:
Originally Posted by WaveTrans View Post
I´m not shure if the whole problem is based on synthax mismatches only, since I never experienced CSI being so particularly unforgiving. If CSI were so choosy, why does the ReaEQ zone work? it is rather untidy to say the least, but it always works, fires up upon FX focus and never ever crashed.
And all zones, including the crashing ones, were working fine for over a year in the same messy state as they were before I cleaned them up, which, I have to say, did not help in all cases.
Yeah, CSI generally is pretty forgiving with the syntax, but the less extraneous stuff you throw at it the better.

Quote:
Originally Posted by WaveTrans View Post
However, living in a GMT time zone now forces me to quit.

Thanks again for helping.

In my case, removing the superflous bracket space did not restore function.

This really is strange to say the least.
Yeah, considering I went from getting the same crash you were to not getting any crashes after doing the full clean-up including the last step of removing the extra bracket, I really thought that was it. Perhaps a combination of things?

Here's an example of a typical fx.zon with displays that works over here. Maybe try following the same approach and start from scratch and see if it makes a difference. You can ignore the encoder acceleration and MFT colors (squiggly brackets).

Code:
Zone "VST: ValhallaUberMod (Valhalla DSP, LLC)"
FocusedFXNavigator 
/
/
DisplayUpperA1 FXParamNameDisplay 1 "Depth"
DisplayLowerA1 FXParamValueDisplay 1 
RotaryA1 FXParam 1 [ (0.001,0.002,0.003,0.004,0.005,0.006,0.0075,0.01,0.02,0.035,0.05) ]
DisplayRotaryPushA1 FXParamNameDisplay 27 "ColorMode"
RotaryPushA1 FXParam 27 [ 0.0 1.0 ] { 90 255 0 255 50 0 }
DisplayUpperShiftA1 NoAction 
DisplayLowerShiftA1 NoAction 
ShiftRotaryA1 NoAction 
/  
DisplayUpperA2 FXParamNameDisplay 2 "StereoWidth"
DisplayLowerA2 FXParamValueDisplay 2 
RotaryA2 FXParam 2 [ (0.001,0.002,0.003,0.004,0.005,0.006,0.0075,0.01,0.02,0.035,0.05) ]
DisplayRotaryPushA2 FXParamNameDisplay 31 "Drive"
RotaryPushA2 FXParam 31 [ 0.0 1.0 ] { 90 255 0 255 50 0 }
DisplayUpperShiftA2 NoAction 
DisplayLowerShiftA2 NoAction 
ShiftRotaryA2 NoAction 
/  
ZoneEnd
Funkybot is offline   Reply With Quote
Old 11-24-2020, 11:12 PM   #44
StormBlåst
Human being with feelings
 
Join Date: May 2019
Posts: 38
Default

Quote:
Originally Posted by Geoff Waddington View Post
Are you using the same Zone file for both ?

I would get rid of those Pan/PanWidth zones -- check the wiki -- MCUTrackPan is a much better way to do this.

You will lose the lower display track volume, but there is an upcoming modifier "Takeover" currently in design that will do that for you
Yes I heard something is coming up 😄
And Yes, i am using same Zone for both units. I like how the units behave right now but the sync is missing.. Is there anything I can do?

Also, how about if I want to use all 16 faders/rotaries for FX control,let's say EQ. How would one setup FX Zone? I have made some basic FX Zones for Reaper own plugins but can't figure out how to get this work
StormBlåst is offline   Reply With Quote
Old 11-25-2020, 01:25 AM   #45
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by StormBlåst View Post
Yes I heard something is coming up ��
And Yes, i am using same Zone for both units. I like how the units behave right now but the sync is missing.. Is there anything I can do?

Also, how about if I want to use all 16 faders/rotaries for FX control,let's say EQ. How would one setup FX Zone? I have made some basic FX Zones for Reaper own plugins but can't figure out how to get this work
Don't quite understand what you mean by "sync is missing", please clarify.

We are currently designing a feature that will allow Zones to span controllers, that will give you what you want.
__________________
To install you need the CSI 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 11-25-2020, 04:34 AM   #46
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default

Quote:
Originally Posted by Geoff Waddington View Post
I've been thinking, the last time we tried this was pre acceleration/stepped values.

It's a bit more than you state -- we would have to time the tick arrival to get decent acceleration performance.

It's a bit tricky, have to think about it some more...
Thank you for looking into this again, it would be just awesome to have it working!

Perhaps a simplified version without the acceleration options could be a first working alternative / proof of concept? So, just tick-based, simple encoders, with custom parameter range and step size.

Code:
Console1Encoder1 FXParam 1 "Attack" [ 0.0>0.66 (0.003) ]
ramses is offline   Reply With Quote
Old 11-25-2020, 05:22 AM   #47
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 336
Default

Sorry for the confused post. One shouldn´t write when tired and desparate.
Thanks, for bearing with me, Funkybot!
Your template FX.zone got me on the right track.

crashing:
Code:
Zone "VST: ReaDelay (Cockos)" "ReaDelay"
        FocusedFXNavigator
        ...
	DisplayLower2 FXParamValueDisplay 3 "Length"
	...
not crashing
Code:
Zone "VST: ReaDelay (Cockos)" "ReaDelay"
        FocusedFXNavigator
        ...
	DisplayLower2 FXParamValueDisplay 3
	...
Used to work before but that was it.

Are there any ways to map sends reversibly to the 8 channel surface with CSI 1.0? It was possible before.
"OnTrackSelection MapSelectedTrackSendsToWidgets" binds sends permanently to the 8 channel surface and assigning a button to MapSelectedTrackSendsToWidgets somehow fails to map the sends to the 8 channel surface.

Thanks again!

Quote:
Originally Posted by Funkybot View Post
That's totally expected. I renamed "ReaComp (Cockos)" to just "Reacomp" using Reaper's rename functionality. CSI needs an exact match on the name.

So did it work without crashing? Then you say....



What changed in between it working and not working? I'm confused.



Yeah, CSI generally is pretty forgiving with the syntax, but the less extraneous stuff you throw at it the better.



Yeah, considering I went from getting the same crash you were to not getting any crashes after doing the full clean-up including the last step of removing the extra bracket, I really thought that was it. Perhaps a combination of things?

Here's an example of a typical fx.zon with displays that works over here. Maybe try following the same approach and start from scratch and see if it makes a difference. You can ignore the encoder acceleration and MFT colors (squiggly brackets).

Code:
Zone "VST: ValhallaUberMod (Valhalla DSP, LLC)"
FocusedFXNavigator 
/
/
DisplayUpperA1 FXParamNameDisplay 1 "Depth"
DisplayLowerA1 FXParamValueDisplay 1 
RotaryA1 FXParam 1 [ (0.001,0.002,0.003,0.004,0.005,0.006,0.0075,0.01,0.02,0.035,0.05) ]
DisplayRotaryPushA1 FXParamNameDisplay 27 "ColorMode"
RotaryPushA1 FXParam 27 [ 0.0 1.0 ] { 90 255 0 255 50 0 }
DisplayUpperShiftA1 NoAction 
DisplayLowerShiftA1 NoAction 
ShiftRotaryA1 NoAction 
/  
DisplayUpperA2 FXParamNameDisplay 2 "StereoWidth"
DisplayLowerA2 FXParamValueDisplay 2 
RotaryA2 FXParam 2 [ (0.001,0.002,0.003,0.004,0.005,0.006,0.0075,0.01,0.02,0.035,0.05) ]
DisplayRotaryPushA2 FXParamNameDisplay 31 "Drive"
RotaryPushA2 FXParam 31 [ 0.0 1.0 ] { 90 255 0 255 50 0 }
DisplayUpperShiftA2 NoAction 
DisplayLowerShiftA2 NoAction 
ShiftRotaryA2 NoAction 
/  
ZoneEnd

Last edited by WaveTrans; 11-25-2020 at 07:29 AM.
WaveTrans is offline   Reply With Quote
Old 11-25-2020, 08:46 AM   #48
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

If I connect a Behrimger X-Touch One with an 8-channel extender, will CSI see them as combined into a single device, essentially the equivalent of a normal X-Touch?
paat is offline   Reply With Quote
Old 11-25-2020, 09:17 AM   #49
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Quote:
Originally Posted by paat View Post
If I connect a Behrimger X-Touch One with an 8-channel extender, will CSI see them as combined into a single device, essentially the equivalent of a normal X-Touch?
Yes, you'd likely have two sets of .mst files and .zon folders: one for the X-Touch and one for the Extender. Then you would just add both devices to the same "Page" in CSI and they'd act as one big surface. It doesn't need to stop there either. You could buy an ICON surface and add it to the fray, or a Eucon device. They'll all work together. That's kind of what CSI does over any other system I've seen. It allows you to combine multiple surfaces into a single cohesive setup.

There were some files for the X-Touch and X-Touch Extenders here but the syntax has recently changed so these would need updating:

https://siniarch.wixsite.com/csiconfigfiles

The syntax changes are outlined here (they're really easy, post back if you have questions):

https://forum.cockos.com/showpost.ph...ostcount=11490
Funkybot is offline   Reply With Quote
Old 11-25-2020, 12:53 PM   #50
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Here is a very long step-by-step guide I just added to the Wiki on how to create a TouchOSC layout from scratch using TouchOSC Editor, turn that into an .ost, and map that to a .zon file for use in CSI.

https://github.com/GeoffAWaddington/...for-Use-in-CSI

It's not the prettiest TouchOSC device at all, but it's more about explaining the concepts. Here's a guide I previously created on how to get Reaper+CSI+OSC all talking to one another:

https://github.com/GeoffAWaddington/...-Device-in-CSI

Feedback on both welcome.
Funkybot is offline   Reply With Quote
Old 11-25-2020, 03:23 PM   #51
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Funkybot View Post
Here is a very long step-by-step guide I just added to the Wiki on how to create a TouchOSC layout from scratch using TouchOSC Editor, turn that into an .ost, and map that to a .zon file for use in CSI.

https://github.com/GeoffAWaddington/...for-Use-in-CSI

It's not the prettiest TouchOSC device at all, but it's more about explaining the concepts. Here's a guide I previously created on how to get Reaper+CSI+OSC all talking to one another:

https://github.com/GeoffAWaddington/...-Device-in-CSI

Feedback on both welcome.
Wow, looks fabulous !
__________________
To install you need the CSI 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 11-25-2020, 04:02 PM   #52
siniarch
Human being with feelings
 
siniarch's Avatar
 
Join Date: Jun 2018
Posts: 705
Default

Quote:
Originally Posted by Funkybot View Post
Here is a very long step-by-step guide I just added to the Wiki on how to create a TouchOSC layout from scratch using TouchOSC Editor, turn that into an .ost, and map that to a .zon file for use in CSI.

https://github.com/GeoffAWaddington/...for-Use-in-CSI

It's not the prettiest TouchOSC device at all, but it's more about explaining the concepts. Here's a guide I previously created on how to get Reaper+CSI+OSC all talking to one another:

https://github.com/GeoffAWaddington/...-Device-in-CSI

Feedback on both welcome.
I took a quick look at it. Seems awesome. Thank you so much for sharing this. I will certainly need it in the future.
siniarch is offline   Reply With Quote
Old 11-25-2020, 05:44 PM   #53
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Attached to this post is a simple Remote Control app anyone with a phone can use. The use case is pretty simple: you're recording yourself and just need basic transport and channel functions. This allows you to control those from your phone. Should work with anything bigger than an iPhone 6, you just need TouchOSC on your device and talking to Reaper.



This started out as me putting a simple example together for the TouchOSC How To Guide today and this is just a slightly more evolved version of that. The only constraint at the moment is that it doesn't work with PanL and PanR due to a few different things conspiring to not make that happen in a way I was satisfied with.

Top row fader is Pan, row beneath that is Pan width. Displays for both. The LEDs to the left of the buttons will light up to indicate the state. This was a much better practical approach than using the button feedback directly.

Enjoy!

Last edited by Funkybot; 06-19-2021 at 11:22 AM.
Funkybot is offline   Reply With Quote
Old 11-25-2020, 11:40 PM   #54
StormBlåst
Human being with feelings
 
Join Date: May 2019
Posts: 38
Default

Quote:
Originally Posted by Geoff Waddington View Post
Don't quite understand what you mean by "sync is missing", please clarify.

We are currently designing a feature that will allow Zones to span controllers, that will give you what you want.

So basicly I mean that my surfaces (Pro X and Pro XS) don't sync Zones.
For example, I have "Rotary| GoZone Pan" in my "Channel" Zone.
And in "Pan" Zone it changes couple of behaviours, mainly RotaryPushes And Displays

Code:
Zone "Pan"
   TrackNavigator
   DisplayUpper|     TrackNameDisplay
   DisplayLower|     TrackPanDisplay
   Rotary|           TrackPan "1"
   nameValue         GoZone Home
   Shift+nameValue   GoZone PanWidth
   RotaryPush|       TrackUniqueSelect
   RotaryPush|   Reaper _XENAKIOS_PANTRACKSCENTER
   Fader|           TrackVolume
   FaderTouch+Fader| GoZone Channel
   Blank1           GoZone "Channel"
ZoneEnd
But that Zone changes only affects in my Pro X if I use Rotaries in main unit and only Pro XS if I use Rotaries on my Pro XS, not for both.
So I think they don't quite Sync Zones between?


Also, I would like to combine my units to have 16 faders for FX Zones but how would one do that, is it possible?
And , is it possible to make multiple FX zones for same FX?
I mean for example I have BX SSL channelstrip which have Filters, Gate, Compressor, EQ etc.
Would be nice to use like only 1-4 Faders/Rotaries and affect what those faders/Rotaries control with RotaryPush.
Like RotaryPush1 sets Faders 1-4 for EQ, RotaryPush2 sets Faders 1-4 for a Compressor.

I have an idea how that would be done but since FX Zone requires full name of the VST, so I am not sure.. Or is it possible to use like TrackBanks for FX Zones?
StormBlåst is offline   Reply With Quote
Old 11-26-2020, 12:18 AM   #55
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Funkybot View Post
Yes, you'd likely have two sets of .mst files and .zon folders: one for the X-Touch and one for the Extender. Then you would just add both devices to the same "Page" in CSI and they'd act as one big surface. It doesn't need to stop there either. You could buy an ICON surface and add it to the fray, or a Eucon device. They'll all work together. That's kind of what CSI does over any other system I've seen. It allows you to combine multiple surfaces into a single cohesive setup.
Okay interesting. And it looks like with the exception of using SelectedTrackNavigator, the channels don't overlap. So I wouldn't be able to use a MF Twister to add a bunch of knobs to an X-Touch, right? Basically where both devices control different aspects of bank channels 1-8 - that's not a thing I can do with CSI today.
paat is offline   Reply With Quote
Old 11-26-2020, 01:36 AM   #56
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

I am working on a zone for MF Twister. Right now I am able to select tracks, and change the encoder light color to indicate the selected track.

Two things I want to know:

1. Can I set the default color for an encoder for each zone?
2. How do I turn off the lights?

Right now what I'm doing is I used Midi Fighter Utility to set the default states to off. The config I have below works - but it relies on the default config being off. I would like the lights to turn off when the zone loads.

Code:
Zone Home
  IncludedZones
    "Channel|"
  IncludedZonesEnd
ZoneEnd

Zone "Channel|"
  TrackNavigator
  Rotary| TrackVolume
  Button| TrackUniqueSelect { 0 145 255 255 188 0 }
ZoneEnd
I tried adding a "Buttons" zone to set an initial value, but that didn't do it:

Code:
Zone "Buttons"
  Button3 NoAction { 90 255 0 90 255 0 }
ZoneEnd
Finally, what is with this three-part RGB value that we need to send to MFT? According to the manual, you set the color by sending a CC value of 1-126:

Attached Images
File Type: png Screen Shot 2020-11-26 at 12.34.10 AM.png (41.6 KB, 753 views)
paat is offline   Reply With Quote
Old 11-26-2020, 02:46 AM   #57
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

What am I missing with TrackBank? I see examples all over the place, but my config doesn't work. The button works if I map it to Play, but not TrackBank. It also works fine if I use "Reaper 40286" to call the built in next / previous track actions.

Code:
Zone Home
  IncludedZones
    "GlobalButtons"
    "Channel|"
  IncludedZonesEnd
ZoneEnd

Zone "Channel|"
  TrackNavigator
  Rotary| TrackVolume
  Button| TrackUniqueSelect { 0 145 255 255 188 0 }
ZoneEnd

Zone "GlobalButtons"
  Button15 TrackBank "-1"
  Button16 TrackBank "1"

  Button13 Play { 255 188 0 25 255 0 }
  Button14 Stop { 255 50 0 0 0 0 }
ZoneEnd
paat is offline   Reply With Quote
Old 11-26-2020, 02:49 AM   #58
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by StormBlåst View Post
So basicly I mean that my surfaces (Pro X and Pro XS) don't sync Zones.
For example, I have "Rotary| GoZone Pan" in my "Channel" Zone.
And in "Pan" Zone it changes couple of behaviours, mainly RotaryPushes And Displays

Code:
Zone "Pan"
   TrackNavigator
   DisplayUpper|     TrackNameDisplay
   DisplayLower|     TrackPanDisplay
   Rotary|           TrackPan "1"
   nameValue         GoZone Home
   Shift+nameValue   GoZone PanWidth
   RotaryPush|       TrackUniqueSelect
   RotaryPush|   Reaper _XENAKIOS_PANTRACKSCENTER
   Fader|           TrackVolume
   FaderTouch+Fader| GoZone Channel
   Blank1           GoZone "Channel"
ZoneEnd
But that Zone changes only affects in my Pro X if I use Rotaries in main unit and only Pro XS if I use Rotaries on my Pro XS, not for both.
So I think they don't quite Sync Zones between?


Also, I would like to combine my units to have 16 faders for FX Zones but how would one do that, is it possible?
And , is it possible to make multiple FX zones for same FX?
I mean for example I have BX SSL channelstrip which have Filters, Gate, Compressor, EQ etc.
Would be nice to use like only 1-4 Faders/Rotaries and affect what those faders/Rotaries control with RotaryPush.
Like RotaryPush1 sets Faders 1-4 for EQ, RotaryPush2 sets Faders 1-4 for a Compressor.

I have an idea how that would be done but since FX Zone requires full name of the VST, so I am not sure.. Or is it possible to use like TrackBanks for FX Zones?
We are currently designing a sync Zones feature, thanks for your inout to the design process, the more use cases we have the better.

As far as the EQ/Compressor mapping, you are talking about the concept of sub zones.

@MixMonkey had a workaround to do this, not sure if it still works with the new architecture, but yeah, it's also on the to do list.
__________________
To install you need the CSI 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 11-26-2020, 02:58 AM   #59
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
I am working on a zone for MF Twister. Right now I am able to select tracks, and change the encoder light color to indicate the selected track.

Two things I want to know:

1. Can I set the default color for an encoder for each zone?
2. How do I turn off the lights?

Right now what I'm doing is I used Midi Fighter Utility to set the default states to off. The config I have below works - but it relies on the default config being off. I would like the lights to turn off when the zone loads.

Code:
Zone Home
  IncludedZones
    "Channel|"
  IncludedZonesEnd
ZoneEnd

Zone "Channel|"
  TrackNavigator
  Rotary| TrackVolume
  Button| TrackUniqueSelect { 0 145 255 255 188 0 }
ZoneEnd
I tried adding a "Buttons" zone to set an initial value, but that didn't do it:

Code:
Zone "Buttons"
  Button3 NoAction { 90 255 0 90 255 0 }
ZoneEnd
Finally, what is with this three-part RGB value that we need to send to MFT? According to the manual, you set the color by sending a CC value of 1-126:

Ugh, back to the terrible way some manufacturers refer to control surface protocol.

It's not Midi, it's not Midi, it's not Midi

Control surfaces repurpose Midi, so note on/off, cc, channels etc. are meaningless concepts.

I REALLY wish they would just say byte1, byte2, byte3

CSI allows actions to set off and on RGB values -- they are stated in that order -- so for off = black and on = white, it is { 0 0 0 255 255 255 }

CSI automatically translates the RGB values to MFT values, so you can ignore the spec, CSI does the translation for you, just use RGB and you'll be fine
__________________
To install you need the CSI 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 11-26-2020, 03:00 AM   #60
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
What am I missing with TrackBank? I see examples all over the place, but my config doesn't work. The button works if I map it to Play, but not TrackBank. It also works fine if I use "Reaper 40286" to call the built in next / previous track actions.

Code:
Zone Home
  IncludedZones
    "GlobalButtons"
    "Channel|"
  IncludedZonesEnd
ZoneEnd

Zone "Channel|"
  TrackNavigator
  Rotary| TrackVolume
  Button| TrackUniqueSelect { 0 145 255 255 188 0 }
ZoneEnd

Zone "GlobalButtons"
  Button15 TrackBank "-1"
  Button16 TrackBank "1"

  Button13 Play { 255 188 0 25 255 0 }
  Button14 Stop { 255 50 0 0 0 0 }
ZoneEnd
Your Channel definition is wrong -- you have Channel| -- should be Channel for CSI version 1.
__________________
To install you need the CSI 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 11-26-2020, 03:21 AM   #61
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default Console1Fader.mst

Here's the *.mst for the Softube Console 1 Fader (10 channels).

Code:
/ Softube Console 1 Fader definitions. All buttons are at least 2-state, meaning we use AnyPress and FB_TwoState.
/ Faders are Fader7Bit / FB_Fader7Bit.
/ Here, as opposed to on the C1, the "Shift"-button DOES send data.
/ I've tried to stay as close to the printed labels as possible for the widget names.


		/Starting with definitions for the 10 channels, Fader, Solo, Mute, TrackSelect
		
Widget Fader1 
    Fader7Bit b0 64 7f
    FB_Fader7Bit b0 64 7f
    Touch b0 0a 7f
WidgetEnd  

Widget Fader2 
    Fader7Bit b0 66 7f
    FB_Fader7Bit b0 66 7f
    Touch b0 09 7f
WidgetEnd  

Widget Fader3 
    Fader7Bit b0 68 7f
    FB_Fader7Bit b0 68 7f
    Touch b0 08 7f
WidgetEnd  

Widget Fader4
    Fader7Bit b0 6a 7f
    FB_Fader7Bit b0 6a 7f
    Touch b0 07 7f b0 07 00
WidgetEnd  

Widget Fader5 
    Fader7Bit b0 6c 7f
    FB_Fader7Bit b0 6c 7f
    Touch b0 06 7f b0 06 00
WidgetEnd  

Widget Fader6
    Fader7Bit b0 6e 7f
    FB_Fader7Bit b0 6e 7f
    Touch b0 05 7f b0 05 00
WidgetEnd  

Widget Fader7
    Fader7Bit b0 70 7f
    FB_Fader7Bit b0 70 7f
    Touch b0 04 7f b0 04 00
WidgetEnd  

Widget Fader8
    Fader7Bit b0 72 7f
    FB_Fader7Bit b0 72 7f
    Touch b0 03 7f b0 03 00
WidgetEnd  

Widget Fader9
    Fader7Bit b0 74 7f
    FB_Fader7Bit b0 74 7f
    Touch b0 02 7f b0 02 00
WidgetEnd  

Widget Fader10 
    Fader7Bit b0 76 7f
    FB_Fader7Bit b0 76 7f
    Touch b0 01 7f b0 01 00
WidgetEnd  

Widget Solo1
	AnyPress b0 3f 7f
	FB_TwoState b0 3f 7f b0 3f 00
WidgetEnd

Widget Solo2
	AnyPress b0 3c 7f
	FB_TwoState b0 3c 7f b0 3c 00
WidgetEnd

Widget Solo3
	AnyPress b0 39 7f
	FB_TwoState b0 39 7f b0 39 00
WidgetEnd

Widget Solo4
	AnyPress b0 36 7f
	FB_TwoState b0 36 7f b0 36 00
WidgetEnd

Widget Solo5
	AnyPress b0 33 7f
	FB_TwoState b0 33 7f b0 33 00
WidgetEnd

Widget Solo6
	AnyPress b0 30 7f
	FB_TwoState b0 30 7f b0 30 00
WidgetEnd

Widget Solo7
	AnyPress b0 2d 7f
	FB_TwoState b0 2d 7f b0 2d 00
WidgetEnd

Widget Solo8
	AnyPress b0 2a 7f
	FB_TwoState b0 2a 7f b0 2a 00
WidgetEnd

Widget Solo9
	AnyPress b0 27 7f
	FB_TwoState b0 27 7f b0 27 00
WidgetEnd

Widget Solo10
	AnyPress b0 24 7f
	FB_TwoState b0 24 7f b0 24 00
WidgetEnd

Widget Mute1
	AnyPress b0 3e 7f
	FB_TwoState b0 3e 7f b0 3e 00
WidgetEnd

Widget Mute2
	AnyPress b0 3b 7f
	FB_TwoState b0 3b 7f b0 3b 00
WidgetEnd

Widget Mute3
	AnyPress b0 38 7f
	FB_TwoState b0 38 7f b0 38 00
WidgetEnd

Widget Mute4
	AnyPress b0 35 7f
	FB_TwoState b0 35 7f b0 35 00
WidgetEnd

Widget Mute5
	AnyPress b0 32 7f
	FB_TwoState b0 32 7f b0 32 00
WidgetEnd

Widget Mute6
	AnyPress b0 2f 7f
	FB_TwoState b0 2f 7f b0 2f 00
WidgetEnd

Widget Mute7
	AnyPress b0 2c 7f
	FB_TwoState b0 2c 7f b0 2c 00
WidgetEnd

Widget Mute8
	AnyPress b0 29 7f
	FB_TwoState b0 29 7f b0 29 00
WidgetEnd

Widget Mute9
	AnyPress b0 26 7f
	FB_TwoState b0 26 7f b0 26 00
WidgetEnd

Widget Mute10
	AnyPress b0 23 7f
	FB_TwoState b0 23 7f b0 23 00
WidgetEnd

Widget TrackSelect1
	AnyPress b0 3d 7f
	FB_TwoState b0 3d 7f b0 3d 00
WidgetEnd

Widget TrackSelect2
	AnyPress b0 3a 7f
	FB_TwoState b0 3a 7f b0 3a 00
WidgetEnd

Widget TrackSelect3
	AnyPress b0 37 7f
	FB_TwoState b0 37 7f b0 37 00
WidgetEnd

Widget TrackSelect4
	AnyPress b0 34 7f
	FB_TwoState b0 34 7f b0 34 00
WidgetEnd

Widget TrackSelect5
	AnyPress b0 31 7f
	FB_TwoState b0 31 7f b0 31 00
WidgetEnd

Widget TrackSelect6
	AnyPress b0 2e 7f
	FB_TwoState b0 2e 7f b0 2e 00
WidgetEnd

Widget TrackSelect7
	AnyPress b0 2b 7f
	FB_TwoState b0 2b 7f b0 2b 00
WidgetEnd

Widget TrackSelect8
	AnyPress b0 28 7f
	FB_TwoState b0 28 7f b0 28 00
WidgetEnd

Widget TrackSelect9
	AnyPress b0 25 7f
	FB_TwoState b0 25 7f b0 25 00
WidgetEnd

Widget TrackSelect10
	AnyPress b0 22 7f
	FB_TwoState b0 22 7f b0 22 00
WidgetEnd

		/ Top right buttons
 
Widget PageMinus
	AnyPress b0 21 7f
	FB_TwoState b0 21 7f b0 21 00
WidgetEnd
 
Widget PagePlus
	AnyPress b0 20 7f
	FB_TwoState b0 20 7f b0 20 00
WidgetEnd

Widget DisplayOn
	AnyPress b0 1f 7f
	FB_TwoState b0 1f 7f b0 1f 00
WidgetEnd

Widget DisplayMode
	AnyPress b0 1e 7f
	FB_TwoState b0 1e 7f b0 1e 00
WidgetEnd

Widget LoadDrive
	AnyPress b0 1d 7f
	FB_TwoState b0 1d 7f b0 1d 00
WidgetEnd

Widget Settings
	AnyPress b0 1f 7f
	FB_TwoState b0 1f 7f b0 1f 00
WidgetEnd

		/ Fader Mode buttons

Widget Send1
	AnyPress b0 1b 7f
	FB_TwoState b0 1b 7f b0 1b 00
WidgetEnd

Widget Send2
	AnyPress b0 1a 7f
	FB_TwoState b0 1a 7f b0 1a 00
WidgetEnd

Widget Send3
	AnyPress b0 19 7f
	FB_TwoState b0 19 7f b0 19 00
WidgetEnd

Widget Volume
	AnyPress b0 15 7f
	FB_TwoState b0 15 7f b0 15 00
WidgetEnd

Widget Drive
	AnyPress b0 14 7f
	FB_TwoState b0 14 7f b0 14 00
WidgetEnd

Widget Character
	AnyPress b0 13 7f
	FB_TwoState b0 13 7f b0 13 00
WidgetEnd

Widget InputGain
	AnyPress b0 10 7f
	FB_TwoState b0 10 7f b0 10 00
WidgetEnd

Widget LowCut
	AnyPress b0 0c 7f
	FB_TwoState b0 0c 7f b0 0c 00
WidgetEnd

Widget HighCut
	AnyPress b0 0f 7f
	FB_TwoState b0 0f 7f b0 0f 00
WidgetEnd

		/ Assignable buttons

Widget Rew
	AnyPress b0 18 7f
	FB_TwoState b0 18 7f b0 18 00
WidgetEnd

Widget PlayPause
	AnyPress b0 17 7f
	FB_TwoState b0 17 7f b0 17 00
WidgetEnd

Widget Ffwd
	AnyPress b0 16 7f
	FB_TwoState b0 16 7f b0 16 00
WidgetEnd

		/Bottom right buttons
		
Widget Solo
	AnyPress b0 12 7f
	FB_TwoState b0 12 7f b0 12 00
WidgetEnd

Widget Mute
	AnyPress b0 11 7f
	FB_TwoState b0 11 7f b0 11 00
WidgetEnd

Widget LayerMode
	AnyPress b0 0e 7f
	FB_TwoState b0 0e 7f b0 0e 00
WidgetEnd

Widget AssignTrackToLayer
	AnyPress b0 0d 7f
	FB_TwoState b0 0d 7f b0 0d 00
WidgetEnd

Widget Shift
	AnyPress b0 0b 7f
	FB_TwoState b0 0b 7f b0 0b 00
WidgetEnd

		/ The Pan, Select knob

Widget PanSelect
    Fader7Bit b0 78 7f
    FB_Fader7Bit b0 78 7f
WidgetEnd 


		/ Not sure what the metering widgets are, but there's lots of metering with colors and stuff possible on this surface. Below are some widgets from Console1.

/Widget CompressorMeter
/	FB_GainReductionMeter b0 73 00
/WidgetEnd

/Widget InputMeterLeft
/	FB_VUMeter b0 6e 00
/WidgetEnd

/Widget InputMeterRight
/	FB_VUMeter b0 6f 00
/WidgetEnd

/Widget OutputMeterLeft
/	FB_VUMeter b0 70 00
/WidgetEnd

/Widget OutputMeterRight
/	FB_VUMeter b0 71 00
/WidgetEnd
ramses is offline   Reply With Quote
Old 11-26-2020, 03:22 AM   #62
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by ramses View Post
Here's the *.mst for the Softube Console 1 Fader (10 channels).

Code:
/ Softube Console 1 Fader definitions. All buttons are at least 2-state, meaning we use AnyPress and FB_TwoState.
/ Faders are Fader7Bit / FB_Fader7Bit.
/ Here, as opposed to on the C1, the "Shift"-button DOES send data.
/ I've tried to stay as close to the printed labels as possible for the widget names.


		/Starting with definitions for the 10 channels, Fader, Solo, Mute, TrackSelect
		
Widget Fader1 
    Fader7Bit b0 64 7f
    FB_Fader7Bit b0 64 7f
    Touch b0 0a 7f
WidgetEnd  

Widget Fader2 
    Fader7Bit b0 66 7f
    FB_Fader7Bit b0 66 7f
    Touch b0 09 7f
WidgetEnd  

Widget Fader3 
    Fader7Bit b0 68 7f
    FB_Fader7Bit b0 68 7f
    Touch b0 08 7f
WidgetEnd  

Widget Fader4
    Fader7Bit b0 6a 7f
    FB_Fader7Bit b0 6a 7f
    Touch b0 07 7f b0 07 00
WidgetEnd  

Widget Fader5 
    Fader7Bit b0 6c 7f
    FB_Fader7Bit b0 6c 7f
    Touch b0 06 7f b0 06 00
WidgetEnd  

Widget Fader6
    Fader7Bit b0 6e 7f
    FB_Fader7Bit b0 6e 7f
    Touch b0 05 7f b0 05 00
WidgetEnd  

Widget Fader7
    Fader7Bit b0 70 7f
    FB_Fader7Bit b0 70 7f
    Touch b0 04 7f b0 04 00
WidgetEnd  

Widget Fader8
    Fader7Bit b0 72 7f
    FB_Fader7Bit b0 72 7f
    Touch b0 03 7f b0 03 00
WidgetEnd  

Widget Fader9
    Fader7Bit b0 74 7f
    FB_Fader7Bit b0 74 7f
    Touch b0 02 7f b0 02 00
WidgetEnd  

Widget Fader10 
    Fader7Bit b0 76 7f
    FB_Fader7Bit b0 76 7f
    Touch b0 01 7f b0 01 00
WidgetEnd  

Widget Solo1
	AnyPress b0 3f 7f
	FB_TwoState b0 3f 7f b0 3f 00
WidgetEnd

Widget Solo2
	AnyPress b0 3c 7f
	FB_TwoState b0 3c 7f b0 3c 00
WidgetEnd

Widget Solo3
	AnyPress b0 39 7f
	FB_TwoState b0 39 7f b0 39 00
WidgetEnd

Widget Solo4
	AnyPress b0 36 7f
	FB_TwoState b0 36 7f b0 36 00
WidgetEnd

Widget Solo5
	AnyPress b0 33 7f
	FB_TwoState b0 33 7f b0 33 00
WidgetEnd

Widget Solo6
	AnyPress b0 30 7f
	FB_TwoState b0 30 7f b0 30 00
WidgetEnd

Widget Solo7
	AnyPress b0 2d 7f
	FB_TwoState b0 2d 7f b0 2d 00
WidgetEnd

Widget Solo8
	AnyPress b0 2a 7f
	FB_TwoState b0 2a 7f b0 2a 00
WidgetEnd

Widget Solo9
	AnyPress b0 27 7f
	FB_TwoState b0 27 7f b0 27 00
WidgetEnd

Widget Solo10
	AnyPress b0 24 7f
	FB_TwoState b0 24 7f b0 24 00
WidgetEnd

Widget Mute1
	AnyPress b0 3e 7f
	FB_TwoState b0 3e 7f b0 3e 00
WidgetEnd

Widget Mute2
	AnyPress b0 3b 7f
	FB_TwoState b0 3b 7f b0 3b 00
WidgetEnd

Widget Mute3
	AnyPress b0 38 7f
	FB_TwoState b0 38 7f b0 38 00
WidgetEnd

Widget Mute4
	AnyPress b0 35 7f
	FB_TwoState b0 35 7f b0 35 00
WidgetEnd

Widget Mute5
	AnyPress b0 32 7f
	FB_TwoState b0 32 7f b0 32 00
WidgetEnd

Widget Mute6
	AnyPress b0 2f 7f
	FB_TwoState b0 2f 7f b0 2f 00
WidgetEnd

Widget Mute7
	AnyPress b0 2c 7f
	FB_TwoState b0 2c 7f b0 2c 00
WidgetEnd

Widget Mute8
	AnyPress b0 29 7f
	FB_TwoState b0 29 7f b0 29 00
WidgetEnd

Widget Mute9
	AnyPress b0 26 7f
	FB_TwoState b0 26 7f b0 26 00
WidgetEnd

Widget Mute10
	AnyPress b0 23 7f
	FB_TwoState b0 23 7f b0 23 00
WidgetEnd

Widget TrackSelect1
	AnyPress b0 3d 7f
	FB_TwoState b0 3d 7f b0 3d 00
WidgetEnd

Widget TrackSelect2
	AnyPress b0 3a 7f
	FB_TwoState b0 3a 7f b0 3a 00
WidgetEnd

Widget TrackSelect3
	AnyPress b0 37 7f
	FB_TwoState b0 37 7f b0 37 00
WidgetEnd

Widget TrackSelect4
	AnyPress b0 34 7f
	FB_TwoState b0 34 7f b0 34 00
WidgetEnd

Widget TrackSelect5
	AnyPress b0 31 7f
	FB_TwoState b0 31 7f b0 31 00
WidgetEnd

Widget TrackSelect6
	AnyPress b0 2e 7f
	FB_TwoState b0 2e 7f b0 2e 00
WidgetEnd

Widget TrackSelect7
	AnyPress b0 2b 7f
	FB_TwoState b0 2b 7f b0 2b 00
WidgetEnd

Widget TrackSelect8
	AnyPress b0 28 7f
	FB_TwoState b0 28 7f b0 28 00
WidgetEnd

Widget TrackSelect9
	AnyPress b0 25 7f
	FB_TwoState b0 25 7f b0 25 00
WidgetEnd

Widget TrackSelect10
	AnyPress b0 22 7f
	FB_TwoState b0 22 7f b0 22 00
WidgetEnd

		/ Top right buttons
 
Widget PageMinus
	AnyPress b0 21 7f
	FB_TwoState b0 21 7f b0 21 00
WidgetEnd
 
Widget PagePlus
	AnyPress b0 20 7f
	FB_TwoState b0 20 7f b0 20 00
WidgetEnd

Widget DisplayOn
	AnyPress b0 1f 7f
	FB_TwoState b0 1f 7f b0 1f 00
WidgetEnd

Widget DisplayMode
	AnyPress b0 1e 7f
	FB_TwoState b0 1e 7f b0 1e 00
WidgetEnd

Widget LoadDrive
	AnyPress b0 1d 7f
	FB_TwoState b0 1d 7f b0 1d 00
WidgetEnd

Widget Settings
	AnyPress b0 1f 7f
	FB_TwoState b0 1f 7f b0 1f 00
WidgetEnd

		/ Fader Mode buttons

Widget Send1
	AnyPress b0 1b 7f
	FB_TwoState b0 1b 7f b0 1b 00
WidgetEnd

Widget Send2
	AnyPress b0 1a 7f
	FB_TwoState b0 1a 7f b0 1a 00
WidgetEnd

Widget Send3
	AnyPress b0 19 7f
	FB_TwoState b0 19 7f b0 19 00
WidgetEnd

Widget Volume
	AnyPress b0 15 7f
	FB_TwoState b0 15 7f b0 15 00
WidgetEnd

Widget Drive
	AnyPress b0 14 7f
	FB_TwoState b0 14 7f b0 14 00
WidgetEnd

Widget Character
	AnyPress b0 13 7f
	FB_TwoState b0 13 7f b0 13 00
WidgetEnd

Widget InputGain
	AnyPress b0 10 7f
	FB_TwoState b0 10 7f b0 10 00
WidgetEnd

Widget LowCut
	AnyPress b0 0c 7f
	FB_TwoState b0 0c 7f b0 0c 00
WidgetEnd

Widget HighCut
	AnyPress b0 0f 7f
	FB_TwoState b0 0f 7f b0 0f 00
WidgetEnd

		/ Assignable buttons

Widget Rew
	AnyPress b0 18 7f
	FB_TwoState b0 18 7f b0 18 00
WidgetEnd

Widget PlayPause
	AnyPress b0 17 7f
	FB_TwoState b0 17 7f b0 17 00
WidgetEnd

Widget Ffwd
	AnyPress b0 16 7f
	FB_TwoState b0 16 7f b0 16 00
WidgetEnd

		/Bottom right buttons
		
Widget Solo
	AnyPress b0 12 7f
	FB_TwoState b0 12 7f b0 12 00
WidgetEnd

Widget Mute
	AnyPress b0 11 7f
	FB_TwoState b0 11 7f b0 11 00
WidgetEnd

Widget LayerMode
	AnyPress b0 0e 7f
	FB_TwoState b0 0e 7f b0 0e 00
WidgetEnd

Widget AssignTrackToLayer
	AnyPress b0 0d 7f
	FB_TwoState b0 0d 7f b0 0d 00
WidgetEnd

Widget Shift
	AnyPress b0 0b 7f
	FB_TwoState b0 0b 7f b0 0b 00
WidgetEnd

		/ The Pan, Select knob

Widget PanSelect
    Fader7Bit b0 78 7f
    FB_Fader7Bit b0 78 7f
WidgetEnd 


		/ Not sure what the metering widgets are, but there's lots of metering with colors and stuff possible on this surface. Below are some widgets from Console1.

/Widget CompressorMeter
/	FB_GainReductionMeter b0 73 00
/WidgetEnd

/Widget InputMeterLeft
/	FB_VUMeter b0 6e 00
/WidgetEnd

/Widget InputMeterRight
/	FB_VUMeter b0 6f 00
/WidgetEnd

/Widget OutputMeterLeft
/	FB_VUMeter b0 70 00
/WidgetEnd

/Widget OutputMeterRight
/	FB_VUMeter b0 71 00
/WidgetEnd
Thanks !
__________________
To install you need the CSI 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 11-26-2020, 03:27 AM   #63
ramses
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,231
Default

Question:

How do I utilize the "touch" part of the Console 1 Fader Fader-definition widget?

I want touching the fader to select the track, is this possible under the present regime?
ramses is offline   Reply With Quote
Old 11-26-2020, 03:44 AM   #64
WaveTrans
Human being with feelings
 
Join Date: Aug 2019
Location: Forest City
Posts: 336
Default

Quote:
Originally Posted by Funkybot View Post
Yes, you'd likely have two sets of .mst files and .zon folders: one for the X-Touch and one for the Extender. Then you would just add both devices to the same "Page" in CSI and they'd act as one big surface. It doesn't need to stop there either. You could buy an ICON surface and add it to the fray, or a Eucon device. They'll all work together. That's kind of what CSI does over any other system I've seen. It allows you to combine multiple surfaces into a single cohesive setup.

There were some files for the X-Touch and X-Touch Extenders here but the syntax has recently changed so these would need updating:

https://siniarch.wixsite.com/csiconfigfiles

The syntax changes are outlined here (they're really easy, post back if you have questions):

https://forum.cockos.com/showpost.ph...ostcount=11490
That is basically my setup,only I use Icon procudcts Nano and X+.

Used to work fine that way and works with FX now but I miss toggling sends to the X+ (8 channels)

Is there a way to toggle map sends on the 8 channel surface? Used to work before.

Now I only manage to map sends to the nano which carries the buttons the widget is assigned to. (X+ has no buttons)

If I use a virtual widget, the X+ is permanently in sends mode.

I tried setting the nano to 0/0/0 but that did not help that matter.
WaveTrans is offline   Reply With Quote
Old 11-26-2020, 04:20 AM   #65
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Geoff Waddington View Post
Ugh, back to the terrible way some manufacturers refer to control surface protocol.

It's not Midi, it's not Midi, it's not Midi

Control surfaces repurpose Midi, so note on/off, cc, channels etc. are meaningless concepts.

I REALLY wish they would just say byte1, byte2, byte3

CSI allows actions to set off and on RGB values -- they are stated in that order -- so for off = black and on = white, it is { 0 0 0 255 255 255 }

CSI automatically translates the RGB values to MFT values, so you can ignore the spec, CSI does the translation for you, just use RGB and you'll be fine
Hrm I asked my question based on the wiki documentation which says that each MFT color has to have a 0 and a 255 somewhere in it. I did put in arbitrary RGB values and it didn't seem to recognize it.

On the other hand, I used a different DAW and sent the controller some simple CC values 1-126 on channel 2 and it did set the color as expected. Additionally, the Midi Fighter Twister has other specific functionality when sending CC on channel 6 - strobe, pulse, brightness, etc. It turns out sending CC value 17 on channel 6 turns off the light.

So it would be useful to be able to target the MFT for the current CC, on a given channel with a given value. That would let me initialize the light configuration (setting colors and brightness), and set a pulsing light for an important parameter.
paat is offline   Reply With Quote
Old 11-26-2020, 04:20 AM   #66
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Geoff Waddington View Post
Your Channel definition is wrong -- you have Channel| -- should be Channel for CSI version 1.
Okay! I thought "Channel|" was just a naming convention to indicate that the zone is multi-channel based. Thanks
paat is offline   Reply With Quote
Old 11-26-2020, 05:02 AM   #67
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Are Hold+ directives supposed to execute both commands, one for the main element and one for the hold? I am thinking of Hold as being an alternate instruction. For example, in this config:

Code:
Widget Button10
  Press b1 09 7f b1 09 00
  FB_MFT_RGB b1 09 7f
WidgetEnd


  Button10 Reaper "_S&M_SELFXNEXT" // Select next FX
  Hold+Button10 Reaper "_S&M_SELFXPREV" // Select previous FX
Select next FX works as expected. However, select previous FX does not - it selects the next FX (the button instruction), and then goes to the previous FX, effectively staying on the same one. I could select previous FX twice, which works in this specific scenario, but it's slower and I think is a confusing way to work.

I assumed that because I am holding the button, and it hasn't yet sent the note off, that the Button10 instruction wouldn't fire. This way I get two functions from one button - one for a normal press, and an alternate function for a hold. That doesn't seem to be the case though.

Is there a way for Hold to be an alternate command rather than a secondary one?
paat is offline   Reply With Quote
Old 11-26-2020, 06:41 AM   #68
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
Hrm I asked my question based on the wiki documentation which says that each MFT color has to have a 0 and a 255 somewhere in it. I did put in arbitrary RGB values and it didn't seem to recognize it.

On the other hand, I used a different DAW and sent the controller some simple CC values 1-126 on channel 2 and it did set the color as expected. Additionally, the Midi Fighter Twister has other specific functionality when sending CC on channel 6 - strobe, pulse, brightness, etc. It turns out sending CC value 17 on channel 6 turns off the light.

So it would be useful to be able to target the MFT for the current CC, on a given channel with a given value. That would let me initialize the light configuration (setting colors and brightness), and set a pulsing light for an important parameter.
Oops, my bad, that MFT is one unique beast

Once again they are not channels or cc's, the Midi protocol has been repurposed, they are just 3 byte messages.

However, I think we can add logic to do what you want.

If you could provide the 3 byte messages needed to accomplish strobe, pulse, brightness, off, etc., I can add these to the MFT widget and you can then just specify them as you do for colour.
__________________
To install you need the CSI 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 11-26-2020, 06:46 AM   #69
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
Are Hold+ directives supposed to execute both commands, one for the main element and one for the hold? I am thinking of Hold as being an alternate instruction. For example, in this config:

Code:
Widget Button10
  Press b1 09 7f b1 09 00
  FB_MFT_RGB b1 09 7f
WidgetEnd


  Button10 Reaper "_S&M_SELFXNEXT" // Select next FX
  Hold+Button10 Reaper "_S&M_SELFXPREV" // Select previous FX
Select next FX works as expected. However, select previous FX does not - it selects the next FX (the button instruction), and then goes to the previous FX, effectively staying on the same one. I could select previous FX twice, which works in this specific scenario, but it's slower and I think is a confusing way to work.

I assumed that because I am holding the button, and it hasn't yet sent the note off, that the Button10 instruction wouldn't fire. This way I get two functions from one button - one for a normal press, and an alternate function for a hold. That doesn't seem to be the case though.

Is there a way for Hold to be an alternate command rather than a secondary one?
Yeah, hold doesn't work like that, as you have discovered

It's more for things like this -- suppose you have a button mapped to toggle the metronome on/off -- you could add a Hold function that would display the metronome settings dialog if you held the button down -- that's what hold is for.

You probably want to set up a modifier.

You need a free button on your surface that generates both press and release.

You can then map that to a modifier -- e.g. Shift.

Now Button10 selects next, Shift+ Button10 selects previous.
__________________
To install you need the CSI 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 11-26-2020, 06:48 AM   #70
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
Okay! I thought "Channel|" was just a naming convention to indicate that the zone is multi-channel based. Thanks
It used to be that way, pre version 1. Now that is determined by the number of Channels you set up in config.

Note that you still need the | symbols within the Zone definition, just not in the zone name.
__________________
To install you need the CSI 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 11-26-2020, 01:30 PM   #71
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

Been trying to setup phone with OSC, (previously had tablet working on earlier version but it took a swim)

So first I was seeing IP on phone as v6 so sorted that,

Haven't looked at the syntax in the .ost file, I'm sure it all needs updated, but am I correct to assume, that even so, I should be seeing atleast info coming into reaper via the show input action, even if reaper and csi don't know what to do with said messages.

I'm getting nothing and I'm kinda stumped now.

UPDATE: I'm seeing display changes on the phone, ie Stop, Play, click. cycle, but nothing from phone seems to do anything in reaper.
Also the CSI actions seem a bit hit and miss. sometimes they work, some times they don't.

Last edited by Freex; 11-26-2020 at 03:16 PM.
Freex is offline   Reply With Quote
Old 11-26-2020, 01:42 PM   #72
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Geoff Waddington View Post
Oops, my bad, that MFT is one unique beast
It really is! I've been pleased with how quickly I've been able to program a straightforward controller setup with CSI (thank you!!!). Where it lacks in scribble strips, it makes up for with color and animation. It allows for making a powerful, compact, relatively inexpensive controller.

Quote:
Originally Posted by Geoff Waddington View Post
Once again they are not channels or cc's, the Midi protocol has been repurposed, they are just 3 byte messages.

However, I think we can add logic to do what you want.

If you could provide the 3 byte messages needed to accomplish strobe, pulse, brightness, off, etc., I can add these to the MFT widget and you can then just specify them as you do for colour.
(I believe the color can be greatly simplified, per my notes below. I honestly don't understand the current RGB-ish syntax.)

Okay I believe I understand what you're saying. Here's some information that I believe will be helpful - please ask me to clarify anything, you have a much better understanding of all this than I do!

The TLDR of this is:

Code:
Color = { b1 ORIG VALUE }
Animation = { b5 ORIG VALUE }
Where ORIG corresponds to the second byte sent by the device. Value is whatever we want to send to the device.

I will describe the functions the way the manual does (paraphrased), and share my findings on corresponding byte messages.

Here is a simple configuration for a button + rotary combo:

Code:
Widget Page2Rotary
  Fader7Bit b0 1f 7f
  FB_Fader7Bit b0 1f 7f
WidgetEnd

Widget Page2Button
  Press b1 1f 7f b1 1f 00
WidgetEnd
Color

Manual: Send the same MIDI message (note or CC) on channel 2. Value 0 forces to inactive state, 127 forces to active state (both are defined by MF Utility app). Values 1-126 set the color directly.

Code:
{ b1 1f 00 } // force inactive color
{ b1 1f 7f } // force active color
{ b1 1f 20 } // light blue
{ b1 1f 4a } // orange
Animation / Brightness

Manual: Send the MIDI message on channel 6. Supports RGB Strobe / Pulse / Brightness, Indicator Strobe / Pulse / Brightness, Rainbow

Code:
{ b5 1f 00 } // reset animation

// These apply to the colorful light below the encoder

{ b5 1f 01 } // strobe slow
{ b5 1f 08 } // strobe fast

{ b5 1f 09 } // strobe slow
{ b5 1f 10 } // strobe fast

{ b5 1f 11 } // light off
{ b5 1f 2f } // max brightness per manual
{ b5 1f 30 } // max brightness per my test

// These apply to the white encoder ring value

{ b5 1f 31 } // indicator strobe slow
{ b5 1f 38 } // indicator strobe fast

{ b5 1f 39 } // indicator pulse slow
{ b5 1f 40 } // indicator pulse fast

{ b5 1f 41 } // light off
{ b5 1f 5f } // max brightness per manual
{ b5 1f 60 } // max brightness per my test

// Special rainbow animation
{ b5 1f 7f }
paat is offline   Reply With Quote
Old 11-26-2020, 01:57 PM   #73
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yeah, hold doesn't work like that, as you have discovered

It's more for things like this -- suppose you have a button mapped to toggle the metronome on/off -- you could add a Hold function that would display the metronome settings dialog if you held the button down -- that's what hold is for.

You probably want to set up a modifier.

You need a free button on your surface that generates both press and release.

You can then map that to a modifier -- e.g. Shift.

Now Button10 selects next, Shift+ Button10 selects previous.
Very cool! Got it working, thank you
paat is offline   Reply With Quote
Old 11-26-2020, 02:24 PM   #74
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Quote:
Originally Posted by paat View Post
It really is! I've been pleased with how quickly I've been able to program a straightforward controller setup with CSI (thank you!!!). Where it lacks in scribble strips, it makes up for with color and animation. It allows for making a powerful, compact, relatively inexpensive controller.
I love my MFTwister and using CSI I was able to create a TouchOSC layout that mirrors the device and includes displays to label each button, encoder, and shift encoder, as well as show their values. It takes the setup to a whole new level because I keep my eyes on the iPad and my hands on the Twister. And you can use the TouchOSC layout alone with no iPad and just have a tablet version of the Twister with displays (example: I'm going on vacation and don't want to bring my Twister, but my iPad+Laptop let that same CSI setup come with me). It's incredibly cool and flexible.

Note: I do plan on sharing the setup in the next few days. Just going through and mapping a bunch of effects.
Funkybot is offline   Reply With Quote
Old 11-26-2020, 02:38 PM   #75
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Funkybot View Post
I love my MFTwister and using CSI I was able to create a TouchOSC layout that mirrors the device and includes displays to label each button, encoder, and shift encoder, as well as show their values. It takes the setup to a whole new level because I keep my eyes on the iPad and my hands on the Twister. And you can use the TouchOSC layout alone with no iPad and just have a tablet version of the Twister with displays (example: I'm going on vacation and don't want to bring my Twister, but my iPad+Laptop let that same CSI setup come with me). It's incredibly cool and flexible.

Note: I do plan on sharing the setup in the next few days. Just going through and mapping a bunch of effects.
Very very cool. Yeah I've thought MFT for control + iPad for visual display would be an incredible combo - I just didn't realize CSI could do that yet. I thought control surfaces are entirely independent, with no overlap, so there'd be no way for MFT to control a value and for TouchOSC to display that same value. Anyway, really looking forward to what you have to share!

If you have a bit of time, can you briefly describe how you set that up? Like if I've got a bank of encoders on the MFT to set track volume, how do I get TouchOSC to read those values? I don't know how to point the MFT and TouchOSC at the same bank of tracks.

Edit: Thanks to your TouchOSC tutorial, I do have an OSC controller working. But as mentioned, it extends the channels, rather than overlapping with MFT's channels.

Last edited by paat; 11-26-2020 at 03:05 PM.
paat is offline   Reply With Quote
Old 11-26-2020, 04:25 PM   #76
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,988
Default

Quote:
Originally Posted by paat View Post
Very very cool. Yeah I've thought MFT for control + iPad for visual display would be an incredible combo - I just didn't realize CSI could do that yet. I thought control surfaces are entirely independent, with no overlap, so there'd be no way for MFT to control a value and for TouchOSC to display that same value. Anyway, really looking forward to what you have to share!

If you have a bit of time, can you briefly describe how you set that up? Like if I've got a bank of encoders on the MFT to set track volume, how do I get TouchOSC to read those values? I don't know how to point the MFT and TouchOSC at the same bank of tracks.

Edit: Thanks to your TouchOSC tutorial, I do have an OSC controller working. But as mentioned, it extends the channels, rather than overlapping with MFT's channels.
I don't use the MFTwister for mixing, but I use it constantly for Focused FX. I also have it setup for sends. Using it that way, there's no conflict.

Now, I don't know of a way for your to mirror a Channel zone that uses TrackNavigator, but you can absolutely mirror the device for FocusedFX and Sends with displays while keeping your Channel Zone on the Twister with no displays. And you could do that by separating them out by MFTWister banks or even use different CSI pages depending on the setup.

Option 1: Using different MFTwister banks...

Bank 1: You use this for a Channel Zone + track navigator. Something like a bank of 8 pans on top two rows, 8 channels on bottom two rows, side-middle buttons on bank1 control TrackBank action in CSI. This would be RotaryA1-A8 for the top two rows and RotaryB1-B8 for the bottom two. You would not get displays here. No worse than you currently are.

Bank 2: Use this for FocusedFX. RotaryC1-D8. Now, you can configure your TouchOSC device to mirror the MFTwister and provide displays for the FocusedFX mapping. How do you avoid double mapping? Don't include the Channel zone in your "FXTwister" (the name I use) zone folder. Then you'd just assign RotaryC1-D8 to FX Paramaters.

Option 2: Using different pages in CSI.

Here you'd setup a "Mixing Page" in CSI and another page for the MFTwister+TouchOSC that didn't include the Channel zone. Pages allow you to create completely different configurations, even using completely different .mst/ost/zon files and you bind CSI actions to go from page to page instantaneously.

Just stuff for you to think about.
Funkybot is offline   Reply With Quote
Old 11-26-2020, 05:53 PM   #77
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Freex View Post
Been trying to setup phone with OSC, (previously had tablet working on earlier version but it took a swim)

So first I was seeing IP on phone as v6 so sorted that,

Haven't looked at the syntax in the .ost file, I'm sure it all needs updated, but am I correct to assume, that even so, I should be seeing atleast info coming into reaper via the show input action, even if reaper and csi don't know what to do with said messages.

I'm getting nothing and I'm kinda stumped now.

UPDATE: I'm seeing display changes on the phone, ie Stop, Play, click. cycle, but nothing from phone seems to do anything in reaper.
Also the CSI actions seem a bit hit and miss. sometimes they work, some times they don't.
I'm sure you've already done this, but check that the ports and addresses are correct at both ends.

If CSI actions are hit and miss, there is something definitely wrong -- they should either work or not.

Sorry I don't have a better answer, maybe something with modem/router, heavy traffic on your local network, dunno ??
__________________
To install you need the CSI 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 11-26-2020, 06:07 PM   #78
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Inman, SC USA
Posts: 859
Default

Quote:
Originally Posted by Funkybot View Post
Attached to this post is a simple Remote Control app anyone with a phone can use. The use case is pretty simple: you're recording yourself and just need basic transport and channel functions. This allows you to control those from your phone. Should work with anything bigger than an iPhone 6, you just need TouchOSC on your device and talking to Reaper.



This started out as me putting a simple example together for the TouchOSC How To Guide today and this is just a slightly more evolved version of that. The only constraint at the moment is that it doesn't work with PanL and PanR due to a few different things conspiring to not make that happen in a way I was satisfied with.

Top row fader is Pan, row beneath that is Pan width. Displays for both. The LEDs to the left of the buttons will light up to indicate the state. This was a much better practical approach than using the button feedback directly.

Enjoy!
Funkybot !!!!!!! You are unbelievable 100% amazinggggggg. I just saw this post after screwing around with this touchosc stuff for days and i now have touchosc working on my phone and that layout is EXACTLY what i wanted !!! took me a whole 10 min to set it up between this layout that i was able to access from my phone and files and your wiki instructions. it works beautifully. whats been happening is touchosc app on my phone just wouldnt download anything from touchosc editor on my pc. So i was able to download this layout right from my phone , add the files on my pc and bam transport touchosc !!!! No need for the editor. this is so awesome THANK YOU !!!
Cragster is offline   Reply With Quote
Old 11-26-2020, 06:09 PM   #79
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by paat View Post
(I believe the color can be greatly simplified, per my notes below. I honestly don't understand the current RGB-ish syntax.)
That's because you have an MFT

CSI supports RGB for many controllers, not just MFT, and is on a per action basis, the info is in the Zone file, not the .mst file.

That means CSI doesn't know what surface it is dealing with at an action level, and it shouldn't, that's by design.

However, the MFT_RGB_Midi_FeedbackProcessor is a special widget, so we can compensate there.


Quote:
Originally Posted by paat View Post
Code:
{ b1 1f 00 } // force inactive color
{ b1 1f 7f } // force active color
Animation / Brightness

Manual: Send the MIDI message on channel 6. Supports RGB Strobe / Pulse / Brightness, Indicator Strobe / Pulse / Brightness, Rainbow

Code:
{ b5 1f 00 } // reset animation

// These apply to the colorful light below the encoder

{ b5 1f 01 } // strobe slow
{ b5 1f 08 } // strobe fast

{ b5 1f 09 } // strobe slow
{ b5 1f 10 } // strobe fast

{ b5 1f 11 } // light off
{ b5 1f 2f } // max brightness per manual
{ b5 1f 30 } // max brightness per my test

// These apply to the white encoder ring value

{ b5 1f 31 } // indicator strobe slow
{ b5 1f 38 } // indicator strobe fast

{ b5 1f 39 } // indicator pulse slow
{ b5 1f 40 } // indicator pulse fast

{ b5 1f 41 } // light off
{ b5 1f 5f } // max brightness per manual
{ b5 1f 60 } // max brightness per my test

// Special rainbow animation
{ b5 1f 7f }
I will modify MFT_RGB_Midi_FeedbackProcessor to pass these values through directly, without colour translation, so you can use them.

However, they will have to be stated in decimal rather than hexadecimal, since that's how RGB is specified.

When I do this, I'll post a cheat sheet with the new notation that you will need.
__________________
To install you need the CSI 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 11-26-2020, 06:16 PM   #80
paat
Human being with feelings
 
Join Date: Oct 2016
Posts: 225
Default

Quote:
Originally Posted by Geoff Waddington View Post
I will modify MFT_RGB_Midi_FeedbackProcessor to pass these values through directly, without colour translation, so you can use them.

However, they will have to be stated in decimal rather than hexadecimal, since that's how RGB is specified.

When I do this, I'll post a cheat sheet with the new notation that you will need.
Okay that will be super cool. I'd prefer decimal for the value anyway since the MFT manual lists everything in decimal - so this way it will be a lot easier to reference the manual for control values. Thank you!

A related question: is there a way to send these values when a zone first loads? That way I can initialize the colors when changing between zones, and then change the colors in response to actions.
paat is offline   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 01:19 AM.


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