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

Reply
 
Thread Tools Display Modes
Old 11-05-2019, 08:52 PM   #5241
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default

A bit more info. I created a little Reaktor Ensemble to send/receive OSC messages to/from Lemur and I can get the Lemur fader to move when I move a knob in Reaktor.

Address Pattern is /Fader/x and value is between 0 and 1.

So I think I can rule out Lemur.

Worst case I can try this with MIDI, so if you have too much on your plate right now Geoff, let me know and I'll try that instead. No dramas.
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-05-2019, 10:47 PM   #5242
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 125
Default Send specific MIDI/OSC message to surface

Geoff,

Wondering if there is an Action in CSI somewhere that I can use to send a specific MIDI or OSC message to a surface? Or if not, if there's some way I can bastardise one of the Feedback Generators to do that for me?

Reason I ask is that the Lemur can change the layout it has loaded in response to an OSC message, so I'd like to do that when I GoZone.

Actually, even nicer than doing it when I trigger a GoZone, would be if I could define an OnLoad trigger for a zone. Then within the zone itself, when it is loaded I could send a message to the Lemur to load a different layout. That way it would handle FXZones triggered by MapFocusedFXToWidgets. Could probably also be used to, for example, load a different preset on a hardware surface, or other things.

Does that make sense?
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-06-2019, 06:39 AM   #5243
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

New build is up.

Fixed (very embarrassing) OSC bug.

@MalcolmG, thank for testing
__________________
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 11-06-2019, 06:44 AM   #5244
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MalcolmG View Post
Geoff,

Wondering if there is an Action in CSI somewhere that I can use to send a specific MIDI or OSC message to a surface? Or if not, if there's some way I can bastardise one of the Feedback Generators to do that for me?

Reason I ask is that the Lemur can change the layout it has loaded in response to an OSC message, so I'd like to do that when I GoZone.

Actually, even nicer than doing it when I trigger a GoZone, would be if I could define an OnLoad trigger for a zone. Then within the zone itself, when it is loaded I could send a message to the Lemur to load a different layout. That way it would handle FXZones triggered by MapFocusedFXToWidgets. Could probably also be used to, for example, load a different preset on a hardware surface, or other things.

Does that make sense?
Yes, that is more or less what is hardwired for the TouchOSC proof of concept.

It's currently called LoadingZone (it only exists internally), maybe OnZoneLoad is a better name...

Anyway, we should probably do a proper job and implement this as a virtual widget, then we can attach any action -- we'll also have to add the appropriate FB for your use case, as well as go back and retrofit the TouchOSC code, but we will then have a generalized mechanism.
__________________
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 11-06-2019, 02:29 PM   #5245
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
New build is up.

Fixed (very embarrassing) OSC bug.

Haha, we've all had those. I won't even ask for the details.


Quote:
Originally Posted by Geoff Waddington View Post
@MalcolmG, thank for testing

No worries. Thanks for the quick turn-around.
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-06-2019, 02:39 PM   #5246
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
Yes, that is more or less what is hardwired for the TouchOSC proof of concept.

It's currently called LoadingZone (it only exists internally), maybe OnZoneLoad is a better name...

Anyway, we should probably do a proper job and implement this as a virtual widget, then we can attach any action -- we'll also have to add the appropriate FB for your use case, as well as go back and retrofit the TouchOSC code, but we will then have a generalized mechanism.

Sweet! Thanks Geoff.



Thinking about the ability to send a message to a surface, could also be useful going back to things like the Launchpad discussion, to change colours, etc. If it's generic, people will probably do things with it that were not planned.
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-06-2019, 02:56 PM   #5247
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 416
Default

Okay, I've just been turned on to this thread, via gearslutz (how random!) and it's extremely exciting!

I had thought I would have to do a lot more rolling-my-own to get my controller working. Now the potential uses for my very modest X-touch mini are exploding!

Which has made me think of a feature I'd like...

I am in process of creating a master control panel gui for live use. I've been using a modified version of the Lokasenna gui stuff. It's coming along. What I'd like to be able to do is have a section of the gui devoted to showing what the behringer is doing at any given moment, based on the currently selected zone, selected channel, and any modifiers. Since you (are planning to?) support scribble strips, I'm wondering if this is already available.... just not sure where to hook into it.

I'm thinking along the lines of a .csv text string I can parse to populate a set of labels, which are laid out in the order the controls appear in the behringer, and colored and/or numbered according to the currently selected channel.

Is this (already?) possible?

Also not sure how this information would get to my script from reaper... that might be the most troublesome part! I guess it could be written to an .ini file that my script could read from. The problem then is just letting the script know when that data has changed.

Thoughts??
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 11-06-2019, 03:10 PM   #5248
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
New build is up.

Fixed (very embarrassing) OSC bug.
So, good news and bad news:

- good news, no more flood of messages. Output window sits silently until something happens. Awesome.
- bad news, OSC messages still not getting to Lemur.

I decided to write the opposite of my Reaktor ensemble from the other day. ie. one that sends OSC messages to CSI and displays the values it receives back. It behaves exactly as Lemur. Moving the knob in Reaktor moves the MasterVolume in Reaper. However moving the Master Volume in Reaper, shows the output messages being sent in the Reaper Console, but they don't display in Reaktor (not even in its Incoming OSC Monitor window)
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-06-2019, 03:35 PM   #5249
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MalcolmG View Post
So, good news and bad news:

