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

Reply
 
Thread Tools Display Modes
Old 08-20-2018, 04:09 PM   #1801
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

Ok tried that, still nothing.
The monitor shows midi input, but nothing seems to work (except the transport controls)and there is still no midi output.
dragonslair is offline   Reply With Quote
Old 08-20-2018, 04:09 PM   #1802
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by MixMonkey View Post
Definitely something hinkey with some of the PressFB buttons on the MCU.

For instance, if you comment out: Click Reaper 40364 and add Replace Reaper 40364, the Replace button will operate the metronome (as the Click button did) but when the button is in the off state the LED will flicker continuously and a continuous stream of MIDI is being sent from Reaper (presumably causing the LED to flicker)
Please check your midi out stream carefully, is it alternating off/on sent to the same control -- if so, check that Replace isn't mapped twice, flickering is usually a symptom of a double mapping.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-20-2018, 04:10 PM   #1803
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by dragonslair View Post
Ok tried that, still nothing.
The monitor shows midi input, but nothing seems to work (except the transport controls)and there is still no midi output.
Ok, please post the contents of CSI.ini, and the .rst and .axt files you're using, we'll sort it out.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-20-2018, 04:17 PM   #1804
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

Here you go.

CSI.ini
MidiInMonitor On
MidiOutMonitor On
VSTMonitor Off

Page Spirit328 FollowTCP SynchPages NoTrackColoring 0 0 0
MidiSurface Spirit328 16 NonBankable 20 20 Spirit328.rst Spirit328.axt Spirit328

Spirit328.rst
Rewind PressFB 90 5b 7f 90 5b 00
FastForward PressFB 90 5c 7f 90 5c 00
Stop PressFB 90 5f 7f 90 5f 00
Play PressFB 90 5e 7f 90 5e 00
Record PressFB 90 5d 7f 90 5d 00

Channel
Fader Fader14BitFB -60.0 12.0 b0 07 7f b0 07 00
Pan EncoderFB b0 0a 7f b0 0a 00
Mute PressFB b0 40 01 b0 40 00
Solo PressFB b0 44 01 b0 44 00
ChannelEnd

Spirit328.axt
Rewind Rewind
FastForward FastForward
Stop Stop
Play Play
Record Record

Fader TrackVolume
Pan TrackPan
Mute TrackMute
Solo TrackSolo
dragonslair is offline   Reply With Quote
Old 08-20-2018, 04:20 PM   #1805
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

What is the 20 20 in the CSI.ini file?
dragonslair is offline   Reply With Quote
Old 08-20-2018, 04:34 PM   #1806
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by dragonslair View Post
What is the 20 20 in the CSI.ini file?
That's the midi in and out ports, the numbers can look strange when compared to what you see in the dropdowns.

In the above, the issue is CSI.ini -- NonBankable should be Bankable
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-20-2018, 04:49 PM   #1807
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

I changed it to Bankable, but it made no difference.
The Spirit328 is actually 16 channels (b1 to bf) plus the Master fader (b0)
The master does not have a pan/mute/solo, so I set it for the 16 channels only, I'll worry about the Master and the FX returns later.
There is no "banking" on the mixer, so I did not think I would need banking in the CSI.
dragonslair is offline   Reply With Quote
Old 08-20-2018, 04:55 PM   #1808
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by Geoff Waddington View Post
Please check your midi out stream carefully, is it alternating off/on sent to the same control -- if so, check that Replace isn't mapped twice, flickering is usually a symptom of a double mapping.
Yep, that was it I think I really need to comment out the whole lot and add these back one by one (I think you suggested that at one point )

Actually, that explains my previous issue with the Solo button (not the channel one , the one next to Click) Of course it doesn't work properly- it's defined twice! Once in the Channel/Channel End context and then again by me in the top part of the .axt. Have to go back to the .rst and change it's name and then use that in the .axt. Think I'm starting to see the light here
MixMonkey is offline   Reply With Quote
Old 08-20-2018, 05:26 PM   #1809
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by MixMonkey View Post
Yep, that was it I think I really need to comment out the whole lot and add these back one by one (I think you suggested that at one point )

Actually, that explains my previous issue with the Solo button (not the channel one , the one next to Click) Of course it doesn't work properly- it's defined twice! Once in the Channel/Channel End context and then again by me in the top part of the .axt. Have to go back to the .rst and change it's name and then use that in the .axt. Think I'm starting to see the light here
Yup, now you've totally grasped it !!

