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

Reply
 
Thread Tools Display Modes
Old 03-10-2019, 04:44 AM   #2721
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by mschnell View Post
Looks great !
Splitting up conrtol and feedback seems like a good idea.

I understand that "Fader14Bit" is the "special MCP Midi protocol" way of transferring 14 bit values (i.e. any Midi status can be use like 14 Bit pitchbend).

But there also is the standard 14 bit Midi protocol called "high resolution Midi CC". Here the high 7 bits are transferred as a normal CC and the low 7 bits are transferred as CC #+32. I don't know if there are any Control Surface devices that send or receive this mode, but if I would be to built one, I would implement it, as it is pure standard. Maybe implementation in CSI could result in a "FaderLow7Bits" keyword to be used in combination with "Fader7Bit".
Code:
Fader7Bit	  e0 1f 7f   e0 00 00
FaderLow7Bits	  e0 3f 7f   e0 20 00
FB_Fader7Bit	  e0 1f 7f   e0 00 00
FB_FaderLow7Bits  e0 3f 7f   e0 20 00
(If I correctly understand that with Fader7Bit the second and 5th hex code defines the range used with a Fader group. A goup of such faders could consist of only 32 faders instead of 128 in the normal 7 bit Fader7Bit variant.)

BTW.: What is the difference between "Fader7Bit" and "Encoder", If there is a difference, could a 14 bit encoder not be existing somewhere ?

-Michael
Sure, you can pack/unpack the bits any way you like, we would just have to build supporting Widget components.

Fader14Bit -- 14 bit data, as you say, but limited to 16 Faders -- typically e0 - ef.

Fader7Bit (and switches) -- typically 90 xx 00-7f, where xx is control id.

Encoder -- typically b0 xx yy, where xx is control id and yy is just plus(+) and minus(-) increments -- sometimes only 2 values (e.g. 3f-41), but sometimes with acceleration, meaning more values.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-10-2019, 06:35 AM   #2722
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by Geoff Waddington View Post

Fader7Bit (and switches) -- typically 90 xx 00-7f, where xx is control id.
I've been using b0 XX 00-7f for Fader7Bit- is that incorrect?

BTW the new control/feedback layout looks good- immediately provides a way to implement radio buttons, just FB one message to turn the current push LED on and a bunch of LED off messages to turn off all the other LEDs in the radio group (even though only one will be on)
MixMonkey is offline   Reply With Quote
Old 03-10-2019, 06:35 AM   #2723
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,186
Default

Yep. I did assume that in the MCP Midi flavor the Midi channel denotes the fader number.

Regarding "Fader7Bit" vs "Encode" my question was to find out if there is any function difference within CSI itself between choosing either of these keywords.

-Michael
mschnell is offline   Reply With Quote
Old 03-10-2019, 06:37 AM   #2724
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by mschnell View Post
Yep. I did assume that in the MCP Midi flavor the Midi channel denotes the fader number.

Regarding "Fader7Bit" vs "Encode" my question was to find out if there is any function difference within CSI itself between choosing either of these keywords.

-Michael
Fader7Bit expects an absolute value, whereas Encoder expects increment/decrement.
MixMonkey is offline   Reply With Quote
Old 03-10-2019, 03:10 PM   #2725
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

Quote:
Originally Posted by Geoff Waddington View Post
Here's a shot at the syntax for Midi Widgets and their components (with example values), what do you think ?

I can't think of anything for the current set of capabilities that aren't supported by this. Good stuff.

Quote:
Originally Posted by Geoff Waddington View Post
Feedback Processors:

Code:
FB_Light              90 5e 7f 	 90 5e 00
Play button definition:

Code:
MidiWidget Play
    Press     90 5e 7f
    FB_Light  90 5e 7f   90 5e 00
MidiWidgetEnd
I'm thinking about the limitation on two message values for the FB_Light. I can think of two possible scenarios where I might want more:

- With the cycle action you explained the other day, I might have 3, 4 or more actions to cycle through. It would be good to be able to have the same number of messages that were cycled through as well, so that each of my cycle states has a different colour/brightness/flashing. eg, something like this:

Code:
MidiWidget Play
    Press     90 5e 7f
    FB_Light  90 5e 7f  90 5e 3c  90 5e 1b  90 5e 00