- good news, no more flood of messages. Output window sits silently until something happens. Awesome.
- bad news, OSC messages still not getting to Lemur.

I decided to write the opposite of my Reaktor ensemble from the other day. ie. one that sends OSC messages to CSI and displays the values it receives back. It behaves exactly as Lemur. Moving the knob in Reaktor moves the MasterVolume in Reaper. However moving the Master Volume in Reaper, shows the output messages being sent in the Reaper Console, but they don't display in Reaktor (not even in its Incoming OSC Monitor window)
I'm sure you've done this more than once, but IP/port config might be worth checking, oh and once I configure with TouchOSC, sometimes I have to exit Reaper and the app and restart both before everything works, not always, but often...

I tested examples similar to yours (that's how I caught the bug ) and with Touch OSC everything worked fine...
__________________
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 11-06-2019, 04:16 PM   #5250
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'm sure you've done this more than once, but IP/port config might be worth checking, oh and once I configure with TouchOSC, sometimes I have to exit Reaper and the app and restart both before everything works, not always, but often...

I tested examples similar to yours (that's how I caught the bug ) and with Touch OSC everything worked fine...

In CSI.INI, I'm assuming:


- first listed port is the one CSI will listen on
- second listed port is the one CSI will send to (on the IP listed at the end of the line)


Is that correct? I'm assuming so, otherwise it wouldn't be receiving the messages in CSI to begin with.

As an aside, in the case of Lemur, both ports were 8000 (on different IPs, obv) For Reaktor, they were both on the local machine so they were different ports then.



I wonder if the free Reaktor player will run my Ensemble? That way you could test it without Lemur. Let me try that and see what I can find. Update: No, seems not
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki

Last edited by MalcolmG; 11-06-2019 at 04:33 PM.
MalcolmG is offline   Reply With Quote
Old 11-06-2019, 06:45 PM   #5251
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Just had a go at getting the meters to work on the MCU/XT, but not having much luck.

I have the correct defs in the .mst (at least I haven't changed them) and I have:
Code:
VUMeter|  TrackOutputMeter
in the Channel Zone, but all I get is a row of .......... in display lower and nothing on the 'Signal' LED. Plenty of busy MIDI info coming from Reaper but nothing happening.

Actually, just flashing the 'Signal' LED is all I'm looking for
MixMonkey is offline   Reply With Quote
Old 11-07-2019, 07:43 AM   #5252
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
Just had a go at getting the meters to work on the MCU/XT, but not having much luck.

I have the correct defs in the .mst (at least I haven't changed them) and I have:
Code:
VUMeter|  TrackOutputMeter
in the Channel Zone, but all I get is a row of .......... in display lower and nothing on the 'Signal' LED. Plenty of busy MIDI info coming from Reaper but nothing happening.

Actually, just flashing the 'Signal' LED is all I'm looking for
Your .mst should include something like this:

Code:
Widget VUMeter1
	FB_MCUVUMeter 0
WidgetEnd

Widget VUMeter2
	FB_MCUVUMeter 1
WidgetEnd
...
and in the Channel section of your .zon:

Code:
...
VUMeter|  TrackOutputMeter
...
__________________
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 11-07-2019, 07:47 AM   #5253
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by woodslanding View Post
Okay, I've just been turned on to this thread, via gearslutz (how random!) and it's extremely exciting!

I had thought I would have to do a lot more rolling-my-own to get my controller working. Now the potential uses for my very modest X-touch mini are exploding!

Which has made me think of a feature I'd like...

I am in process of creating a master control panel gui for live use. I've been using a modified version of the Lokasenna gui stuff. It's coming along. What I'd like to be able to do is have a section of the gui devoted to showing what the behringer is doing at any given moment, based on the currently selected zone, selected channel, and any modifiers. Since you (are planning to?) support scribble strips, I'm wondering if this is already available.... just not sure where to hook into it.

I'm thinking along the lines of a .csv text string I can parse to populate a set of labels, which are laid out in the order the controls appear in the behringer, and colored and/or numbered according to the currently selected channel.

Is this (already?) possible?

Also not sure how this information would get to my script from reaper... that might be the most troublesome part! I guess it could be written to an .ini file that my script could read from. The problem then is just letting the script know when that data has changed.

Thoughts??
Not quite sure what you're asking -- do you mean you wish to implement a virtual display for the mini -- one that would simulate scribble strips ?
__________________
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 11-07-2019, 07:48 AM   #5254
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
Your .mst should include something like this:

Code:
Widget VUMeter1
	FB_MCUVUMeter 0
WidgetEnd

Widget VUMeter2
	FB_MCUVUMeter 1
WidgetEnd
...
and in the Channel section of your .zon:

Code:
...
VUMeter|  TrackOutputMeter
...
Yep, and all I get is row of ......
MixMonkey is offline   Reply With Quote
Old 11-07-2019, 07:53 AM   #5255
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MalcolmG View Post
In CSI.INI, I'm assuming:


- first listed port is the one CSI will listen on
- second listed port is the one CSI will send to (on the IP listed at the end of the line)


Is that correct? I'm assuming so, otherwise it wouldn't be receiving the messages in CSI to begin with.

As an aside, in the case of Lemur, both ports were 8000 (on different IPs, obv) For Reaktor, they were both on the local machine so they were different ports then.



I wonder if the free Reaktor player will run my Ensemble? That way you could test it without Lemur. Let me try that and see what I can find. Update: No, seems not
Hmmm...

As far as the .ini file order just open the config panel, that will tell you

The next thing I would do is get Touch OSC since we have already have it working on OS X, Windows 10, iOS and Android, even if just to help troubleshoot the Lemur/CSI issues...
__________________
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 11-07-2019, 11:29 AM   #5256
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 416
Default

Quote:
Originally Posted by Geoff Waddington View Post
Not quite sure what you're asking -- do you mean you wish to implement a virtual display for the mini -- one that would simulate scribble strips ?
Exactly.

From reading further back on the thread, it looks like you are supporting scribble strips, but there's nothing yet about them in the tutorial video or wiki as far as I can tell.

I'm attaching a simple example of what it might look like for the behringer. This would just be a little floating window you could open with a command in reaper (and it would look a little nicer--this is literally just spacings mocked up in inkscape.) Maybe with a drop-down to select the controller to show. A controller specific toolbar, basically.

Taking it a step further, you could actually make the boxes function as sliders and buttons, and encoders function as +- buttons. That way you would have a complete virtual controller you could use when you are working on your laptop away from the actual unit. Don't know how useful that would be for folks, but it's an idea.

For a real cadillac solution you'd want versions of this script for every control surface out there (that doesn't actually have scribble strips!) I'd be happy to offer code for the behringer as a starting point. Maybe I could even figure out how to lay out controls from an editable text file... I actually really need to do that anyway, as I keep changing my mind about my layout the list of controls would be read from the mst file. I suppose the size and positions of controls could be in the same file and just ignored by csi...??? I'd also want an option to select the color, including just taking the color of the selected channel. Text comes from the zone file, correct? I guess color eventually will as well?

I could probably manage to get something like this working if I knew how to get the text and color data.

In any case, I'm going to figure out how to lay out my controls from a text file asap, as that's obviously the way to do it going forward.

cheers!
-eric
Attached Images
File Type: png behringerChannelLayout.png (50.9 KB, 48 views)
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 11-07-2019, 02:59 PM   #5257
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 416
Default

okay here's a super rough start... I've read the following file:
Code:
/ X-Touch Mini
/ Ensure X-Touch Mini is configured in "standard" mode
/
/ Layout:
/ Layer A
/   Rotary Buttons (EN 1-8 Push)
/   Rotary Knobs   (EN 1-8 Turn)
/   Upper Buttons  (BT 1-8)
/   Lower Buttons  (BT 9-16)
/   Master Fader   (FD 1)
/
/ Layer B
/   Rotary Buttons (EN 1-8 Push)
/   Rotary Knobs   (EN 1-8 Turn)
/   Upper Buttons  (BT 1-8)
/   Lower Buttons  (BT 9-16)
/   Master Fader   (FD 1)


Widget LayerA_RotaryPush1
	Press 9a 00 7f
	Row 2
	Col 1
WidgetEnd
	
Widget LayerA_RotaryPush2
	Press 9a 01 7f
	Row 2
	Col 2
WidgetEnd

Widget LayerA_RotaryPush3
	Press 9a 02 7f
	Row 2
	Col 3
WidgetEnd

Widget LayerA_RotaryPush4
	Press 9a 03 7f
	Row 2
	Col 4
WidgetEnd

Widget LayerA_RotaryPush5
	Press 9a 04 7f
	Row 2
	Col 5
WidgetEnd

Widget LayerA_RotaryPush6
	Press 9a 05 7f
	Row 2
	Col 6
WidgetEnd

Widget LayerA_RotaryPush7
	Press 9a 06 7f
	Row 2
	Col 7
WidgetEnd

Widget LayerA_RotaryPush8
	Press 9a 07 7f
	Row 2
	Col 8
WidgetEnd

Widget LayerA_Rotary1
	Fader7Bit ba 01 7f
	FB_Fader7Bit ba 01 7e 0.5
	Row 1
	Col 1
WidgetEnd

Widget LayerA_Rotary2
	Fader7Bit ba 02 7f
	FB_Fader7Bit ba 02 7f 0.5
	Row 1
	Col 2
WidgetEnd

Widget LayerA_Rotary3
	Fader7Bit ba 03 7f
	FB_Fader7Bit ba 03 7f 0.5
	Row 1
	Col 3
WidgetEnd

Widget LayerA_Rotary4
	Fader7Bit ba 04 7f
	FB_Fader7Bit ba 04 7f 0.5
	Row 1
	Col 4
WidgetEnd

Widget LayerA_Rotary5
	Fader7Bit ba 05 7f
	FB_Fader7Bit ba 05 7f 0.5
	Row 1
	Col 5
WidgetEnd

Widget LayerA_Rotary6
	Fader7Bit ba 06 7f
	FB_Fader7Bit ba 06 7f 0.5
	Row 1
	Col 6
WidgetEnd

Widget LayerA_Rotary7
	Fader7Bit ba 07 7f
	FB_Fader7Bit ba 07 7f 0.5
	Row 1
	Col 7
WidgetEnd

Widget LayerA_Rotary8
	Fader7Bit ba 08 7f
	FB_Fader7Bit ba 08 7f 0.5
	Row 1
	Col 8
WidgetEnd

Widget LayerA_UpperButton1
	Press 9a 08 7f
	FB_TwoState 9a 08 7f 8a 08 00 0.5
	Row 3
	Col 1
WidgetEnd

Widget LayerA_UpperButton2
	Press 9a 09 7f
	FB_TwoState 9a 09 7f 8a 09 00 0.5
	Row 3
	Col 2
WidgetEnd

Widget LayerA_UpperButton3
	Press 9a 0a 7f
	FB_TwoState 9a 0a 7f 8a 0a 00 0.5
	Row 3
	Col 3
WidgetEnd

Widget LayerA_UpperButton4
	Press 9a 0b 7f
	FB_TwoState 9a 0b 7f 8a 0b 00 0.5
	Row 3
	Col 4
WidgetEnd

Widget LayerA_UpperButton5
	Press 9a 0c 7f
	FB_TwoState 9a 0c 7f 8a 0c 00 0.5
	Row 3
	Col 5
WidgetEnd

Widget LayerA_UpperButton6
	Press 9a 0d 7f
	FB_TwoState 9a 0d 7f 8a 0d 00 0.5
	Row 3
	Col 6
WidgetEnd

Widget LayerA_UpperButton7
	Press 9a 0e 7f
	FB_TwoState 9a 0e 7f 8a 0e 00 0.5
	Row 3
	Col 7
WidgetEnd

Widget LayerA_UpperButton8
	Press 9a 0f 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 3
	Col 8
WidgetEnd

Widget LayerA_LowerButton1
	Press 9a 10 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 4
	Col 1
WidgetEnd

Widget LayerA_LowerButton2
	Press 9a 11 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 4
	Col 2
WidgetEnd

Widget LayerA_LowerButton3
	Press 9a 12 7f
	FB_TwoState 9a 12 7f 8a 12 00 0.5
	Row 4
	Col 3
WidgetEnd

Widget LayerA_LowerButton4
	Press 9a 13 7f
	FB_TwoState 9a 13 7f 8a 13 00 0.5
	Row 4
	Col 4
WidgetEnd

Widget LayerA_LowerButton5
	Press 9a 14 7f
	FB_TwoState 9a 14 7f 8a 14 00 0.5
	Row 4
	Col 5
WidgetEnd

Widget LayerA_LowerButton6
	Press 9a 15 7f
	FB_TwoState 9a 15 7f 8a 15 00 0.5
	Row 4
	Col 6
WidgetEnd

Widget LayerA_LowerButton7
	Press 9a 16 7f
	FB_TwoState 9a 16 7f 8a 16 00 0.5
	Row 4
	Col 7
WidgetEnd

Widget LayerA_LowerButton8
	Press 9a 17 7f
	FB_TwoState 9a 17 7f 8a 17 00 0.5
	Row 4
	Col 8
WidgetEnd

Widget LayerA_Fader
	Fader7Bit ba 09 7f
	Row 1
	Col 9
WidgetEnd

/################################################
And generated a set of labels (well actually labeled faders...) So far it just reads the control names, which is not what we want. But it's a start. I appears that REAPER has no way to know which bank of buttons on the xtouch is selected--I don't think it sends out any messages when pressed--so I limited myself to bank A. That's fine for me, given that CSI allows you to create any number of zones.

Also it would be nice to support a vertical type of control eventually, but for now the fader is just another horizontal button.
Attached Images
File Type: png readingMSTfile.png (37.8 KB, 26 views)
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 11-07-2019, 03:37 PM   #5258
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by woodslanding View Post
Exactly.

From reading further back on the thread, it looks like you are supporting scribble strips, but there's nothing yet about them in the tutorial video or wiki as far as I can tell.

I'm attaching a simple example of what it might look like for the behringer. This would just be a little floating window you could open with a command in reaper (and it would look a little nicer--this is literally just spacings mocked up in inkscape.) Maybe with a drop-down to select the controller to show. A controller specific toolbar, basically.

Taking it a step further, you could actually make the boxes function as sliders and buttons, and encoders function as +- buttons. That way you would have a complete virtual controller you could use when you are working on your laptop away from the actual unit. Don't know how useful that would be for folks, but it's an idea.

For a real cadillac solution you'd want versions of this script for every control surface out there (that doesn't actually have scribble strips!) I'd be happy to offer code for the behringer as a starting point. Maybe I could even figure out how to lay out controls from an editable text file... I actually really need to do that anyway, as I keep changing my mind about my layout the list of controls would be read from the mst file. I suppose the size and positions of controls could be in the same file and just ignored by csi...??? I'd also want an option to select the color, including just taking the color of the selected channel. Text comes from the zone file, correct? I guess color eventually will as well?

I could probably manage to get something like this working if I knew how to get the text and color data.

In any case, I'm going to figure out how to lay out my controls from a text file asap, as that's obviously the way to do it going forward.

cheers!
-eric
Yeah, we've tossed this around a few times here and there, probably now time to take a closer look...
__________________
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 11-07-2019, 03:50 PM   #5259
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by woodslanding View Post
okay here's a super rough start... I've read the following file:
Code:
/ X-Touch Mini
/ Ensure X-Touch Mini is configured in "standard" mode
/
/ Layout:
/ Layer A
/   Rotary Buttons (EN 1-8 Push)
/   Rotary Knobs   (EN 1-8 Turn)
/   Upper Buttons  (BT 1-8)
/   Lower Buttons  (BT 9-16)
/   Master Fader   (FD 1)
/
/ Layer B
/   Rotary Buttons (EN 1-8 Push)
/   Rotary Knobs   (EN 1-8 Turn)
/   Upper Buttons  (BT 1-8)
/   Lower Buttons  (BT 9-16)
/   Master Fader   (FD 1)


Widget LayerA_RotaryPush1
	Press 9a 00 7f
	Row 2
	Col 1
WidgetEnd
	
Widget LayerA_RotaryPush2
	Press 9a 01 7f
	Row 2
	Col 2
WidgetEnd

Widget LayerA_RotaryPush3
	Press 9a 02 7f
	Row 2
	Col 3
WidgetEnd

Widget LayerA_RotaryPush4
	Press 9a 03 7f
	Row 2
	Col 4
WidgetEnd

Widget LayerA_RotaryPush5
	Press 9a 04 7f
	Row 2
	Col 5
WidgetEnd

Widget LayerA_RotaryPush6
	Press 9a 05 7f
	Row 2
	Col 6
WidgetEnd

Widget LayerA_RotaryPush7
	Press 9a 06 7f
	Row 2
	Col 7
WidgetEnd

Widget LayerA_RotaryPush8
	Press 9a 07 7f
	Row 2
	Col 8
WidgetEnd

Widget LayerA_Rotary1
	Fader7Bit ba 01 7f
	FB_Fader7Bit ba 01 7e 0.5
	Row 1
	Col 1
WidgetEnd

Widget LayerA_Rotary2
	Fader7Bit ba 02 7f
	FB_Fader7Bit ba 02 7f 0.5
	Row 1
	Col 2
WidgetEnd

Widget LayerA_Rotary3
	Fader7Bit ba 03 7f
	FB_Fader7Bit ba 03 7f 0.5
	Row 1
	Col 3
WidgetEnd

Widget LayerA_Rotary4
	Fader7Bit ba 04 7f
	FB_Fader7Bit ba 04 7f 0.5
	Row 1
	Col 4
WidgetEnd

Widget LayerA_Rotary5
	Fader7Bit ba 05 7f
	FB_Fader7Bit ba 05 7f 0.5
	Row 1
	Col 5
WidgetEnd

Widget LayerA_Rotary6
	Fader7Bit ba 06 7f
	FB_Fader7Bit ba 06 7f 0.5
	Row 1
	Col 6
WidgetEnd

Widget LayerA_Rotary7
	Fader7Bit ba 07 7f
	FB_Fader7Bit ba 07 7f 0.5
	Row 1
	Col 7
WidgetEnd

Widget LayerA_Rotary8
	Fader7Bit ba 08 7f
	FB_Fader7Bit ba 08 7f 0.5
	Row 1
	Col 8
WidgetEnd

Widget LayerA_UpperButton1
	Press 9a 08 7f
	FB_TwoState 9a 08 7f 8a 08 00 0.5
	Row 3
	Col 1
WidgetEnd

Widget LayerA_UpperButton2
	Press 9a 09 7f
	FB_TwoState 9a 09 7f 8a 09 00 0.5
	Row 3
	Col 2
WidgetEnd

Widget LayerA_UpperButton3
	Press 9a 0a 7f
	FB_TwoState 9a 0a 7f 8a 0a 00 0.5
	Row 3
	Col 3
WidgetEnd

Widget LayerA_UpperButton4
	Press 9a 0b 7f
	FB_TwoState 9a 0b 7f 8a 0b 00 0.5
	Row 3
	Col 4
WidgetEnd

Widget LayerA_UpperButton5
	Press 9a 0c 7f
	FB_TwoState 9a 0c 7f 8a 0c 00 0.5
	Row 3
	Col 5
WidgetEnd

Widget LayerA_UpperButton6
	Press 9a 0d 7f
	FB_TwoState 9a 0d 7f 8a 0d 00 0.5
	Row 3
	Col 6
WidgetEnd

Widget LayerA_UpperButton7
	Press 9a 0e 7f
	FB_TwoState 9a 0e 7f 8a 0e 00 0.5
	Row 3
	Col 7
WidgetEnd

Widget LayerA_UpperButton8
	Press 9a 0f 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 3
	Col 8
WidgetEnd

Widget LayerA_LowerButton1
	Press 9a 10 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 4
	Col 1
WidgetEnd

Widget LayerA_LowerButton2
	Press 9a 11 7f
	FB_TwoState 9a 0f 7f 8a 0f 00 0.5
	Row 4
	Col 2
WidgetEnd

Widget LayerA_LowerButton3
	Press 9a 12 7f
	FB_TwoState 9a 12 7f 8a 12 00 0.5
	Row 4
	Col 3
WidgetEnd

Widget LayerA_LowerButton4
	Press 9a 13 7f
	FB_TwoState 9a 13 7f 8a 13 00 0.5
	Row 4
	Col 4
WidgetEnd

Widget LayerA_LowerButton5
	Press 9a 14 7f
	FB_TwoState 9a 14 7f 8a 14 00 0.5
	Row 4
	Col 5
WidgetEnd

Widget LayerA_LowerButton6
	Press 9a 15 7f
	FB_TwoState 9a 15 7f 8a 15 00 0.5
	Row 4
	Col 6
WidgetEnd

Widget LayerA_LowerButton7
	Press 9a 16 7f
	FB_TwoState 9a 16 7f 8a 16 00 0.5
	Row 4
	Col 7
WidgetEnd

Widget LayerA_LowerButton8
	Press 9a 17 7f
	FB_TwoState 9a 17 7f 8a 17 00 0.5
	Row 4
	Col 8
WidgetEnd

Widget LayerA_Fader
	Fader7Bit ba 09 7f
	Row 1
	Col 9
WidgetEnd

/################################################
And generated a set of labels (well actually labeled faders...) So far it just reads the control names, which is not what we want. But it's a start. I appears that REAPER has no way to know which bank of buttons on the xtouch is selected--I don't think it sends out any messages when pressed--so I limited myself to bank A. That's fine for me, given that CSI allows you to create any number of zones.

Also it would be nice to support a vertical type of control eventually, but for now the fader is just another horizontal button.
I'm confused, is that meant to be an .mst file ?

If not, what is this file ?

If so, the syntax is incorrect, we sort of standardized on the Mackie C4, where rows are letters and columns are numbers.

We also have a (sort of) naming convention

Taking this into account, your .mst file would look something like this:


Code:
Widget LayerA_RotaryPushA1
	Press 9a 00 7f
WidgetEnd
	
Widget LayerA_RotaryPushA2
	Press 9a 01 7f
WidgetEnd

...

Widget LayerA_RotaryA1
	Fader7Bit ba 01 7f
	FB_Fader7Bit ba 01 7e 0.5
WidgetEnd

Widget LayerA_RotaryA2
	Fader7Bit ba 02 7f
	FB_Fader7Bit ba 02 7f 0.5
WidgetEnd

...

Widget LayerA_ButtonA1
	Press 9a 08 7f
	FB_TwoState 9a 08 7f 8a 08 00 0.5
WidgetEnd

Widget LayerA_ButtonA2
	Press 9a 09 7f
	FB_TwoState 9a 09 7f 8a 09 00 0.5
WidgetEnd

...

Widget LayerA_ButtonB7
	Press 9a 16 7f
	FB_TwoState 9a 16 7f 8a 16 00 0.5
WidgetEnd

Widget LayerA_ButtonB8
	Press 9a 17 7f
	FB_TwoState 9a 17 7f 8a 17 00 0.5
WidgetEnd

Widget LayerA_Fader1
	Fader7Bit ba 09 7f
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
Geoff Waddington is offline   Reply With Quote
Old 11-07-2019, 04:25 PM   #5260
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
Hmmm...

As far as the .ini file order just open the config panel, that will tell you
Good call. I always use the text files Just checked and yes, that's correct.

I also just tried Protokol (which is also from Hexler, like TouchOSC) with the same result. It's almost like it's not using my ip/port and sending them somewhere else.

Quote:
Originally Posted by Geoff Waddington View Post
The next thing I would do is get Touch OSC since we have already have it working on OS X, Windows 10, iOS and Android, even if just to help troubleshoot the Lemur/CSI issues...
OK I'll try that next (probably tonight). Have to give myself a quick lesson in TouchOSC.
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-07-2019, 05:37 PM   #5261
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MalcolmG View Post
Good call. I always use the text files Just checked and yes, that's correct.

I also just tried Protokol (which is also from Hexler, like TouchOSC) with the same result. It's almost like it's not using my ip/port and sending them somewhere else.

just in case, have you made sure the other apps are not stealing or hanging on to the ports ?

In other words, maybe start fresh, then just run Reaper and the app...


Quote:
Originally Posted by MalcolmG View Post
OK I'll try that next (probably tonight). Have to give myself a quick lesson in TouchOSC.
There are some Touch OSC phone and pad .ost and .zon files in the build that you can use as starters.
__________________
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 11-07-2019, 06:07 PM   #5262
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
just in case, have you made sure the other apps are not stealing or hanging on to the ports ?

In other words, maybe start fresh, then just run Reaper and the app...

Yep, done that. However, the fact that the feedback gets through to Lemur (on the same port) from my Reaktor ensemble suggests the ports are ok. And that it doesn't get through from CSI to a different port when my ensemble is the receiver makes me think the issue is in CSI/my config.

Quote:
Originally Posted by Geoff Waddington View Post
There are some Touch OSC phone and pad .ost and .zon files in the build that you can use as starters.

Will do, ta.
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is offline   Reply With Quote
Old 11-07-2019, 10:11 PM   #5263
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 416
Default

Quote:
Originally Posted by Geoff Waddington View Post
I'm confused, is that meant to be an .mst file ?

If not, what is this file ?

[/code]
An mst file from the stock csi install modified to have some primitive layout syntax (which csi would ignore, but the screen display could use.) The thought is that a user could put data into their mst file to match the physical positions of their controls, and the scribble strip toolbar would use that to place the controls onscreen.

It wouldn't have to integrate into the mst file, it's just an idea.... a proof of concept to see if I could parse such a file to extract layout data and place controls in the gui... I'm not a programming whiz, so that's encouraging

I'm still wondering if the list of control destinations in the currently active zone(s) is stored somewhere, or how else I might access it....
__________________
eric moon
Very Stable Genius
https://gogolab.com/

Last edited by woodslanding; 11-07-2019 at 10:26 PM.
woodslanding is offline   Reply With Quote
Old 11-07-2019, 11:05 PM   #5264
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,213
Default

Why not do a description instead of an example to be digested by some software that does not yet exist ?

-Michael
mschnell is offline   Reply With Quote
Old 11-08-2019, 04:00 AM   #5265
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by woodslanding View Post
An mst file from the stock csi install modified to have some primitive layout syntax (which csi would ignore, but the screen display could use.) The thought is that a user could put data into their mst file to match the physical positions of their controls, and the scribble strip toolbar would use that to place the controls onscreen.

It wouldn't have to integrate into the mst file, it's just an idea.... a proof of concept to see if I could parse such a file to extract layout data and place controls in the gui... I'm not a programming whiz, so that's encouraging

I'm still wondering if the list of control destinations in the currently active zone(s) is stored somewhere, or how else I might access it....
Ahh, Ok, it's usually not a good idea to alter file formats, but there is an easy solution, using the CSI naming convention.

Code:
Widget LayerA_RotaryPushA1
	Press 9a 00 7f
WidgetEnd
	
Widget LayerA_RotaryPushA2
	Press 9a 01 7f
WidgetEnd

...

Widget LayerA_RotaryA1
	Fader7Bit ba 01 7f
	FB_Fader7Bit ba 01 7e 0.5
WidgetEnd

Widget LayerA_RotaryA2
	Fader7Bit ba 02 7f
	FB_Fader7Bit ba 02 7f 0.5
WidgetEnd

...

Widget LayerA_ButtonB1
	Press 9a 08 7f
	FB_TwoState 9a 08 7f 8a 08 00 0.5
WidgetEnd

Widget LayerA_ButtonB2
	Press 9a 09 7f
	FB_TwoState 9a 09 7f 8a 09 00 0.5
WidgetEnd

...

Widget LayerA_ButtonC7
	Press 9a 16 7f
	FB_TwoState 9a 16 7f 8a 16 00 0.5
WidgetEnd

Widget LayerA_ButtonC8
	Press 9a 17 7f
	FB_TwoState 9a 17 7f 8a 17 00 0.5
WidgetEnd

Widget LayerA_Fader1
	Fader7Bit ba 09 7f
WidgetEnd
Where the letter A,B,C means row and the number 1-8, means column.
__________________
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; 11-08-2019 at 04:29 AM.
Geoff Waddington is offline   Reply With Quote
Old 11-08-2019, 11:07 AM   #5266
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 416
Default

Cool, I'll do it that way. It also occurred to me I could comment out those lines, but I like your way better.

Boasorte: the software does exist, I used it to generate those buttons. I could post it, but it's still super sketchy.

But unless I can name the buttons appropriately it's not going to matter. Still wondering how I might do that.
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 11-08-2019, 12:21 PM   #5267
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
Your .mst should include something like this:

Code:
Widget VUMeter1
	FB_MCUVUMeter 0
WidgetEnd

Widget VUMeter2
	FB_MCUVUMeter 1
WidgetEnd
...
and in the Channel section of your .zon:

Code:
...
VUMeter|  TrackOutputMeter
...
Still no go on the meters i'm afraid. I get the row of dots (i've discovered that these are present below the meter when it works- tried the Reaper stock MCU plugin and the meters work fine)

Has FB_MCUVUMeter perhaps been modified in some way to work better with surfaces such as the Icon ProX and the X-Touch, that have LED meters next to the fader, and broken the original somehow?
MixMonkey is offline   Reply With Quote
Old 11-08-2019, 03:53 PM   #5268
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
Still no go on the meters i'm afraid. I get the row of dots (i've discovered that these are present below the meter when it works- tried the Reaper stock MCU plugin and the meters work fine)