Actually pretty simple and easy right ?

.rst - midi numbers -> assigned a control name - must be unique
.axt/.fxt - control name -> linked to a Reaper action or fx param
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-20-2018, 05:51 PM   #1810
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yup, now you've totally grasped it !!

Actually pretty simple and easy right ?
Yep, not too bad Trust me to pick the one button in the MCU.rst that was defined twice

Going to set about assigning all my favourite Reaper actions to MCU buttons now

I had a quick try assigning one of my custom actions to an MCU button by using it's command ID string (_84f5af6325d7c84db4289aeecb97b2f9) in place of the regular Reaper action number and it worked a treat- lots of possibilities!

Pretty soon I'll be digging out the A4 fridge magnet sheet and printing a new overlay
MixMonkey is offline   Reply With Quote
Old 08-20-2018, 06:25 PM   #1811
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by dragonslair View Post
I changed it to Bankable, but it made no difference.
The Spirit328 is actually 16 channels (b1 to bf) plus the Master fader (b0)
The master does not have a pan/mute/solo, so I set it for the 16 channels only, I'll worry about the Master and the FX returns later.
There is no "banking" on the mixer, so I did not think I would need banking in the CSI.
Hmmm...

Something askew here b1-bf is only 15 faders.

Yeah, the banking sets up the channel -> track mappings even if you choose not to bank.

Confused as to why this doesn't work...
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-20-2018, 07:26 PM   #1812
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

Sorry, my bad, it's b0 to bf.
The faders use cc07 for volume, except the Master fader uses b0 00.

Each channel strip outputs on a different midi channel, so the fader, pan encoder, mute and solo buttons on channel 1 of the mixer are output on midi channel 1, channel 2 on midi channel 2, and so on.

The Master fader, STE1/STE2/FX1/FX2 encoders output on midi channel 1, and the STE1/2 mute/solo buttons output on midi channel 14.

The transport controls output midi note on/off on channel 1.

Most of these are arbitrary, you can configure any control on the channel strips and the transport controls to any midi channel and cc#

If the banking sets up the channels, why is there an option not to bank?
dragonslair is offline   Reply With Quote
Old 08-20-2018, 09:53 PM   #1813
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,479
Default

Quote:
Originally Posted by _Stevie_ View Post
I wish, there was still something like that C4 available. 32 rotary knobs with displays sounds absolutely amazing for such a task!
-> https://www.amazon.de/Behringer-BCR2.../dp/B000CZ0RJC

No display, but solid and cheap ... and not in stock, anymore, either .

-Michael

Last edited by mschnell; 08-20-2018 at 09:58 PM.
mschnell is online now   Reply With Quote
Old 08-20-2018, 11:47 PM   #1814
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 10,537
Default

Geoff, I have a few questions for the documentation on the Surface Template trigger types (Press, PressFB,etc.)

For PressFB, the example is:
Code:
Solo 	PressFB 90 5a 7f  90 5a 00

First 3-byte message, third byte, 7f
That defines what can take on values from 00-7f, and thus sent back by the feedback command, correct ?

Is that the reason I find two 7f values in the Fader14BitFB commands for the MCU Surface Template ?
Code:
Fader Fader14BitFB -60.0 12.0 e0 7f 7f e0 00 00

Or does it define an upper limit for the value that CSI will use ? Could I for example say 90 5a 3f and thus limit any incoming value at 3f at the top ?


In the outgoing 3-byte message, does the 00 at the end of the Solo example above define a placeholder for any incoming data at the same third-byte location ?

Is that the reason I see two 00 byte values at the end of the Fader14BitFB example above ?
__________________
Dialogue/FX Editor & Re-Recording Mixer
(Video)Using Latch Preview
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 08-21-2018, 01:43 AM   #1815
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by dragonslair View Post
If the banking sets up the channels, why is there an option not to bank?
Because not every controller needs to bank. My Mackie C4Pro doesn't bank, it just displays plugin parameters for the selected channel. If I have banking selected for the C4, it throws off SetScrollLink by 8 channels.
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 01:49 AM   #1816
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,318
Default

Geoff, how would I configure my 8 rotary knobs of the CMC-QC?

Rotary1 EncoderFB b0 10 7f b0 10 00
Rotary1Feedback EncoderFB b0 30 7f b0 30 00

