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

Reply
 
Thread Tools Display Modes
Old 11-10-2019, 12:39 PM   #5281
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,710
Default

OK, the LaunchPad mini mk3 is going to make for some serious fun.

I was wrong earlier, turns out we CAN get at the full 262k colour spectrum usingSysEx, I'm exercising it as we speak

So now we can add RGB support to Actions.

Notice that was Actions, NOT Widgets.

We want to be able to state an "on" colour and an "off" colour -- that's 6 bytes (RGB for the on colour and RGB for the off colour) -- where to put 'em -- end of the Widget/Action line ? -- any thoughts appreciated...
__________________
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 Yesterday, 02:38 PM   #5282
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 119
Default

Quote:
Originally Posted by Geoff Waddington View Post
OK, the LaunchPad mini mk3 is going to make for some serious fun.

I was wrong earlier, turns out we CAN get at the full 262k colour spectrum usingSysEx, I'm exercising it as we speak

So now we can add RGB support to Actions.

Notice that was Actions, NOT Widgets.

We want to be able to state an "on" colour and an "off" colour -- that's 6 bytes (RGB for the on colour and RGB for the off colour) -- where to put 'em -- end of the Widget/Action line ? -- any thoughts appreciated...

Hi Geoff,


How do these RGB values get translated to the surface-specific messages? Or are you imagining that these values are the values that will be sent to the surface?



Assuming the latter, one of the things I like about the current structure is the fairly clean separation between the surface capabilities in the mst and the behaviour in the zon files. Putting surface-specific values in the zon breaks this.



I don't want to over-complicate this, but it might be nice to be able to define (or even as a first step, have a set of predefined) named colours that you can use in the zon, and then map these names to surface-specific values/messages in the mst. So I can decide that Red for this surface, for example, maps to this particular RGB/Brightness/Flashing state, and then any Action that refers to Red gets that.



Cheers
Malcolm
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is online now   Reply With Quote
Old Yesterday, 03:25 PM   #5283
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,710
Default

Quote:
Originally Posted by MalcolmG View Post
Hi Geoff,
How do these RGB values get translated to the surface-specific messages? Or are you imagining that these values are the values that will be sent to the surface?
Values that will be sent to the surface.

Quote:
Originally Posted by MalcolmG View Post
Assuming the latter, one of the things I like about the current structure is the fairly clean separation between the surface capabilities in the mst and the behaviour in the zon files. Putting surface-specific values in the zon breaks this.
Agree 100%, that's why it is specifically RGB support for Actions.

If we put the colour definition in the .mst file we are back to the Press vs PressRelease Button Types. You can only use them one way in your .zon files.

This way we can start with the obvious on and off colours but later expand to larger numbers or even continuums.

On the FB_Processor end, we'll have a new one for the Novation because we need SysEx, so let's call it FB_NovationLaunchpadMiniRGB7Bit.

Since the Novation series limits RGB to 256K colours (7 bits per colour) , we simply divide RGB values by 2 to get proper range for this device.

So, the Action side implementation is surface agnostic, it simply provides the usual 0-255 R, G, and B values and the Midi_widget handles translation on those surfaces that support colour.

So, we are really adding colour support to Actions capabilities.
__________________
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; Yesterday at 03:50 PM.
Geoff Waddington is offline   Reply With Quote
Old Yesterday, 04:08 PM   #5284
MalcolmG
Human being with feelings
 
MalcolmG's Avatar
 
Join Date: Jun 2015
Location: Sydney, Australia
Posts: 119
Default

Quote:
Originally Posted by Geoff Waddington View Post
If we put the colour definition in the .mst file we are back to the Press vs PressRelease Button Types. You can only use them one way in your .zon files.

That's a good point. It's like there's this tension between the capability/behaviour separation, and which files should change in an install (ie. most things people want to have happen should be do-able in their zon files).


Quote:
Originally Posted by Geoff Waddington View Post
So, the Action side implementation is surface agnostic, it simply provides the usual 0-255 R, G, and B values and the Midi_widget handles translation on those surfaces that support colour.

That resolves my first question I guess. The RGB is an independent representation, and not (necessarily) what is sent to the surface. The specific FB processor will own translating that to the specific surface message.



Cheers
Malcolm
__________________
My CSI Notes wiki : https://github.com/malcolmgroves/reaper_csi/wiki
MalcolmG is online now   Reply With Quote
Old Today, 04:03 PM   #5285
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,710
Default

New build is up.

Includes colour support for the Novation Launchpad Mini mk3.

.mst file:

Code:
Widget Click
    Press 90 0c 7f
    FB_NovationLaunchpadMiniRGB7Bit 90 0c 7f
WidgetEnd
.zon file:

Code:
	Click Reaper 40364 0 255 0 0 16 0
where the 6 values represent RGB on:
R = 0
G = 255
B = 0

and RGB off:
R-0
G=16
B=0

When the click is on the button is bright green.

When the click is off the button is a very dim green.

The off colour is the secret sauce that will make this super useful.

Imagine a row of buttons on the Launchpad mapped to the automation states.
In Reaper these states have a colour.
When they are all disengaged the colours will dim.

This colour set tags this block of controls as automation.

We can have many blocks on the pad and NoAction even has colour capability, so the blank space on a given page can be filled with NoActions (all the same color) to give the impression of a background colour -- powerful stuff !!

Oh yeah, the Launchpad must be in Programmer mode for this to work...
__________________
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 10:32 PM.


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