Has FB_MCUVUMeter perhaps been modified in some way to work better with surfaces such as the Icon ProX and the X-Touch, that have LED meters next to the fader, and broken the original somehow?
No, those are all separate classes.

Hmmm... I thought I ripped off that Reaper stock MCU code properly -- obviously my copying skills are less than stellar -- I'll try again
__________________
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 11-08-2019, 05:07 PM   #5269
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
No, those are all separate classes.

Hmmm... I thought I ripped off that Reaper stock MCU code properly -- obviously my copying skills are less than stellar -- I'll try again
Thanks Geoff The MCU meters are pretty useless as far as actually discerning signal levels, but having a signal present indication is still handy
MixMonkey is offline   Reply With Quote
Old 11-09-2019, 05:22 PM   #5270
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

New build is up.

Hopefully fixes MCU metering, anyone with MCU's please check, thanks.
__________________
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 11-09-2019, 05:24 PM   #5271
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Got a Novation Launchpad mini mk3 today, AND the website now has the Programmers Reference Manual for it !!

Looks like we only get 128 colours instead of thousands like on the pro, but still looks like a fun package to play with...
__________________
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 11-09-2019, 06:54 PM   #5272
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
New build is up.

Hopefully fixes MCU metering, anyone with MCU's please check, thanks.
No luck here i'm afraid. Still just the row of dots. I can see the metering info being sent on the MIDI interface, just no action on the LED or display.
MixMonkey is offline   Reply With Quote
Old 11-09-2019, 07:10 PM   #5273
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