Rotary2 EncoderFB b0 11 7f b0 11 00
Rotary2Feedback EncoderFB b0 31 7f b0 31 00

.
.
.
etc
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is offline   Reply With Quote
Old 08-21-2018, 02:16 AM   #1817
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by dragonslair View Post
Sorry, my bad, it's b0 to bf.
The faders use cc07 for volume, except the Master fader uses b0 00.

Each channel strip outputs on a different midi channel, so the fader, pan encoder, mute and solo buttons on channel 1 of the mixer are output on midi channel 1, channel 2 on midi channel 2, and so on.

The Master fader, STE1/STE2/FX1/FX2 encoders output on midi channel 1, and the STE1/2 mute/solo buttons output on midi channel 14.

The transport controls output midi note on/off on channel 1.

Most of these are arbitrary, you can configure any control on the channel strips and the transport controls to any midi channel and cc#
Over the years I've learned that thinking of these midi messages as channel numbers, cc's, note on/off is folly, these messages mean no such thing.

There is no note on for a console, it has no notion of generating a pitch.

What's happened is some semi-clever person hijacked the midi messages for surface control, leaving us forever stuck with this mess

Another thing buried in that hijack is the fact the using hex notation is the way to go here.

So forget the cc, note on/off stuff, and let's have a look at some MCU protocol examples:

14bit Fader message - e.g. e0 73 94
e means fader
the second part of the number 0-f means channels 1 though 16

73 94 -- these numbers will be joined together to make a 14 bit value, giving a range of 0 - 16383.



Another example:

Mute push button - e.g 90 10 7f
90 = button
10 - 1f - channels 1 though 16
7f-00 - pressed/released

It makes a lot more sense if you think of it this way.

The difference in the Master Fader (using 07) makes me guess that this thing has 7 bit faders, not 14.

So, for now let's concentrate on getting mute, solo etc., working.

Turn on Midi In Monitor on the config panel.

What midi message do you see when you press Play ?

What midi message do you see when you press channel 2 Mute ?
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 02:41 AM   #1818
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by airon View Post
Geoff, I have a few questions for the documentation on the Surface Template trigger types (Press, PressFB,etc.)

For PressFB, the example is:
Code:
Solo 	PressFB 90 5a 7f  90 5a 00

First 3-byte message, third byte, 7f
That defines what can take on values from 00-7f, and thus sent back by the feedback command, correct ?
There are 3 types of buttons:
Press - one midi message for pressed, no feedback possible -- e.g. BankLeft
PressFB - one midi message for pressed/on, and one midi message for off - e.g. Play
PressReleaseFB - one midi message for pressed/on, and one midi message for released/off -- e.g. Shift

So your example states that there is a Solo button that generates 90 5a 7f when pressed (or when feedback wants to indicate the on state - light up the light, etc.), and this Solo button indicates the off state upon receiving 90 5a 00.

Quote:
Originally Posted by airon View Post
Is that the reason I find two 7f values in the Fader14BitFB commands for the MCU Surface Template ?
Code:
Fader Fader14BitFB -60.0 12.0 e0 7f 7f e0 00 00
For an MCU style 14 bit fader, the are max and min values - e.g Fader 3 is constrained to values between e2 7f 7f and e2 00 00 -- the first number indicates fader 3, and the other 2 are joined to make a 14 bit value.


Quote:
Originally Posted by airon View Post
Or does it define an upper limit for the value that CSI will use ? Could I for example say 90 5a 3f and thus limit any incoming value at 3f at the top ?
No, in this case you are describing an oddball button that sends 3f on a press instead of the more usual 7f.


Quote:
Originally Posted by airon View Post
In the outgoing 3-byte message, does the 00 at the end of the Solo example above define a placeholder for any incoming data at the same third-byte location ?

Is that the reason I see two 00 byte values at the end of the Fader14BitFB example above ?
No, as described above it's more simplistic than that.

For buttons, it's just pressed/released messages and for faders it's just max/min.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 02:45 AM   #1819
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by _Stevie_ View Post
Geoff, how would I configure my 8 rotary knobs of the CMC-QC?

Rotary1 EncoderFB b0 10 7f b0 10 00
Rotary1Feedback EncoderFB b0 30 7f b0 30 00