MidiWidgetEnd
- Thinking back to our earlier discussion about surfaces that support multiple colours/flashing/brightness/etc (and also mschnell's recent similar comments) , I wonder whether we need to support a range of values for FB_Light. So maybe syntax like:

Code:
MidiWidget Play
    Press     90 5e 7f
    FB_Light  90 5e 7f...90 5e 00
MidiWidgetEnd
Where this would indicate that the message can be any value in that range. Then in my axt/fxt I can decide for which value in that range I want to send in which circumstances. Seems to fit more cleanly with the mst defining surface capabilities and specific behaviour in the axt/fxt.

Obviously this second one might also solve the first one for cycle actions, so perhaps it's only the latter?

Thoughts?
MalcolmG is offline   Reply With Quote
Old 03-10-2019, 03:31 PM   #2726
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by MixMonkey View Post
I've been using b0 XX 00-7f for Fader7Bit- is that incorrect?
No, whatever the surface sends, that's why I said typically , on the Console1 it's 90, other use b0, etc.

Quote:
Originally Posted by MixMonkey View Post
BTW the new control/feedback layout looks good- immediately provides a way to implement radio buttons, just FB one message to turn the current push LED on and a bunch of LED off messages to turn off all the other LEDs in the radio group (even though only one will be on)
Well...

You could, but doing it in the .mst sets it that way for all Zones on this Page.

I'd prefer doing a Zone something like:

Code:
Zone RBZone
    Navigator RadioButton
    Button1
    Button2
    ...
ZoneEnd
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-10-2019, 03:33 PM   #2727
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by mschnell View Post
Yep. I did assume that in the MCP Midi flavor the Midi channel denotes the fader number.

Regarding "Fader7Bit" vs "Encode" my question was to find out if there is any function difference within CSI itself between choosing either of these keywords.

-Michael
Ah, internally:

The Fader7Bit values are used directly.

The Encoder values are used as a delta to apply to the existing Reaper value of interest.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-10-2019, 03:43 PM   #2728
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by MalcolmG View Post
I can't think of anything for the current set of capabilities that aren't supported by this. Good stuff.



I'm thinking about the limitation on two message values for the FB_Light. I can think of two possible scenarios where I might want more:

- With the cycle action you explained the other day, I might have 3, 4 or more actions to cycle through. It would be good to be able to have the same number of messages that were cycled through as well, so that each of my cycle states has a different colour/brightness/flashing. eg, something like this:

Code:
MidiWidget Play
    Press     90 5e 7f
    FB_Light  90 5e 7f  90 5e 3c  90 5e 1b  90 5e 00
MidiWidgetEnd
- Thinking back to our earlier discussion about surfaces that support multiple colours/flashing/brightness/etc (and also mschnell's recent similar comments) , I wonder whether we need to support a range of values for FB_Light. So maybe syntax like:

Code:
MidiWidget Play
    Press     90 5e 7f
    FB_Light  90 5e 7f...90 5e 00
MidiWidgetEnd
Where this would indicate that the message can be any value in that range. Then in my axt/fxt I can decide for which value in that range I want to send in which circumstances. Seems to fit more cleanly with the mst defining surface capabilities and specific behaviour in the axt/fxt.

Obviously this second one might also solve the first one for cycle actions, so perhaps it's only the latter?

Thoughts?
Yeah, FB_Light is but one of many variations I'd expect to see us build.

FB_LightWithColourBrightnessAndFlashing could be another

Well, you get the idea, it's to expose sets of controller capabilities to Reaper so that Reaper can utilize them for super hip feedback -- that's a technical term

So, yeah, keep the ideas coming, as you say, this Feedback separation really opens up the canvas.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-10-2019, 04:03 PM   #2729
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,186
Default

Quote:
Originally Posted by MixMonkey View Post
Fader7Bit expects an absolute value, whereas Encoder expects increment/decrement.
Ah I see, so the rotaries at (e.g.) the XTouch Compact need to be denoted as Fader7Bit. I personally am perfectly fine with that.

-Michael
mschnell is offline   Reply With Quote
Old 03-10-2019, 06:13 PM   #2730
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by mschnell View Post
Ah I see, so the rotaries at (e.g.) the XTouch Compact need to be denoted as Fader7Bit. I personally am perfectly fine with that.

-Michael
Use the CSI MIDI in monitor to see what's actually being sent.

If you see a single value being sent when you turn the control clockwise and another when the control is turned anti-clockwise, go with Encoder.

If you see a range of values sent when you turn the control (increasing in one direction, decreasing in the other) go with Fader7Bit.

I'm assuming we're discussing the native mode of the surface here. In the MCU mode, rotaries 1-8 will be Encoder, 9-14 are unassigned and 15+16 could be encoder or maybe even Press (thinking about how juedue got the jogwheel working)
MixMonkey is offline   Reply With Quote
Old 03-10-2019, 06:14 PM   #2731
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by Geoff Waddington View Post
Well...

You could, but doing it in the .mst sets it that way for all Zones on this Page.

I'd prefer doing a Zone something like:

Code:
Zone RBZone
    Navigator RadioButton
    Button1
    Button2
    ...
ZoneEnd
This is much better Roll on the radio button Navigator!
MixMonkey is offline   Reply With Quote
Old 03-10-2019, 11:05 PM   #2732
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,186
Default

Quote:
Originally Posted by MixMonkey View Post
Use the CSI MIDI in monitor to see what's actually being sent.
Of course I do know what the Compact sends and receives (when set to native mode rather then MCP). I did a list and posted it in this thread a year or so ago.

I only wanted to point out that is's a little "queer" to use the term "Fader" on a Rotary.

-Michael

Last edited by mschnell; 03-11-2019 at 07:58 AM.
mschnell is offline   Reply With Quote
Old 03-11-2019, 06:09 AM   #2733
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by mschnell View Post
Of course I do know what the Compact sends and receives (when set to native mode rather then MPE).
What does it send?
MixMonkey is offline   Reply With Quote
Old 03-11-2019, 07:59 AM   #2734
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,186
Default

Quote:
Originally Posted by MixMonkey View Post
What does it send?
In "non MC"/ "native" mode, you can configure it to use any CC for any rotary or Motor Fader.



-Michael

Last edited by mschnell; 03-11-2019 at 10:58 PM.
mschnell is offline   Reply With Quote
Old 03-11-2019, 04:23 PM   #2735
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default "Events" beyond Surface Controls

When I first looked at an AXT file, it was convenient to think of it as a list of surface controls followed by the actions that they should invoke.

However, I'm starting to think that's not the most helpful way to think of it. I'm beginning to think of it as a list of events that could trigger, and what behaviours we want to occur when they do.

Now, that distinction may seem subtle, given that the vast majority of these events are triggered by controls on a surface. However, there are already a couple of these Events defined that aren't related to Surface controls at all: TrackOnFocusedFX and TrackOnSelection

So this opens up the potential to be triggering Actions from all sorts of things occurring in Reaper, and to me this seems just as interesting (or maybe more so) than just reacting to button presses. I can already imagine having actions fire when we transition from one Region to another in Reaper, or when the BPM or tempo changes, or when we start recording, and no doubt I haven't thought about the really interesting ones.

Now, there's a line here somewhere between CSI and a general purpose scripting environment that we don't want to cross, but even within the scope of control surfaces I think this is one area that would be cool to expand more in the future.
MalcolmG is offline   Reply With Quote
Old 03-11-2019, 04:39 PM   #2736
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 1,053
Default

Quote:
Originally Posted by MalcolmG View Post

So this opens up the potential to be triggering Actions from all sorts of things occurring in Reaper, and to me this seems just as interesting (or maybe more so) than just reacting to button presses. I can already imagine having actions fire when we transition from one Region to another in Reaper, or when the BPM or tempo changes, or when we start recording, and no doubt I haven't thought about the really interesting ones.
now that is an interesting train of thought. I would definitely love to hear the ideas, that's what I really like about CSI and can't wait to see how all of this will unfold. As of now I've been kind of adding functions to my surfaces as the ideas come to me, but when CSI relaunches with this new structure I have a feeling I'll want to reconsider everything. I know I'm not using my surfaces as efficient as possible, so I love hearing of all the ideas everyone has.
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is online now   Reply With Quote
Old 03-12-2019, 04:58 AM   #2737
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by MalcolmG View Post
When I first looked at an AXT file, it was convenient to think of it as a list of surface controls followed by the actions that they should invoke.

However, I'm starting to think that's not the most helpful way to think of it. I'm beginning to think of it as a list of events that could trigger, and what behaviours we want to occur when they do.

Now, that distinction may seem subtle, given that the vast majority of these events are triggered by controls on a surface. However, there are already a couple of these Events defined that aren't related to Surface controls at all: TrackOnFocusedFX and TrackOnSelection

So this opens up the potential to be triggering Actions from all sorts of things occurring in Reaper, and to me this seems just as interesting (or maybe more so) than just reacting to button presses. I can already imagine having actions fire when we transition from one Region to another in Reaper, or when the BPM or tempo changes, or when we start recording, and no doubt I haven't thought about the really interesting ones.

Now, there's a line here somewhere between CSI and a general purpose scripting environment that we don't want to cross, but even within the scope of control surfaces I think this is one area that would be cool to expand more in the future.
Yeah, it's so tempting to concentrate on the Widgets but all the action (pun intended ) is in the .zon (.axt/.fxt) files
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-13-2019, 02:19 AM   #2738
BeeAge
Human being with feelings
 
BeeAge's Avatar
 
Join Date: Apr 2015
Location: Germany
Posts: 20
Question Controller going off-line after opening CSI preferences

Hey guys!

Don't know if this topic has already been adressed here (I have to admit that I'm struggling a little bit with the search funcionality in such a big post).

Anyway! We've had a discussion the other day over at the german speaking forum about controllers going off-line after opening the CSI preferences in Reaper. Two members are using a Behringer X-Touch One, the other one a Steinberg CSC.

Here's the issue: initially the controller is working correctly under CSI after the start. But as soon as changes are made in the CSI prefs (or the prefs are confirmed without a change!), the controller goes off-line and won't react anymore. To reactivate it you have to turn the controller's power off and on again. After that you have to open and close CSI prefs once again. Bingo - the controller is starting up again! But the same game every time you open CSI prefs ...

Any ideas?
Let me know how to contribute in solving this problem!

Cheers
Bernd

PS: Geoff (and all others here), thanks a lot for your effort in making this possible. Your work is highly appreciated!
__________________
Reaper 5.972 | Windows 10 64 bit | Focusrite Scarlett 18i20 | X-Touch One
mymusic.beeage-media.de
mixedby.beeage-media.de
BeeAge is offline   Reply With Quote
Old 03-13-2019, 04:38 AM   #2739
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by BeeAge View Post
Any ideas?
Let me know how to contribute in solving this problem!

This is a known bug in the Windows version of CSI. No current solution and you've found the workaround.
MixMonkey is offline   Reply With Quote
Old 03-13-2019, 06:35 AM   #2740
BeeAge
Human being with feelings
 
BeeAge's Avatar
 
Join Date: Apr 2015
Location: Germany
Posts: 20
Default

Quote:
Originally Posted by MixMonkey View Post
This is a known bug in the Windows version of CSI. No current solution and you've found the workaround.
Thanks a lot for your quick reply MixMonkey!
__________________
Reaper 5.972 | Windows 10 64 bit | Focusrite Scarlett 18i20 | X-Touch One
mymusic.beeage-media.de
mixedby.beeage-media.de
BeeAge is offline   Reply With Quote
Old 03-17-2019, 03:12 PM   #2741
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

OK, making some progress here.

The new .mst format is working out, but conversion from the old format is a PITA.

So, I wrote an internal conversion utility.

I've converted these to the new format:
MCU
MCUXT
Avid Artist Mix
Avid Artist Control
C4
Console1
FP16

If anyone has any other .mst files they want converted, please post them here, and they will get included in the next build.

Thanks folks.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-17-2019, 03:59 PM   #2742
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Can we take a look at a new MCU.mst so we can get up to speed on the new layout?
MixMonkey is offline   Reply With Quote
Old 03-17-2019, 04:14 PM   #2743
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by MixMonkey View Post
Can we take a look at a new MCU.mst so we can get up to speed on the new layout?
Sure, the .mst files will probably RARELY be edited.

It sure is a flexible format though:

Code:
Widget Track
	Press 90 28 7f
	FB_TwoState 90 28 7f 90 28 00
WidgetEnd

Widget Send
	Press 90 29 7f
	FB_TwoState 90 29 7f 90 29 00
WidgetEnd

Widget Pan
	Press 90 2a 7f
	FB_TwoState 90 2a 7f 90 2a 00
WidgetEnd

Widget Plugin
	Press 90 2b 7f
	FB_TwoState 90 2b 7f 90 2b 00
WidgetEnd

Widget EQ
	Press 90 2c 7f
	FB_TwoState 90 2c 7f 90 2c 00
WidgetEnd

Widget Instrument
	Press 90 2d 7f
	FB_TwoState 90 2d 7f 90 2d 00
WidgetEnd

Widget BankLeft
	Press 90 2E 7f
WidgetEnd

Widget BankRight
	Press 90 2F 7f
WidgetEnd

Widget ChannelLeft
	Press 90 30 7f
WidgetEnd

Widget ChannelRight
	Press 90 31 7f
WidgetEnd

Widget Flip
	Press 90 32 7f
	FB_TwoState 90 32 7f 90 32 00
WidgetEnd

Widget GlobalView
	Press 90 33 7f
	FB_TwoState 90 33 7f 90 33 00
WidgetEnd

Widget nameValue
	Press 90 34 7f
WidgetEnd

Widget smpteBeats
	Press 90 35 7f
WidgetEnd

Widget TimeDisplay
	FB_MCUTimeDisplay
WidgetEnd

Widget F1
	Press 90 36 7f
WidgetEnd

Widget F2
	Press 90 37 7f
WidgetEnd

Widget F3
	Press 90 38 7f
WidgetEnd

Widget F4
	Press 90 39 7f
WidgetEnd

Widget F5
	Press 90 3a 7f
WidgetEnd

Widget F6
	Press 90 3b 7f
WidgetEnd

Widget F7
	Press 90 3c 7f
WidgetEnd

Widget F8
	Press 90 3d 7f
WidgetEnd

Widget MidiTracks
	Press 90 3E 7f
WidgetEnd

Widget Inputs
	Press 90 3F 7f
WidgetEnd

Widget AudioTracks
	Press 90 40 7f
WidgetEnd

Widget AudioInstrument
	Press 90 41 7f
WidgetEnd

Widget Aux
	Press 90 42 7f
WidgetEnd

Widget Busses
	Press 90 43 7f
WidgetEnd

Widget Outputs
	Press 90 44 7f
WidgetEnd

Widget User
	Press 90 45 7f
WidgetEnd

Widget Shift
	PressRelease 90 46 7f 90 46 00
WidgetEnd

Widget Option
	PressRelease 90 47 7f 90 47 00
WidgetEnd

Widget Control
	PressRelease 90 48 7f 90 48 00
WidgetEnd

Widget Alt
	PressRelease 90 49 7f 90 49 00
WidgetEnd

Widget Read
	Press 90 4a 7f
	FB_TwoState 90 4a 7f 90 4a 00
WidgetEnd

Widget Write
	Press 90 4b 7f
	FB_TwoState 90 4b 7f 90 4b 00
WidgetEnd

Widget Trim
	Press 90 4c 7f
	FB_TwoState 90 4c 7f 90 4c 00
WidgetEnd

Widget Touch
	Press 90 4d 7f
	FB_TwoState 90 4d 7f 90 4d 00
WidgetEnd

Widget Latch
	Press 90 4e 7f
	FB_TwoState 90 4e 7f 90 4e 00
WidgetEnd

Widget Group
	Press 90 4f 7f
	FB_TwoState 90 4f 7f 90 4f 00
WidgetEnd

Widget Save
	Press 90 50 7f
WidgetEnd

Widget Undo
	Press 90 51 7f
WidgetEnd

Widget Cancel
	Press 90 52 7f
WidgetEnd

Widget Enter
	Press 90 53 7f
WidgetEnd

Widget Marker
	Press 90 54 7f
	FB_TwoState 90 54 7f 90 54 00
WidgetEnd

Widget Nudge
	Press 90 55 7f
	FB_TwoState 90 55 7f 90 55 00
WidgetEnd

Widget Cycle
	Press 90 56 7f
	FB_TwoState 90 56 7f 90 56 00
WidgetEnd

Widget Drop
	Press 90 57 7f
	FB_TwoState 90 57 7f 90 57 00
WidgetEnd

Widget Replace
	Press 90 58 7f
	FB_TwoState 90 58 7f 90 58 00
WidgetEnd

Widget Click
	Press 90 59 7f
	FB_TwoState 90 59 7f 90 59 00
WidgetEnd

Widget Solo
	Press 90 5a 7f
	FB_TwoState 90 5a 7f 90 5a 00
WidgetEnd

Widget Rewind
	Press 90 5b 7f
	FB_TwoState 90 5b 7f 90 5b 00
WidgetEnd

Widget FastForward
	Press 90 5c 7f
	FB_TwoState 90 5c 7f 90 5c 00
WidgetEnd

Widget Stop
	Press 90 5d 7f
	FB_TwoState 90 5d 7f 90 5d 00
WidgetEnd

Widget Play
	Press 90 5e 7f
	FB_TwoState 90 5e 7f 90 5e 00
WidgetEnd

Widget Record
	Press 90 5f 7f
	FB_TwoState 90 5f 7f 90 5f 00
WidgetEnd

Widget Up
	Press 90 60 7f
WidgetEnd

Widget Down
	Press 90 61 7f
WidgetEnd

Widget Left
	Press 90 62 7f
WidgetEnd

Widget Right
	Press 90 63 7f
WidgetEnd

Widget Zoom
	PressRelease 90 64 7f 90 64 00
	FB_TwoState 90 64 7f 90 64 00
WidgetEnd

Widget Scrub
	PressRelease 90 65 7f 90 65 00
	FB_TwoState 90 65 7f 90 65 00
WidgetEnd

Widget JogWheelRotary
	Encoder b0 3c 7f
	FB_Encoder b0 3c 7f
WidgetEnd

Widget MasterFader
	Fader14Bit e8 7f 7f
	FB_Fader14Bit e8 7f 7f
WidgetEnd

Widget VUMeter1
	FB_MCUVUMeter 0
WidgetEnd

Widget VUMeter2
	FB_MCUVUMeter 1
WidgetEnd

Widget VUMeter3
	FB_MCUVUMeter 2
WidgetEnd

Widget VUMeter4
	FB_MCUVUMeter 3
WidgetEnd

Widget VUMeter5
	FB_MCUVUMeter 4
WidgetEnd

Widget VUMeter6
	FB_MCUVUMeter 5
WidgetEnd

Widget VUMeter7
	FB_MCUVUMeter 6
WidgetEnd

Widget VUMeter8
	FB_MCUVUMeter 7
WidgetEnd

Widget DisplayUpper1
	FB_MCUDisplayUpper 0
WidgetEnd

Widget DisplayUpper2
	FB_MCUDisplayUpper 1
WidgetEnd

Widget DisplayUpper3
	FB_MCUDisplayUpper 2
WidgetEnd

Widget DisplayUpper4
	FB_MCUDisplayUpper 3
WidgetEnd

Widget DisplayUpper5
	FB_MCUDisplayUpper 4
WidgetEnd

Widget DisplayUpper6
	FB_MCUDisplayUpper 5
WidgetEnd

Widget DisplayUpper7
	FB_MCUDisplayUpper 6
WidgetEnd

Widget DisplayUpper8
	FB_MCUDisplayUpper 7
WidgetEnd

Widget DisplayLower1
	FB_MCUDisplayLower 0
WidgetEnd

Widget DisplayLower2
	FB_MCUDisplayLower 1
WidgetEnd

Widget DisplayLower3
	FB_MCUDisplayLower 2
WidgetEnd

Widget DisplayLower4
	FB_MCUDisplayLower 3
WidgetEnd

Widget DisplayLower5
	FB_MCUDisplayLower 4
WidgetEnd

Widget DisplayLower6
	FB_MCUDisplayLower 5
WidgetEnd

Widget DisplayLower7
	FB_MCUDisplayLower 6
WidgetEnd

Widget DisplayLower8
	FB_MCUDisplayLower 7
WidgetEnd

Widget Fader1
	Fader14Bit e0 7f 7f
	FB_Fader14Bit e0 7f 7f
WidgetEnd

Widget Fader2
	Fader14Bit e1 7f 7f
	FB_Fader14Bit e1 7f 7f
WidgetEnd

Widget Fader3
	Fader14Bit e2 7f 7f
	FB_Fader14Bit e2 7f 7f
WidgetEnd

Widget Fader4
	Fader14Bit e3 7f 7f
	FB_Fader14Bit e3 7f 7f
WidgetEnd

Widget Fader5
	Fader14Bit e4 7f 7f
	FB_Fader14Bit e4 7f 7f
WidgetEnd

Widget Fader6
	Fader14Bit e5 7f 7f
	FB_Fader14Bit e5 7f 7f
WidgetEnd

Widget Fader7
	Fader14Bit e6 7f 7f
	FB_Fader14Bit e6 7f 7f
WidgetEnd

Widget Fader8
	Fader14Bit e7 7f 7f
	FB_Fader14Bit e7 7f 7f
WidgetEnd

Widget FaderTouch1
	PressRelease 90 68 7f 90 68 00
WidgetEnd

Widget FaderTouch2
	PressRelease 90 69 7f 90 69 00
WidgetEnd

Widget FaderTouch3
	PressRelease 90 6a 7f 90 6a 00
WidgetEnd

Widget FaderTouch4
	PressRelease 90 6b 7f 90 6b 00
WidgetEnd

Widget FaderTouch5
	PressRelease 90 6c 7f 90 6c 00
WidgetEnd

Widget FaderTouch6
	PressRelease 90 6d 7f 90 6d 00
WidgetEnd

Widget FaderTouch7
	PressRelease 90 6e 7f 90 6e 00
WidgetEnd

Widget FaderTouch8
	PressRelease 90 6f 7f 90 6f 00
WidgetEnd

Widget RotaryPush1
	Press 90 20 7f
WidgetEnd

Widget RotaryPush2
	Press 90 21 7f
WidgetEnd

Widget RotaryPush3
	Press 90 22 7f
WidgetEnd

Widget RotaryPush4
	Press 90 23 7f
WidgetEnd

Widget RotaryPush5
	Press 90 24 7f
WidgetEnd

Widget RotaryPush6
	Press 90 25 7f
WidgetEnd

Widget RotaryPush7
	Press 90 26 7f
WidgetEnd

Widget RotaryPush8
	Press 90 27 7f
WidgetEnd

Widget Rotary1
	Encoder b0 10 7f
	FB_Encoder b0 10 7f
WidgetEnd

Widget Rotary2
	Encoder b0 11 7f
	FB_Encoder b0 11 7f
WidgetEnd

Widget Rotary3
	Encoder b0 12 7f
	FB_Encoder b0 12 7f
WidgetEnd

Widget Rotary4
	Encoder b0 13 7f
	FB_Encoder b0 13 7f
WidgetEnd

Widget Rotary5
	Encoder b0 14 7f
	FB_Encoder b0 14 7f
WidgetEnd

Widget Rotary6
	Encoder b0 15 7f
	FB_Encoder b0 15 7f
WidgetEnd

Widget Rotary7
	Encoder b0 16 7f
	FB_Encoder b0 16 7f
WidgetEnd

Widget Rotary8
	Encoder b0 17 7f
	FB_Encoder b0 17 7f
WidgetEnd

Widget RecordArm1
	Press 90 00 7f
	FB_TwoState 90 00 7f 90 00 00
WidgetEnd

Widget RecordArm2
	Press 90 01 7f
	FB_TwoState 90 01 7f 90 01 00
WidgetEnd

Widget RecordArm3
	Press 90 02 7f
	FB_TwoState 90 02 7f 90 02 00
WidgetEnd

Widget RecordArm4
	Press 90 03 7f
	FB_TwoState 90 03 7f 90 03 00
WidgetEnd

Widget RecordArm5
	Press 90 04 7f
	FB_TwoState 90 04 7f 90 04 00
WidgetEnd

Widget RecordArm6
	Press 90 05 7f
	FB_TwoState 90 05 7f 90 05 00
WidgetEnd

Widget RecordArm7
	Press 90 06 7f
	FB_TwoState 90 06 7f 90 06 00
WidgetEnd

Widget RecordArm8
	Press 90 07 7f
	FB_TwoState 90 07 7f 90 07 00
WidgetEnd

Widget Solo1
	Press 90 08 7f
	FB_TwoState 90 08 7f 90 08 00
WidgetEnd

Widget Solo2
	Press 90 09 7f
	FB_TwoState 90 09 7f 90 09 00
WidgetEnd

Widget Solo3
	Press 90 0a 7f
	FB_TwoState 90 0a 7f 90 0a 00
WidgetEnd

Widget Solo4
	Press 90 0b 7f
	FB_TwoState 90 0b 7f 90 0b 00
WidgetEnd

Widget Solo5
	Press 90 0c 7f
	FB_TwoState 90 0c 7f 90 0c 00
WidgetEnd

Widget Solo6
	Press 90 0d 7f
	FB_TwoState 90 0d 7f 90 0d 00
WidgetEnd

Widget Solo7
	Press 90 0e 7f
	FB_TwoState 90 0e 7f 90 0e 00
WidgetEnd

Widget Solo8
	Press 90 0f 7f
	FB_TwoState 90 0f 7f 90 0f 00
WidgetEnd

Widget Mute1
	Press 90 10 7f
	FB_TwoState 90 10 7f 90 10 00
WidgetEnd

Widget Mute2
	Press 90 11 7f
	FB_TwoState 90 11 7f 90 11 00
WidgetEnd

Widget Mute3
	Press 90 12 7f
	FB_TwoState 90 12 7f 90 12 00
WidgetEnd

Widget Mute4
	Press 90 13 7f
	FB_TwoState 90 13 7f 90 13 00
WidgetEnd

Widget Mute5
	Press 90 14 7f
	FB_TwoState 90 14 7f 90 14 00
WidgetEnd

Widget Mute6
	Press 90 15 7f
	FB_TwoState 90 15 7f 90 15 00
WidgetEnd

Widget Mute7
	Press 90 16 7f
	FB_TwoState 90 16 7f 90 16 00
WidgetEnd

Widget Mute8
	Press 90 17 7f
	FB_TwoState 90 17 7f 90 17 00
WidgetEnd

Widget Select1
	Press 90 18 7f
	FB_TwoState 90 18 7f 90 18 00
WidgetEnd

Widget Select2
	Press 90 19 7f
	FB_TwoState 90 19 7f 90 19 00
WidgetEnd

Widget Select3
	Press 90 1a 7f
	FB_TwoState 90 1a 7f 90 1a 00
WidgetEnd

Widget Select4
	Press 90 1b 7f
	FB_TwoState 90 1b 7f 90 1b 00
WidgetEnd

Widget Select5
	Press 90 1c 7f
	FB_TwoState 90 1c 7f 90 1c 00
WidgetEnd

Widget Select6
	Press 90 1d 7f
	FB_TwoState 90 1d 7f 90 1d 00
WidgetEnd

Widget Select7
	Press 90 1e 7f
	FB_TwoState 90 1e 7f 90 1e 00
WidgetEnd

Widget Select8
	Press 90 1f 7f
	FB_TwoState 90 1f 7f 90 1f 00
WidgetEnd
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 03-17-2019 at 05:10 PM.
Geoff Waddington is offline   Reply With Quote
Old 03-17-2019, 04:27 PM   #2744
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,933
Default

Quote:
Originally Posted by Geoff Waddington View Post
Notes wiki -- thanks @MalcolmG - https://github.com/malcolmgroves/reaper_csi/wiki

Edit: You can now donate, just go to geoffwaddington.ca.

Following a bit of discussion in the Feature Request subforum (http://forum.cockos.com/showthread.php?t=179220), I have decided to take on the task of improving support in this area.

This is an open call for feature requests, overall philosophies, dream/cadillac solutions, etc.

Just trying to get a feel for what we should attempt to build here.

Nothing is off the table, it should be MUCH easier than the EuCon support project, because it is comparatively unconstrained.

For example: don't even know if this is possible yet, but imagine being able to control the faders from an MCU, the transport from an Artist Transport, and the VST compressors, EQ's, reverbs, etc. from an iPad (perhaps using OSC).

That's the kind of open free thinking I'd like to promote here.

From that we can derive a "doable" project.

Have at 'er folks, this only works if you participate.
Watching this the first time, how finished is this here, or are many things still flexible, especially regarding file formats, structures for example? Everything should be as easy as possible, removing all what is not relevant or elegant. Or putting it elsewhere. I liked the fact the system allows or will allow multiple devices and combined to a bigger one, not disturbing each other, sounds just perfect. This is exactly how the situation is, usually, starting there is perfect, not assuming one has a single magic device, no matter from which company, mostly they are crap anyway.

Looked a bit more. There seems to be no connection to any Reaper project template or track template? Is this normal or wanted? Why not allowing or connecting this whole control surface story to the template options in Reaper? This means your set of required files could be:
-mst
-axt
-fxt
-track template(s)
-project template(s)

FXT says a series of files how the surface elements defined in the mst will map to controls in your vst plugins? Which plugins? Where are they defined? No track template, no project template, but any vst plugins? Ohh, this sounds like there could be millions of bugs because of this openness. Instead it could be limited to only those mentioned in track and project templates. And with those, it should always work correctly! Much easier to test and guaranteeing 100% functionality.

Where can I define if a surface element should control selected tracks only or selected fx only or be globally, meaning independent of track or fx selection, doing always same? Can my surface have 16 variants? One variant for each midi channel? For example each midi channel could be a page then for example or something else.

I would also want the surface being able to control or take over immediately all controls on tcp. If you defined it in your surface. You could say something like: Take over first 16 controls on tcp with those 16 hardware encoders. Or only 8 if you want less. Is this possible?

Which is the fastest or best way of generating .mst files for your given device? No tools which make life easier? Like a learning system or taking over something from Reaper what you learned already, could be a track template for example?

Last edited by TonE; 03-17-2019 at 05:15 PM.
TonE is offline   Reply With Quote
Old 03-17-2019, 04:42 PM   #2745
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

Quote:
Originally Posted by Geoff Waddington View Post
Code:
Widget Shift
	PressRelease 90 46 7f
WidgetEnd
Curious about the PressRelease with only one message defined. Does it default to the release message being 00?

Also, don't want to put any pressure on you, but do you have a feel for timeline for when we can have some bits we can play with?

Last edited by MalcolmG; 03-17-2019 at 04:49 PM.
MalcolmG is offline   Reply With Quote
Old 03-17-2019, 04:52 PM   #2746
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

Quote:
Originally Posted by TonE View Post
Watching this the first time, how finished is this here, or are many things still flexible, especially regarding file formats, structures for example?
It's definitely not finished. That doesn't mean it's not already super useful, but my impression is that it's been in an exploratory stage, narrowing in on the right solutions.

It's undergoing some major file format changes right now. If you don't like the idea of having to redo some of your config once those changes are released, you might want to watch from the sidelines a little longer. However, you can already build some really powerful custom controller mappings, so if you're busting to get tinkering, I say go for it. I found I ended up redoing most of my first few attempts anyway, as I learnt more about what was possible.
MalcolmG is offline   Reply With Quote
Old 03-17-2019, 05:03 PM   #2747
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by MalcolmG View Post
Curious about the PressRelease with only one message defined. Does it default to the release message being 00?
Good catch, thanks -- cut paste error in the conversion code -- fixed now

Quote:
Originally Posted by MalcolmG View Post
Also, don't want to put any pressure on you, but do you have a feel for timeline for when we can have some bits we can play with?
Pretty swamped with roof over the head stuff right now, but am working as diligently as possible given real world circumstances
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-17-2019, 05:09 PM   #2748
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

Quote:
Originally Posted by Geoff Waddington View Post
Pretty swamped with roof over the head stuff right now, but am working as diligently as possible given real world circumstances
Fair enough. No pressure, just enthusiasm
MalcolmG is offline   Reply With Quote
Old 03-17-2019, 05:38 PM   #2749
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Quote:
Originally Posted by Geoff Waddington View Post
Sure, the .mst files will probably RARELY be edited.

It sure is a flexible format though:
Many thanks for that, will study and digest

+1 enthusiasm here too, but totally understand real world pressures
MixMonkey is offline   Reply With Quote
Old 03-18-2019, 08:05 AM   #2750
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,933
Default

One can clearly see the pascal background of the format.
TonE is offline   Reply With Quote
Old 03-18-2019, 08:31 AM   #2751
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by TonE View Post
One can clearly see the pascal background of the format.
Haha that's a good one

Though I've programmed in:

TMS9900 assembly
Motorola 68000 assembly
Intel assembly
Basic
Forth
Actor
Object1
Smalltalk
Eiffel
C#
Java
C
C++

and about a million scripting languages, I've never actually written a line of Pascal (until now, apparently)
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 03-18-2019 at 09:18 AM.
Geoff Waddington is offline   Reply With Quote
Old 03-18-2019, 05:04 PM   #2752
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

Quote:
Originally Posted by Geoff Waddington View Post
I've never actually written a line of Pascal (until now, apparently)

I think it's all those ENDs
MalcolmG is offline   Reply With Quote
Old 03-18-2019, 05:48 PM   #2753
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quick update.

The new style .mst and .zon files are reading in fine for the most part.

Now to concentrate on Navigators -- what they are -- what they do -- why they're here -- how they connect -- etc.

They need to be designed from the ground up.

Anyone have any ideas ?

Chime in !!
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-18-2019, 06:13 PM   #2754
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 1,053
Default

Quote:
Originally Posted by Geoff Waddington View Post
OK, making some progress here.

The new .mst format is working out, but conversion from the old format is a PITA.

So, I wrote an internal conversion utility.

I've converted these to the new format:
MCU
MCUXT
Avid Artist Mix
Avid Artist Control
C4
Console1
FP16

If anyone has any other .mst files they want converted, please post them here, and they will get included in the next build.

Thanks folks.
Ok to post for the Icon ProX and XS? here are mine:

ProX (Nevermind the comments, some of those buttons don't exist)
/Track PressFB 90 28 7f 90 28 00
/Send PressFB 90 29 7f 90 29 00
Pan PressFB 90 2a 7f 90 2a 00
Plugin PressFB 90 2b 7f 90 2b 00
/EQ PressFB 90 2c 7f 90 2c 00
/Instrument PressFB 90 2d 7f 90 2d 00

BankLeft Press 90 2E 7f
BankRight Press 90 2F 7f
ChannelLeft Press 90 30 7f
ChannelRight Press 90 31 7f
Flip PressFB 90 32 7f 90 32 00
/GlobalView PressFB 90 33 7f 90 33 00

nameValue Press 90 34 7f
smpteBeats Press 90 35 7f
TimeDisplay MCUTimeDisplay

F1 PressFB 90 36 7f 90 36 00
F2 Press 90 37 7f
F3 Press 90 38 7f
F4 Press 90 39 7f
F5 Press 90 3a 7f
F6 Press 90 3b 7f
F7 Press 90 3c 7f
F8 Press 90 3d 7f

/MidiTracks Press 90 3E 7f
/Inputs Press 90 3F 7f
/AudioTracks Press 90 40 7f
/AudioInstrument Press 90 41 7f
/Aux Press 90 42 7f
/Busses Press 90 43 7f
/Outputs Press 90 44 7f
/User Press 90 45 7f

Shift PressRelease 90 46 7f 90 46 00
Option PressRelease 90 47 7f 90 47 00
Control PressRelease 90 48 7f 90 48 00
Alt PressRelease 90 49 7f 90 49 00

Read PressFB 90 4a 7f 90 4a 00
Write PressFB 90 4b 7f 90 4b 00
Trim PressFB 90 4c 7f 90 4c 00
Touch PressFB 90 4d 7f 90 4d 00
Latch PressFB 90 4e 7f 90 4e 00
Group PressFB 90 4f 7f 90 4f 00

Save Press 90 50 7f
Undo Press 90 51 7f
/Cancel Press 90 52 7f
/Enter Press 90 53 7f

Marker PressFB 90 54 7f 90 54 00
Normal PressFB 90 55 7f 90 55 00

Loop PressFB 90 56 7f 90 56 00
Record PressFB 90 57 7f 90 57 00
/Replace PressFB 90 58 7f 90 58 00
Click PressFB 90 59 7f 90 59 00
Solo PressFB 90 5a 7f 90 5a 00

Last PressFB 90 5b 7f 90 5b 00
Next PressFB 90 5c 7f 90 5c 00
Stop PressFB 90 5d 7f 90 5d 00
Play PressFB 90 5e 7f 90 5e 00
Record PressFB 90 5f 7f 90 5f 00

Up Press 90 60 7f
Down Press 90 61 7f
Left Press 90 62 7f
Right Press 90 63 7f

Zoom PressReleaseFB 90 64 7f 90 64 00
Scrub PressReleaseFB 90 65 7f 90 65 00

JogWheelRotary EncoderFB b0 3c 7f b0 3c 00

MasterChannel
MasterFader Fader14BitFB -60.0 12.0 e8 7f 7f e8 00 00
MasterChannelMeterLeft QConProXMasterVUMeter
MasterChannelMeterRight QConProXMasterVUMeter
MasterFaderTouch PressRelease 90 70 7f 90 70 00
MasterChannelEnd

Channel
VUMeter MCUVUMeter
Fader Fader14BitFB -60.0 12.0 e0 7f 7f e0 00 00
DisplayUpper MCUDisplayUpper
DisplayLower MCUDisplayLower
FaderTouch PressRelease 90 68 7f 90 68 00
RotaryPush Press 90 20 7f
Rotary EncoderFB b0 10 7f b0 10 00
RecordArm PressFB 90 00 7f 90 00 00
Solo PressFB 90 08 7f 90 08 00
Mute PressFB 90 10 7f 90 10 00
Select PressFB 90 18 7f 90 18 00
ChannelEnd


XS
Channel
VUMeter MCUVUMeter
Fader Fader14BitFB -60.0 12.0 e0 7f 7f e0 00 00
DisplayUpper MCUDisplayUpper
DisplayLower MCUDisplayLower
FaderTouch PressRelease 90 68 7f 90 68 00
RotaryPush Press 90 20 7f
Rotary EncoderFB b0 10 7f b0 10 00
RecordArm PressFB 90 00 7f 90 00 00
Solo PressFB 90 08 7f 90 08 00
Mute PressFB 90 10 7f 90 10 00
Select PressFB 90 18 7f 90 18 00
ChannelEnd
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is online now   Reply With Quote
Old 03-19-2019, 03:21 AM   #2755
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Thanks !!

I'll include these in the next build.

[Edit] Conversion succesful
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 03-19-2019 at 05:24 AM.
Geoff Waddington is offline   Reply With Quote
Old 03-19-2019, 10:32 AM   #2756
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Remember a while back I was thinking I was clever and came up with the thought that "Shift", "Instrument", "TrackOnFocusedFX", "TrackOnSelection", etc., were just other forms of Navigator.

Nope, way off

Navigators provide navigation WITHIN a Zone.

These other things -- "Shift", "Instrument", "MapFXToWidgets", etc., allow a Zone to become active.

Let's see, Navigators navigate, what could possibly activate ?

Code:
Zone ChannelsWithShiftPressed|1-8
	Activator PageShift
	Navigator PageTrack
	Select|1-8  TrackRangeSelect
ZoneEnd
says that this Zone activates when "Shift" is pressed and navigation is tied to Track.

By convention the "Home" Zone has no navigation and no activation, it is static.

Back to MalcolmG's observation that "TrackOnSelection" can activate a Zone -- the Activator is not restricted to a surface control.

Anyone see any holes in this ?
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-19-2019, 10:51 PM   #2757
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,186
Default

Quote:
Originally Posted by Geoff Waddington View Post
"Shift", ... allow a Zone to become active.
I suppose "Shift" is a Mackie introduced name here.

The term "Shift" is used for many purposes in the world, but in computer emnvironment it denotes that such a button does not trigger anything on it's own but is used to modify the functionality of another button in a rather unspecific/simple way.

As not everybody is familiar with the Mackie terminology I strongly suggest not to use it in the Files, but try to find a more speaking name for that function.

-Michael
mschnell is offline   Reply With Quote
Old 03-20-2019, 03:20 AM   #2758
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Quote:
Originally Posted by mschnell View Post
I suppose "Shift" is a Mackie introduced name here.
Nope, just the regular computer/typewriter sense.

Quote:
Originally Posted by mschnell View Post
The term "Shift" is used for many purposes in the world, but in computer emnvironment it denotes that such a button does not trigger anything on it's own but is used to modify the functionality of another button in a rather unspecific/simple way.

As not everybody is familiar with the Mackie terminology I strongly suggest not to use it in the Files, but try to find a more speaking name for that function.

-Michael
It is indeed a trigger, in the typewriter it triggers physical movement of the whole carriage , this sets up the conditions such that when you type the next letter it's a capital.

In this case the trigger ("Shift") changes the Action Contexts connected to any Widgets that have "Shift" behaviour to the Shift Action Contest.

Now when you press a Button in this Zone the Shifted behaviour occurs.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 03-20-2019, 04:28 AM   #2759
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,796
Default

Ok, no more ActionZones or Composite Zones, only Zones, which can contain other Zones:

Code:
Zone Home
	IncludedZones
		Buttons 
		Channel1
		Channel2
		Channel3
		Channel4
		Channel5
		Channel6
		Channel7
		Channel8
	IncludedZonesEnd
ZoneEnd

Zone Buttons
        ChannelLeft TrackBank -1
	ChannelRight TrackBank 1
	BankLeft TrackBank -20
	BankRight TrackBank 20
	Rewind Rewind
	FastForward FastForward
	Stop Stop
	Play Play
	Record Record
	F1 NextPage
	F7 PinSelectedTracks
	F8 UnpinSelectedTracks
	Read Reaper 40401
	Write Reaper 40403
	Trim Reaper 40400
	Touch Reaper 40402
	Latch Reaper 40404
	Group Reaper 42023
	Save Reaper 40026
	Undo Reaper 40029

	Marker Reaper 40172

	Nudge Reaper 40173
	Cycle CycleTimeline
	Click Reaper 40364

	MasterFader MasterTrackVolume
ZoneEnd

Zone ButtonsWithShiftPressed
	Activator PageShift
	Read Reaper 40086
	Write Reaper 40090
	Trim Reaper 40088
	Touch Reaper 40087
	Latch Reaper 40266
	Group Reaper 42024
	Save Reaper 40022
	Undo Reaper 40030
	Marker Reaper 40157
ZoneEnd

Zone ButtonsWithOptionPressed
	Activator PageOption
	Marker Reaper 40174
ZoneEnd

Zone Channel|1-8
	IncludedZones
		TrackTouchControlledDisplay|
		TrackCyclePanWidth|
	IncludedZonesEnd

	Navigator TrackNavigator
	DisplayUpper|  TrackNameDisplay
	DisplayLower| TrackPanDisplay
	Rotary| TrackPan 0
	RotaryPush| TrackMute
	RecordArm|  TrackRecordArm
	Solo|  TrackSolo
	Mute| TrackMute
	Select|  TrackUniqueSelect
	Fader|  TrackVolume
	FaderTouch|  TrackTouch
ZoneEnd

Zone TrackTouchControlledDisplay|1-8
        Activator TrackTouchControlled 
	DisplayLower| 
        TrackPanDisplay 
        TrackVolumeDisplay
ZoneEnd

Zone TrackCyclePanWidth|1-8
        Navigator TrackCycleNavigator RotaryPush|
	Rotary|
        TrackPan 0
        TrackPanWidth 1
ZoneEnd

Zone ChannelsWithShiftPressed|1-8
	Activator PageShift
	Navigator PageTrack
	Select| TrackRangeSelect
ZoneEnd

Zone ChannelsWithControlPressed|1-8
	Activator PageControl
	Navigator PageTrack
	Select| TrackSelect
ZoneEnd

Zone ChannelsWithAltPressed|1-8
	Activator PageAlt
	Navigator PageTrack
	Select| GoZone TrackDisplaySends
ZoneEnd
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 03-20-2019 at 04:44 AM.
Geoff Waddington is offline   Reply With Quote
Old 03-20-2019, 05:22 AM   #2760
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 877
Default

Shouldn't...
Code:
Zone Home
	IncludedZones
		Buttons 
		Channel1
		Channel2
		Channel3
		Channel4
		Channel5
		Channel6
		Channel7
		Channel8
	IncludedZonesEnd
ZoneEnd
...also include: Zone ButtonsWithShiftPressed, Zone ButtonsWithOptionPressed, Zone ChannelsWithShiftPressed|1-8, Zone ChannelsWithControlPressed|1-8 and Zone ChannelsWithAltPressed|1-8?

Or included in the Buttons Zone or Channel Zone like:
Code:
Zone Channel|1-8
	IncludedZones
		TrackTouchControlledDisplay|
		TrackCyclePanWidth|
	IncludedZonesEnd
Like the new style of organisation, though
MixMonkey 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 03:44 PM.


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