I grabbed a bit of the output:
Code:
OUT -> XT#2 d0  55  00 
OUT -> XT#2 d0  54  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  54  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  51  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  51  00 
OUT -> XT#2 d0  50  00
MixMonkey is offline   Reply With Quote
Old 11-09-2019, 07:21 PM   #5274
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
I grabbed a bit of the output:
Code:
OUT -> XT#2 d0  55  00 
OUT -> XT#2 d0  54  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  54  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  53  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  51  00 
OUT -> XT#2 d0  52  00 
OUT -> XT#2 d0  51  00 
OUT -> XT#2 d0  50  00
Oops, forgot to mention there are now 2 different types:

FB_MCUVUMeter
FB_MCUXTVUMeter
__________________
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 11-09-2019, 07:51 PM   #5275
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
Oops, forgot to mention there are now 2 different types:

FB_MCUVUMeter
FB_MCUXTVUMeter
Making progress

Still nothing on DisplayLower apart from dots, but the signal LEDs are working fine. The dots don't disappear when Reaper is stopped, so the pan info doesn't return automatically.
MixMonkey is offline   Reply With Quote
Old 11-09-2019, 08:08 PM   #5276
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
Making progress

Still nothing on DisplayLower apart from dots, but the signal LEDs are working fine. The dots don't disappear when Reaper is stopped, so the pan info doesn't return automatically.
Rats, not the progress I was looking for