Rotary2 EncoderFB b0 11 7f b0 11 00
Rotary2Feedback EncoderFB b0 31 7f b0 31 00

.
.
.
etc
Workin' way to hard my friend

Use this instead once only:

Channel
Rotary EncoderFB b0 10 7f b0 10 00
RotaryFeedback EncoderFB b0 30 7f b0 30 00
ChannelEnd

Now, when you define your interface and set num channels to 8, CSI will auto generate all 8 based on the Channel template.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 03:02 AM   #1820
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by _Stevie_ View Post
Geoff, how would I configure my 8 rotary knobs of the CMC-QC?

Rotary1 EncoderFB b0 10 7f b0 10 00
Rotary1Feedback EncoderFB b0 30 7f b0 30 00

Rotary2 EncoderFB b0 11 7f b0 11 00
Rotary2Feedback EncoderFB b0 31 7f b0 31 00

.
.
.
etc
Looks like Stevie's going to be hitting the plugin trail soon....
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 04:29 AM   #1821
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,318
Default

Quote:
Originally Posted by Geoff Waddington View Post
Workin' way to hard my friend

Use this instead once only:

Channel
Rotary EncoderFB b0 10 7f b0 10 00
RotaryFeedback EncoderFB b0 30 7f b0 30 00
ChannelEnd

Now, when you define your interface and set num channels to 8, CSI will auto generate all 8 based on the Channel template.
Haha, okay!
Ah but wait, won't this assign the 8 encoder to 8 different channels?

@MixMonkey haha, owned! :P
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is offline   Reply With Quote
Old 08-21-2018, 04:50 AM   #1822
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 10,537
Default

Quote:
Originally Posted by Geoff Waddington View Post
There are 3 types of buttons:
Press - one midi message for pressed, no feedback possible -- e.g. BankLeft
PressFB - one midi message for pressed/on, and one midi message for off - e.g. Play
PressReleaseFB - one midi message for pressed/on, and one midi message for released/off -- e.g. Shift

So your example states that there is a Solo button that generates 90 5a 7f when pressed (or when feedback wants to indicate the on state - light up the light, etc.), and this Solo button indicates the off state upon receiving 90 5a 00.
Thank you. That helps a lot.

PressFB on Solo would send the first message to CSI, which passes that message back to the device so the light comes on.

PressFB on Solo again sends the second message to CSI, which passes it back again. So the MCU is changing what message it sends after each press. Am I correct in assuming that with PressFB ?


PressReleaseFB is for temporarily held buttons. If all these assumptions are correct, I can continue filling blanks.

Do the examples contain all command types or are there some I should add ?
__________________
Dialogue/FX Editor & Re-Recording Mixer
(Video)Using Latch Preview
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 08-21-2018, 06:40 AM   #1823
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by _Stevie_ View Post
Haha, okay!
Ah but wait, won't this assign the 8 encoder to 8 different channels?

@MixMonkey haha, owned! :P
Yes, but it auto generates the names too, so you end up with:

Rotary1
RotaryFeedback1

Rotary2
RotaryFeedback2

...

Rotary7
RotaryFeedback7

Rotary8
RotaryFeedback8

The Channel/ChannelEnd construct is just shorthand for the long way, the computer does the work.

This works because in every design I've seen in the last 12 years the messages always start at 0 in some parameter, and add 1 for each channel
e.g. fader - e0, e1, e2... e7
e.g. mute - 90 10 7f, 90 11 7f, 90 12 7f... 90 17 7f
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 07:22 AM   #1824
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by airon View Post
Thank you. That helps a lot.

PressFB on Solo would send the first message to CSI, which passes that message back to the device so the light comes on.

PressFB on Solo again sends the second message to CSI, which passes it back again. So the MCU is changing what message it sends after each press. Am I correct in assuming that with PressFB ?
Not quite, although some controllers actually do that and it's a PITA to work around


CSI Widgets have 2 important important functions:

ProcessMidiMessage -- handle an incoming message destined for this widget -- widgets like track name, vu meters, etc. do not implement this.

Whenever a button is pressed, a fader is moved, etc., this is called.
This definition is in the .rst file.

It, in turn, calls the DoAction method on whatever Action is associated with this widget.
This definition is in the .axt file, which links widget names to Actions.

RequestUpdate -- ask Reaper to update this widget -- track names, vu meters, etc., obviously implement this, as well as any Faders, buttons with the FB (feedback) suffix, etc.
This definition is in the .axt file, which links widget names to Actions.