I dug up a very old Magic Logic Control manual and found out you could turn on just the signal LEDS.

I was hoping the LCD display would continue to function normally -- alas seems like meter mode means both signal LEDS and display.

So what should happen ?

Should the lower LCDs become meters if you have FB_MCUVUMeter defined ?

Wish we could have our cake and eat it too, especially since the signal LEDs are so much better at the job than stealing the lower displays, which suck at it...
__________________
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 11-09-2019, 08:37 PM   #5277
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
Rats, not the progress I was looking for

I dug up a very old Magic Logic Control manual and found out you could turn on just the signal LEDS.

I was hoping the LCD display would continue to function normally -- alas seems like meter mode means both signal LEDS and display.

So what should happen ?

Should the lower LCDs become meters if you have FB_MCUVUMeter defined ?

Wish we could have our cake and eat it too, especially since the signal LEDs are so much better at the job than stealing the lower displays, which suck at it...
Ah, I see. Yes, it is a shame the meters still take over the lower display. I did a quick check on the stock Reaper MCU plugin and they take over there too. I'd just assumed (wrongly) that they'd only kick in when the transport was running.

I guess if they're going to take over the lower display it's probably best to have them working, then folks can decide if they'd rather have the meter or the pan info.

The pan info does come back if you turn a control when the transport is stopped. Maybe if I put the VUMeter in it's own Zone I could flip back and forth? I there a way the Pan Zone can auto GoZone on transport stop? Just thinking out loud
MixMonkey is offline   Reply With Quote
Old 11-10-2019, 05:36 AM   #5278
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
Ah, I see. Yes, it is a shame the meters still take over the lower display. I did a quick check on the stock Reaper MCU plugin and they take over there too. I'd just assumed (wrongly) that they'd only kick in when the transport was running.

I guess if they're going to take over the lower display it's probably best to have them working, then folks can decide if they'd rather have the meter or the pan info.

The pan info does come back if you turn a control when the transport is stopped. Maybe if I put the VUMeter in it's own Zone I could flip back and forth? I there a way the Pan Zone can auto GoZone on transport stop? Just thinking out loud
Nah, it's WAY worse internally than that

Turns out, the CSI code WAS right, but there was a missing step elsewhere -- a SysEx message for each Channel to set the surface Channel to meter mode.

But wait, there's more -- that means it's a Surface state -- if you change pages, guess what ? Yup it's still in meter mode.

It stays in meter mode until you send it SysEx to go out of meter mode, or you power in off -- Uggghhh.

So, think the best we can do without a gazillion special case duct tape workarounds -- if playing do this, if stopped do that etc. -- which are Ux KILLERS by the way -- is to implement your solution -- ya gotta really want meters -- for me the lower display is WAY more important, but CSI is all about choice

Yup, methinks this goes on the back burner for now, much more low hanging fruit to gather first.

So, in next build adding MCU VU will also show on lower display, and you are committing for ALL Pages -- about the best we can do for now...
__________________
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 11-10-2019, 07:24 AM   #5279
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 879
Default

Quote:
Originally Posted by Geoff Waddington View Post
Turns out, the CSI code WAS right, but there was a missing step elsewhere -- a SysEx message for each Channel to set the surface Channel to meter mode.
Was this what was preventing the DisplayLower bargraph showing?