RequestUpdate asks the Action associated with this widget to set the widget to the current Reaper value.

When you set the control surface display update frequency (Hz) in the config panel you control how often this update gets called.

This, and ONLY this updates surface values.

This way when you press Solo, the surface doesn't get to decide anything about the light, it just blindly passes the press along.

Milliseconds later, the next update executes and the light is turned on because of the current Reaper Solo state.

By separating this you gain several advantages, the most important being synchronization.

It does not matter whether you select Solo with the mouse, a button press on this surface or a button press on another surface, everything lines up.

Now to your question about the Solo behaviour itself, you've actually brought up a really important point, Action naming.

The reason the Solo Toggles is... well... it's a toggle Action, it should be renamed from Solo to ToggleSolo.

Thanks for that and is a good illustration of why there is no Action list up until now, the naming style is still evolving

So, for buttons:

Press -- sends press only, cannot receive feedback -- e.g. BankLeft -- this allows an optimization -- RequestUpdate does nothing, since there is no feedback possible.

PressFB -- sends press only but can receive feedback -- e.g. Play

PressRelease -- sends press and release, cannot receive feedback -- e.g. Shift

PressReleaseFB -- sends press and release, can receive feedback -- ??


Quote:
Originally Posted by airon View Post
PressReleaseFB is for temporarily held buttons. If all these assumptions are correct, I can continue filling blanks.
Correct, ones with feedback.

Quote:
Originally Posted by airon View Post
Do the examples contain all command types or are there some I should add ?
I think they're all used, I'll check.

One thing worth mentioning about performance and scalability:

If you have 500 tracks some systems I've worked on update all 500 tracks continuously.

This is why RequestUpdate is sent to the widget, then passed along to the associated Action.

It means that only the tracks in the surface "window" will receive update requests.

This means performance is maintained with very large track counts, it scales very well as can be seen in this ancient demo: https://www.youtube.com/watch?v=ravhFzHcYKI, it's faster now
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 07:27 AM   #1825
Snooprah
Human being with feelings
 
Join Date: Mar 2016
Location: Moscow
Posts: 2
Default

How i can make surface template for BCR2000? Should i learn SysEx messages from the surface?
And what should i do with rst file, if i know SysEx messages?
What's the format?
Haven't found reference manual for this.

Last edited by Snooprah; 08-21-2018 at 07:50 AM.
Snooprah is offline   Reply With Quote
Old 08-21-2018, 09:40 AM   #1826
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by Geoff Waddington View Post
So, for buttons:

PressFB -- sends press only but can receive feedback -- e.g. Play
It would be good (sometime in the future) if we could group together a few Press FB buttons and have them behave like 'radio buttons' ie the buttons are mutually exclusive. So when you push a button in the group, its LED comes on and the LED on whatever button (in the group) that was previously selected goes out.

This would be very useful for things like auto modes, Page selection and any other actions that behave in a mutually exclusive manner (I guess PLAY and STOP already behave like this).

Last edited by MixMonkey; 08-21-2018 at 11:21 AM.
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 09:45 AM   #1827
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by Snooprah View Post
How i can make surface template for BCR2000? Should i learn SysEx messages from the surface?
And what should i do with rst file, if i know SysEx messages?
What's the format?
Haven't found reference manual for this.
There isn't really a comprehensive manual (yet), but all the info you need is contained within this thread. This post from Freex is a good start: https://forum.cockos.com/showpost.ph...postcount=1724

Remember to disable your surface in the Reaper MIDI Devices prefs first.
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 10:39 AM   #1828
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by MixMonkey View Post
It would be good (sometime in the future) if we could group together a few Press FB buttons and have them behave like 'radio buttons' ie the buttons are mutually exclusive. So when you push a button in the group, its LED comes on and the LED on whatever button (in the group) that was previously selected goes out.

This would be very useful for things like auto modes, Page selection and any other actions that behave in a mutually exclusive manner (I guess PLAY and STOP already behave like this).
Yeah the MCU Assignment section is crying out to be "radio buttonized"
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 10:49 AM   #1829
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yeah the MCU Assignment section is crying out to be "radio buttonized"
Absolutely I'm currently shifting the auto section off the LED buttons (despite the factory labelling) and on to regular, grey presses. Those LED buttons are just too useful for toggle actions!
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 12:38 PM   #1830
dragonslair
Human being with feelings
 
Join Date: Mar 2018
Posts: 23
Default

Quote:
Originally Posted by Geoff Waddington View Post
Over the years I've learned that thinking of these midi messages as channel numbers, cc's, note on/off is folly, these messages mean no such thing.

There is no note on for a console, it has no notion of generating a pitch.

What's happened is some semi-clever person hijacked the midi messages for surface control, leaving us forever stuck with this mess

Another thing buried in that hijack is the fact the using hex notation is the way to go here.

So forget the cc, note on/off stuff, and let's have a look at some MCU protocol examples:

14bit Fader message - e.g. e0 73 94
e means fader
the second part of the number 0-f means channels 1 though 16

73 94 -- these numbers will be joined together to make a 14 bit value, giving a range of 0 - 16383.

Another example:

Mute push button - e.g 90 10 7f
90 = button
10 - 1f - channels 1 though 16
7f-00 - pressed/released

It makes a lot more sense if you think of it this way.

The difference in the Master Fader (using 07) makes me guess that this thing has 7 bit faders, not 14.

So, for now let's concentrate on getting mute, solo etc., working.

Turn on Midi In Monitor on the config panel.

What midi message do you see when you press Play ?

What midi message do you see when you press channel 2 Mute ?
Ok, I understand all that, I have been playing around with midi since the '80's but this console does not emulate MCU, so the MCU protocols do not apply here.
I cannot find any info on what the resolution of the faders is, the 07 is midi cc#7 (Channel Volume)
If you go back to post 1794, I listed all the midi messages (in hex)that the console outputs when in controller mode.

The console has 64 "controllers" 1-16 are the faders, 17 to 32 are the encoders, 33 to 48 are the Mute buttons and 49-64 are the solo buttons
for each one you set a channel (1-16) and an ID (1-127)
These are only active when the console is in controller mode.

The transport controls can be set to Midi MMC or Note On, and are set by selecting a midi note eg, Play is note A#5 which corresponds to midi cc#82 and hex 5e, so when you press Play it outputs 90 5e 7f you can set any button to any note you want.
The transport controls are active regardless of what mode the console is in.

There are also 2 select buttons on each channel Mic/Line and Tape, I don't know why they didn't let you map these to something, they would have worked nice for Channel Select and Record Arm buttons, but they do not output any midi messages regardless of what mode the console is in.

Apparently there was a template that gave full bi-directional control in Cubase VST 5,(and other programs)but Soundcraft (in their infinite wisdom) took down the page so they are no longer available, I can find the page with the Wayback Machine, but the actual files where never archived. The really stupid thing is that you can go to the 328 page on the Soundcraft website and download the .pdf instructions for them, but not the files you need to do it.
dragonslair is offline   Reply With Quote
Old 08-21-2018, 12:41 PM   #1831
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

New build is up: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip

Added primitive support for X Touch One, which likely means primitive support for Faderport, AlphaTrack, etc. is probably somewhat there too.

Use the MCU.rst file
Use the XTouchOne.axt file.

Select a track using the mouse.

Now use the Bank and Channel to navigate, or select a track in Reaper using the mouse.

Known minor bugs -- ii falls off the end to the right, probably something to do with the last track not currently selecting properly.

Check it out and see if it works !
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 12:49 PM   #1832
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by dragonslair View Post
Ok, I understand all that, I have been playing around with midi since the '80's but this console does not emulate MCU, so the MCU protocols do not apply here.
I cannot find any info on what the resolution of the faders is, the 07 is midi cc#7 (Channel Volume)
If you go back to post 1794, I listed all the midi messages (in hex)that the console outputs when in controller mode.

The console has 64 "controllers" 1-16 are the faders, 17 to 32 are the encoders, 33 to 48 are the Mute buttons and 49-64 are the solo buttons
for each one you set a channel (1-16) and an ID (1-127)
These are only active when the console is in controller mode.

The transport controls can be set to Midi MMC or Note On, and are set by selecting a midi note eg, Play is note A#5 which corresponds to midi cc#82 and hex 5e, so when you press Play it outputs 90 5e 7f you can set any button to any note you want.
The transport controls are active regardless of what mode the console is in.