Quote:
So, in next build adding MCU VU will also show on lower display, and you are committing for ALL Pages
Fair enough, then peeps can pick

Incidentally, I had a quick look at how Logic deals with this (the MCU has a 'Logic' mode) It's actually quite interesting.

The meter is a small, vertical bargraph on the RHS of the display that spans both lower and upper display rows. It bounces 'through' the end of the track name (the letters reappear when the meter is lower than the top row) Because it's on the RHS, there is still room to the left of it for the Pan value. When you adjust the Pan, the track name changes to 'Pan' (changing back a couple of seconds after you finish adjusting -this happens for all the channel functions, volume, mute etc)

What's funny is that the Logic Mode metering works perfectly in CSI but unfortunately all the other CSI display functions are broken I always wondered what the difference between those two MCU start up modes was- guess I know now

EDIT: Just tried Logic whilst started up in regular MCU mode, it works just the same. So that's not the difference in the startup modes
MixMonkey is offline   Reply With Quote
Old 11-10-2019, 07:37 AM   #5280
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,808
Default

Quote:
Originally Posted by MixMonkey View Post
Was this what was preventing the DisplayLower bargraph showing?
That's what was preventing ANY metering from showing

I discovered you could turn on only the signal LED so I tried that first, as you know.

Now CSI will turn on both the LED and the display.
__________________
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
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 02:53 PM.


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