There are also 2 select buttons on each channel Mic/Line and Tape, I don't know why they didn't let you map these to something, they would have worked nice for Channel Select and Record Arm buttons, but they do not output any midi messages regardless of what mode the console is in.

Apparently there was a template that gave full bi-directional control in Cubase VST 5,(and other programs)but Soundcraft (in their infinite wisdom) took down the page so they are no longer available, I can find the page with the Wayback Machine, but the actual files where never archived. The really stupid thing is that you can go to the 328 page on the Soundcraft website and download the .pdf instructions for them, but not the files you need to do it.
Piecing together the info you've been sharing, I think I can safely guess the faders are 7 bit resolution.

That means you should use Fader7Bit instead of Fader14Bit, see Console1.rst for examples.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote
Old 08-21-2018, 12:59 PM   #1833
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,318
Default

Hm, what do I put in the fxt file?
I copied the ReaComp settings from Console1, but this somehow doesn't work.


VST: ReaComp (Cockos)
Rotary1 Thresh
Rotary2 Gain
Rotary3 Attack
Rotary4 Release
Rotary5 Ratio
Rotary6 Bypass
Rotary7 Wet
Rotary8 GainReductionDB
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is offline   Reply With Quote
Old 08-21-2018, 01:28 PM   #1834
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by _Stevie_ View Post
Hm, what do I put in the fxt file?
I copied the ReaComp settings from Console1, but this somehow doesn't work.


VST: ReaComp (Cockos)
Rotary1 Thresh
Rotary2 Gain
Rotary3 Attack
Rotary4 Release
Rotary5 Ratio
Rotary6 Bypass
Rotary7 Wet
Rotary8 GainReductionDB
This is to use the CMC-QC yes?

Have you made a CMC-QC.axt file containing the single line: TrackOnSelection MapFXToWidgets?
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 01:39 PM   #1835
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,318
Default

Yep, however it doesn't seem to work with my devices



RST:

Channel
Rotary EncoderFB b0 10 7f b0 10 00
RotaryFeedback EncoderFB b0 30 7f b0 30 00
ChannelEnd

AXT:

TrackOnSelection MapFXToWidgets

ReaComp.fxt:

VST: ReaComp (Cockos)
Rotary1 Thresh
Rotary2 Gain
Rotary3 Attack
Rotary4 Release
Rotary5 Ratio
Rotary6 Bypass
Rotary7 Wet
Rotary8 GainReductionDB
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...

Last edited by _Stevie_; 08-21-2018 at 01:47 PM.
_Stevie_ is offline   Reply With Quote
Old 08-21-2018, 01:48 PM   #1836
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by _Stevie_ View Post
Yep, however it doesn't seem to work with my devices
Inside the fxt folder you created a folder called CMC-QC and put the ReaComp.fxt inside.

In the CSI prefs window you've created the CMC-QC surface and correctly assigned its Templates?

I'm assuming that the CMC-QC is sending/receiving MIDI.
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 01:54 PM   #1837
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Sorry- didn't see your picture. When you turn a control on the CMC-QC, do you see MIDI being sent to Reaper?
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 01:57 PM   #1838
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,318
Default

Yep, sorry, did edit my post, to provide additional info!

Yes, there is definitely input coming from the QC (I have the
MIDI In monitor turned on).
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is offline   Reply With Quote
Old 08-21-2018, 02:05 PM   #1839
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,079
Default

Quote:
Originally Posted by _Stevie_ View Post
Yep, sorry, did edit my post, to provide additional info!

Yes, there is definitely input coming from the QC (I have the
MIDI In monitor turned on).
Are they the messages you were expecting? ie do they match the .rst.

Have you tried just simply mapping one of the function buttons on the CMC-QC and seeing if you can use it to control an easy Reaper action like the metronome? (Reaper 40364) If it can do this it rules out a lot of possible issues.
MixMonkey is offline   Reply With Quote
Old 08-21-2018, 03:29 PM   #1840
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,186
Default

Quote:
Originally Posted by _Stevie_ View Post
Yep, sorry, did edit my post, to provide additional info!

Yes, there is definitely input coming from the QC (I have the
MIDI In monitor turned on).
Can you please post the contents of:

CSI.ini

CMC-QC.rst
CMC-QC.axt
any .fxt files from the CMC-CQ folder (why is that folder name CMC-CQ instead of CMC-QC?)
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software: https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
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 11:26 PM.


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