|
|
|
04-11-2020, 02:05 AM
|
#8161
|
Human being with feelings
Join Date: Nov 2012
Location: Munich, Germany
Posts: 111
|
Hi,
the new version 0.2 for the X-Touch is now available.
Enjoy.
Cheers, Mike
https://stash.reaper.fm/38803/CSI_Be...tender_V02.zip
__________________
Reaper Version: 6.18 with CSI 1.0 and SWS / Audio Interface: Behringer FCA1616 + ADA8000
Band: Ossarium / Last Project: http://ossarium.bandcamp.com/ (Recorded and Mixed with Reaper)
|
|
|
04-11-2020, 03:23 AM
|
#8162
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
I use exactly that workflow with Console1 as the "Super Channel", just be sure "Auto Map FX" is checked in the surface setup:
(Snip...)
Now when a Track is selected any FX that are mapped (EQ, compressor, etc.) automatically show up on the Console1 -- as shown in the videos.
|
Wow! Really! So I can grab all the FX Slots of a Selected Channel, and if I had a ZON file that matches the name it will show on the configured surface? Nuts!
A few questions:
1. If I have more than one instance of a particular FX plug-in, does on the first one show or can I somehow initial a toggle?
2. What does the SetShowFXWindows in your Home do? The Wiki sad-fade red for that action.
3. What do the additional arguments here mean? "TrackOutputMeter "0""
|
|
|
04-11-2020, 03:26 AM
|
#8163
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
The RecordArm light is acting exactly like the Select light because TrackUniqueSelect is providing the appropriate feedback to whatever widget it is mapped to, in this case BOTH the RecordArm and Select buttons.
|
Ahh thanks! :-) thats clearer.
|
|
|
04-11-2020, 04:21 AM
|
#8164
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Can we access an FX Plugs Wet/Dry balance and the Bypass state? I have tried a number of syntax's like:
Button FXParam "Bypass"
But i treats this like index [0].
Thanks
|
|
|
04-11-2020, 04:51 AM
|
#8165
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Quote:
Originally Posted by Mike@Ossarium
the new version 0.2 for the X-Touch is now available.
|
It would be GREAT if we were able to share such file in ReaPack, which would provide automatic updating !!! (AFAIK not yet possible -> Geoff and CFillion.)
-Michael
|
|
|
04-11-2020, 04:57 AM
|
#8166
|
Human being with feelings
Join Date: Nov 2012
Location: Munich, Germany
Posts: 111
|
Hold+Click problem
Hi.
I have the following in my zon file:
Code:
Click Reaper "40364" // Options: Toggle metronome
Hold+Click Reaper "40363" // Options: Show metronome/pre-roll settings
Everytime i press click (short) the metronome settings window show up and sometimes dissapear after 1 second. When i remove the Hold+Click part everything works fine.
Can somebody check this behavior?
Cheers,
Mike
__________________
Reaper Version: 6.18 with CSI 1.0 and SWS / Audio Interface: Behringer FCA1616 + ADA8000
Band: Ossarium / Last Project: http://ossarium.bandcamp.com/ (Recorded and Mixed with Reaper)
|
|
|
04-11-2020, 05:06 AM
|
#8167
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Mike@Ossarium
Code:
Click Reaper "40364" // Options: Toggle metronome
Hold+Click Reaper "40363" // Options: Show metronome/pre-roll settings
|
Hi Mike, is "Click" a Widget referencing a button?
|
|
|
04-11-2020, 05:09 AM
|
#8168
|
Human being with feelings
Join Date: Nov 2012
Location: Munich, Germany
Posts: 111
|
Quote:
Originally Posted by tdc
Hi Mike, is "Click" a Widget referencing a button?
|
Yes.
Code:
Widget Click
Press 90 59 7f
FB_TwoState 90 59 7f 90 59 00
WidgetEnd
__________________
Reaper Version: 6.18 with CSI 1.0 and SWS / Audio Interface: Behringer FCA1616 + ADA8000
Band: Ossarium / Last Project: http://ossarium.bandcamp.com/ (Recorded and Mixed with Reaper)
|
|
|
04-11-2020, 05:13 AM
|
#8169
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Ok. Just mapped those codes to a button.
Quick press toggles metronome.
Press and Hold opens the panel as expected.
PS: thanks for teaching me about Hold!
Edit: Looks like your Press isn't defining a release message.
https://github.com/malcolmgroves/reaper_csi/wiki/Press
Last edited by tdc; 04-11-2020 at 05:22 AM.
|
|
|
04-11-2020, 05:23 AM
|
#8170
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
Wow! Really! So I can grab all the FX Slots of a Selected Channel, and if I had a ZON file that matches the name it will show on the configured surface? Nuts!
A few questions:
1. If I have more than one instance of a particular FX plug-in, does on the first one show or can I somehow initial a toggle?
|
Right now only one shows - I think it's the last one IIRC.
It's on the to do list
Quote:
Originally Posted by tdc
2. What does the SetShowFXWindows in your Home do? The Wiki sad-fade red for that action.
|
Sometimes it's helpful to see the FX GUI -- making those little videos is a good example.
SetShowFXWindows tells Reaper whether to automatically show/hide all FX Gui's that are mapped/unmapped.
Quote:
Originally Posted by tdc
3. What do the additional arguments here mean? "TrackOutputMeter "0""
|
Sometimes Actions take parameters - yeah I know the wiki needs a lot of work in this area
In this case the widget names give it away :
Code:
OutputMeterLeft TrackOutputMeter "0"
OutputMeterRight TrackOutputMeter "1"
But in this case who would know that the parameter sets the display mode on the encoder:
Code:
Control+Volume TrackPanWidth "1"
Shift+Volume TrackPan "0"
TrackPanWidth "1" = thermometer fill from centre display style
Shift+Volume TrackPan "0" = - single point display style.
Yup, more wiki work to do.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 05:27 AM
|
#8171
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
Can we access an FX Plugs Wet/Dry balance and the Bypass state? I have tried a number of syntax's like:
Button FXParam "Bypass"
But i treats this like index [0].
Thanks
|
Sometimes there are duplicate parameter names so CSI uses index, "Bypass" is simply the name that will display on a device that has scribble strips, you are missing the index parameter, so it simply defaults to 0:
https://github.com/malcolmgroves/rea.../wiki/FX-Zones
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 05:30 AM
|
#8172
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
Ok. Just mapped those codes to a button.
Quick press toggles metronome.
Press and Hold opens the panel as expected.
PS: thanks for teaching me about Hold!
Edit: Looks like your Press isn't defining a release message.
https://github.com/malcolmgroves/reaper_csi/wiki/Press
|
You are exactly right and now you have been officially promoted to a support role -- who knew simply answering a question could bring you all these responsibilities and untold riches
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 05:31 AM
|
#8173
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
Sometimes there are duplicate parameter names so CSI uses index, "Bypass" is simply the name that will display on a device that has scribble strips, you are missing the index parameter, so it simply defaults to 0:
|
Thanks yes, I felt the syntax was incorrect. The indexing is understood. I was more asking whether we can access the Bypass and Wet/Dry parameters of FX Window?
Interestingly on my "overview" iPad, it shows the name "Bypass" and "Wet" when I touch those parameters with the Mouse. But I can seem to address them through CSI to set them.
|
|
|
04-11-2020, 05:32 AM
|
#8174
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
You are exactly right and now you have been officially promoted to a support role -- who knew simply answering a question could bring you all these responsibilities and untold riches
|
Ha! Glad to assist in whatever way I can :-)
|
|
|
04-11-2020, 05:34 AM
|
#8175
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
Thanks yes, I felt the syntax was incorrect. The indexing is understood. I was more asking whether we can access the Bypass and Wet/Dry parameters of FX Window?
Interestingly on my "overview" iPad, it shows the name "Bypass" and "Wet" when I touch those parameters with the Mouse. But I can seem to address them through CSI to set them.
|
Ah, gotcha'
Absolutely, do it all the time, they are always the last 2 in the list, so if there are duplicates, Reaper "Bypass" and Reaper "Wet" are always the last 2.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 05:40 AM
|
#8176
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
I am still stuck on my FocusedFXNavigator issue, but have been doing some more tests to narrow the problem down. And sadly I think its my lack of understanding.
When one of my devices moves from its home to the mapped FX Zone using the FocusedFXNavigator OnFXFocus, all is good. But as soon as I close that FX window, the controller goes dark, but all the home buttons no longer work.
In programming terms I am imagining I have a Home stack, that then has a different stack pushed onto it with OnFXFocus. But then its not being pushed off to reveal the stack underneath.
Where is my flaw?
|
|
|
04-11-2020, 05:46 AM
|
#8177
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
I am still stuck on my FocusedFXNavigator issue, but have been doing some more tests to narrow the problem down. And sadly I think its my lack of understanding.
When one of my devices moves from its home to the mapped FX Zone using the FocusedFXNavigator OnFXFocus, all is good. But as soon as I close that FX window, the controller goes dark, but all the home buttons no longer work.
In programming terms I am imagining I have a Home stack, that then has a different stack pushed onto it with OnFXFocus. But then its not being pushed off to reveal the stack underneath.
Where is my flaw?
|
Ah yes, our friend FocusedFXNavigator...
We are all working through this, I have not yet been able to solve it completely.
If my understanding is correct, Reaper does great at signalling FX Focused.
FX unfocused, not so much
So, until you Focus a new FX, FocusedFX means the last Focused FX, even though it has disappeared.
If you can check that this is what you see, you can commiserate with the rest of us until we sort this out
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Last edited by Geoff Waddington; 04-11-2020 at 06:03 AM.
|
|
|
04-11-2020, 05:48 AM
|
#8178
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
Ah, gotcha'
Absolutely, do it all the time, they are always the last 2 in the list, so if there are duplicates, Reaper "Bypass" and Reaper "Wet" are always the last 2.
|
:-)
Thank you sir, works just as you say. A bit sloppy though as if the plugin adds further parameters it pushes these up higher and breaks the mapping.
|
|
|
04-11-2020, 05:51 AM
|
#8179
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
Ah yes, our friend FocusedFXNavigator...
We are all working through this, I have not yet bee able tosolveit completely
If my understanding is correct, Reaper does great at signalling FX Focused.
FX unfocused, not so much
So, until you Focus a new FX, FocusedFX means the last Focused FX, even though it has disappeared.
If you can check that this is what you see, you can commiserate with the rest of us until we sort this out
|
WooHooo!!!! :-)
Annoying yes, and would be great to solve it. But I had got to the point where this is exactly what I thought. Slowly the understanding of this framework is coming to gather.
The whole way Reaper handles FX windows is a little hinky, so I am not surprised its not reliable in its messaging.
|
|
|
04-11-2020, 06:21 AM
|
#8180
|
Human being with feelings
Join Date: Apr 2020
Posts: 6
|
First, I wanted to make an account to say how incredible this project is; you guys have done incredible work. I have a LaunchControlXL that I wanted to be able to customize and so far I've tried the demos of all the major DAWs and been seriously disappointed with the customization options of control surfaces. Then I came to Reaper and within 1 day I had everything working exactly how I imagined.
I also came to ask a couple questions:
1: How's the progress on Soft Takeover? I saw Geoff commented on it a while back that it would be a checkbox soon but I may be missing it. I also want to make sure I have its function right since every DAW seems to call it something different...basically if I'm on bank 1 and adjust fader 1, then bank 2 and adjust fader 1, I don't want channel 9 (bank2 fader1) to actually change until it matches its previous value.
2. Is there a way to handle sending SysEx messages? The LCXL seems to play nicer with SysEx rather than note on/off for its lighting scheme. Additionally, I haven't found a way to operate the upper knob LED's through CC on/off, only through SysEx.
PS. If anyone is interested in my LauchControl XL files I can upload them
|
|
|
04-11-2020, 07:28 AM
|
#8181
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by yardc28
First, I wanted to make an account to say how incredible this project is; you guys have done incredible work. I have a LaunchControlXL that I wanted to be able to customize and so far I've tried the demos of all the major DAWs and been seriously disappointed with the customization options of control surfaces. Then I came to Reaper and within 1 day I had everything working exactly how I imagined.
|
Thanks from the whole community, that's exactly what CSI is all about, personal customization !
Quote:
Originally Posted by yardc28
I also came to ask a couple questions:
1: How's the progress on Soft Takeover? I saw Geoff commented on it a while back that it would be a checkbox soon but I may be missing it. I also want to make sure I have its function right since every DAW seems to call it something different...basically if I'm on bank 1 and adjust fader 1, then bank 2 and adjust fader 1, I don't want channel 9 (bank2 fader1) to actually change until it matches its previous value.
|
Thanks for reminding me, I'll post on this soon
Quote:
Originally Posted by yardc28
2. Is there a way to handle sending SysEx messages? The LCXL seems to play nicer with SysEx rather than note on/off for its lighting scheme. Additionally, I haven't found a way to operate the upper knob LED's through CC on/off, only through SysEx.
|
I already have this working on my Novation Launchpad mini mk3, just did a quick search, couldn't find the SysEx spec for the LaunchControlXL.
if you can find that, I'll see if I can mix one up.
Quote:
Originally Posted by yardc28
PS. If anyone is interested in my LauchControl XL files I can upload them
|
Always grateful for contributions, thanks !
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 07:41 AM
|
#8182
|
Human being with feelings
Join Date: Apr 2020
Posts: 6
|
I also love how active this community still is...
Here's my files for the LaunchControl XL. I included a link in both files to the LCXL programmers reference, as well as an archive link for when the link inevitably dies.
That being said, if you just point me in the right direction I can take the work off your hands - I can make LCXL integration my contribution I just installed ReaConsole and was gonna play around with controlling it, but if you just give me the method you use I'll get it going today.
|
|
|
04-11-2020, 08:03 AM
|
#8183
|
Human being with feelings
Join Date: Jan 2017
Posts: 252
|
no success yet - but another thought...
No success with this yet if any ideas emerge... ta
"I have all my plugins separated into eq/saturation/comp/sendfx/ - (8 in total) on hotkeys for contextual toolbars.
eg - f15 floats all eq's as buttons in toolbar - mouse select which one, toolbar auto closes.
I would like to:
Press "track" to get fx - as it works at the moment, but then use the 8 rotary's to select which of the toolbars i want by pressing them, then scroll the menu of fx on that toolbar with the rotary and select a plugin."
The idea below would be amazing.. to me anyway
If any of the plugin info using CSI, could, send a bank change message to a surface :
The sl25 - I've been using to control plugins for years, but have to use separate patches per plugin type. The MCU has less controls so don't want to migrate the task to it, or split between) The sl25 have 30 separate fully named patches (or banks) which i'd still like to use (it does still work by plain ol midi, no patch changes though)
If CSI could tell sl25 which bank per individual plugin....
Many thanks!
|
|
|
04-11-2020, 08:51 AM
|
#8184
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by MixMonkey
I stuck with Absolute (0-127), because the inc/dec modes didn't seem to allow feedback to the LED encoder ring.
I've attached the BCR2000.mst. It comes with both a sysex file and a .bcr file to load the appropriate settings into the unit (pick a patch you're not using) It looks like you're using BCManager so probably go for the .bcr.
The button LEDs are a problem because there doesn't seem to be a way of stopping the unit controlling the LEDs internally, but see how you get on.
|
MixMonkey,
Thanks for sending this. I've been playing around with different settings and so far I think that Encoder Plain with relative 2's complement has worked the best. However the resolution is just not fine enough with Fabfilter Pro-Q3. I get much better resolution with REAPER's parameter mapping.
I thought I saw w way to alter the resolution in an older post but I've gone back searching and can't seem to find it. Are we able to tell CSI to use finer step values when we define a widget?
|
|
|
04-11-2020, 09:04 AM
|
#8185
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by yardc28
I also love how active this community still is...
Here's my files for the LaunchControl XL. I included a link in both files to the LCXL programmers reference, as well as an archive link for when the link inevitably dies.
That being said, if you just point me in the right direction I can take the work off your hands - I can make LCXL integration my contribution I just installed ReaConsole and was gonna play around with controlling it, but if you just give me the method you use I'll get it going today.
|
Thanks for files and the link to the programmers reference, I will have a look...
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 09:24 AM
|
#8186
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 4,870
|
Quote:
Originally Posted by rschlierbeck
MixMonkey,
Thanks for sending this. I've been playing around with different settings and so far I think that Encoder Plain with relative 2's complement has worked the best. However the resolution is just not fine enough with Fabfilter Pro-Q3. I get much better resolution with REAPER's parameter mapping.
|
EncoderPlain intentionally has a coarse resolution. Why not use Encoder? Do you get feedback on the LED ring?
Quote:
I thought I saw w way to alter the resolution in an older post but I've gone back searching and can't seem to find it. Are we able to tell CSI to use finer step values when we define a widget?
|
You could setup an enormous step table, but this really shouldn't be necessary in the majority of cases. I get ~0.12dB gain resolution in FabFilter on my MackieC4 using Encoder.
|
|
|
04-11-2020, 09:37 AM
|
#8187
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Let's talk Soft Takeover.
Technically it's easy to do:
If currentSurfaceFaderValue is equal to currentReaperTrackValue -- take over.
As usual the devil is in the details, we'll use a 7 bit fader as an example.
7 bit faders have 128 steps 0/127 - 127/127.
Put another way this is
0/127
2/127
3/127
4/127
5/127
6/127
...
127/127
But what if the currentReaperTrackValue is 3.4/127, Reaper is not restricted to 7 bit values, it is 64 bit floating point.
So we need a "close enough for takeover" equation:
If currentSurfaceFaderValue is close enough to currentReaperTrackValue -- take over.
Let's call "close enough to" "delta"
So if delta is less than !/127, take over.
TADA !!
Works great for 7 bit.
But what about 14 bit faders -- 1/16383, 2/16383....
Well our system will still work but it will be clumsy, it will takeover much sooner than it has to because we have much finer steps with 16383 possible values.
In this case we could say if delta is less than !/16383, take over.
Great, but how about Encoders, etc. ?
So we have:
14 bit delta = 1/16383 = 0.0000610;
7 bit delta = 1/127 = 0.0078740
Basically 2 solutions come to mind:
Code:
// Solution 1
Zone "Channel|"
Fader14bit| SoftTakeoverTrackVolume 0.0000610
Fader7bit| SoftTakeoverTrackVolume 0.0078740
someEncoder| SoftTakeoverTrackVolume 0.000038640 // delta for this encoder
ZoneEnd
// Solution 2
Zone "Channel|"
[bFader14bit| SoftTakeover14BitTrackVolume
Fader7bit| SoftTakeover7BitTrackVolume
someEncoder| SoftTakeoverVariableTrackVolume 0.0078740
ZoneEnd
Note that you can use SoftTakeoverVariableTrackVolume on any widget you wish, not just encoders.
I like solution 2 because it lines up better syntactically with widget definitions, whilst still allowing for custom adjustments, but that's the only reason, what do you think ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 09:39 AM
|
#8188
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by tdc
:-)
Thank you sir, works just as you say. A bit sloppy though as if the plugin adds further parameters it pushes these up higher and breaks the mapping.
|
Well, that's the way Reaper hands them out, might have been better if they were always the first two
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 09:55 AM
|
#8189
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by MixMonkey
EncoderPlain intentionally has a coarse resolution. Why not use Encoder? Do you get feedback on the LED ring?
You could setup an enormous step table, but this really shouldn't be necessary in the majority of cases. I get ~0.12dB gain resolution in FabFilter on my MackieC4 using Encoder.
|
I have tried both Encoder and Encoder Plain. I do get LED feedback on both. Here is a video showing the odd behavior of Encoder.
https://youtu.be/gAKBIX4SYLw
What happens is I get a nice fine resolution when I turn the encoder clockwise and a drastic jump when I turn it counter-clockwise (anti-clockwise.)
Thanks.
|
|
|
04-11-2020, 10:07 AM
|
#8190
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 4,870
|
Quote:
Originally Posted by rschlierbeck
I have tried both Encoder and Encoder Plain. I do get LED feedback on both. Here is a video showing the odd behavior of Encoder.
https://youtu.be/gAKBIX4SYLw
What happens is I get a nice fine resolution when I turn the encoder clockwise and a drastic jump when I turn it counter-clockwise (anti-clockwise.)
Thanks.
|
I see. I've not used EncoderPlain, but I'm not sure why it would differ from Encoder in any way other than resolution. I take it both your examples use the same 2's complement setup?
Have you logged the raw MIDI that's sent from the 2's complement setup in both directions?
|
|
|
04-11-2020, 10:11 AM
|
#8191
|
Human being with feelings
Join Date: Apr 2020
Posts: 6
|
Quote:
Originally Posted by Geoff Waddington
I like solution 2 because it lines up better syntactically with widget definitions, whilst still allowing for custom adjustments, but that's the only reason, what do you think ?
|
Alright bear with me here, I've coded in python for a few years but just recently got into C++ and have zero experience with REAPER or any of its programming modalities.
What if we just converted the float to an int? Something like
Code:
currentReaperInt = (int)(currentReaperValue)
if currentSurfaceValue == currentReaperInt ... takeover
Then if we're dealing with different type faders we could just divide the Int by whatever we need.
I'm not sure how CSI "gets" the current value for its faders, but maybe converting it to a float immediately wouldn't be a bad idea? If the best resolution our surfaces can get is an int then it seems like we wouldn't really be losing any granularity.
EDIT: Just had a look at Reaper's SDK...looks like this is how FaderPort is doing it:
Code:
int volint=volToInt14(volume);
volint/=16;
if (m_vol_lastpos!=volint)
{
m_vol_lastpos=volint;
m_midiout->Send(0xb0,0x00,volint>>7,-1);
m_midiout->Send(0xb0,0x20,volint&127,-1);
}
Looks like they convert all of their REAPER volumes and pans to 14 bit ints, and all of their control surface ints to doubles
Last edited by yardc28; 04-11-2020 at 10:18 AM.
|
|
|
04-11-2020, 10:20 AM
|
#8192
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by MixMonkey
I see. I've not used EncoderPlain, but I'm not sure why it would differ from Encoder in any way other than resolution. I take it both your examples use the same 2's complement setup?
Have you logged the raw MIDI that's sent from the 2's complement setup in both directions?
|
Here is the configuration for those two encoders:
Widget RotaryT3
EncoderPlain b0 53 7f
FB_Encoder b0 53 7f
WidgetEnd
Widget RotaryT4
Encoder b0 54 7f
FB_Encoder b0 54 7f
WidgetEnd
Here is the log when I turn them:
When opening the FX window:
IN <- BCR2000 OnFXFocus 1.000000
OUT -> BCR2000 b0 72 06
OUT -> BCR2000 b0 73 06
OUT -> BCR2000 b0 74 06
OUT -> BCR2000 b0 75 06
OUT -> BCR2000 b0 7b 05
OUT -> BCR2000 b0 7c 05
OUT -> BCR2000 b0 7d 07
OUT -> BCR2000 b0 82 06
OUT -> BCR2000 b0 83 06
OUT -> BCR2000 b0 84 06
OUT -> BCR2000 b0 85 06
Turning Encoder Plain clockwise:
IN <- BCR2000 RotaryT3 0.015625
IN <- BCR2000 RotaryT3 0.015625
IN <- BCR2000 RotaryT3 0.015625
IN <- BCR2000 RotaryT3 0.015625
OUT -> BCR2000 b0 73 07
IN <- BCR2000 RotaryT3 -0.015625
OUT -> BCR2000 b0 73 06
Turning Encoder Plain counter-clockwise:
IN <- BCR2000 RotaryT3 -0.015625
IN <- BCR2000 RotaryT3 -0.015625
IN <- BCR2000 RotaryT3 -0.015625
IN <- BCR2000 RotaryT3 -0.015625
IN <- BCR2000 RotaryT3 -0.015625
IN <- BCR2000 RotaryT3 -0.015625
OUT -> BCR2000 b0 73 05
Turning Encoder clockwise:
IN <- BCR2000 RotaryT4 0.001984
IN <- BCR2000 RotaryT4 0.002976
IN <- BCR2000 RotaryT4 0.001984
IN <- BCR2000 RotaryT4 0.001984
IN <- BCR2000 RotaryT4 0.001984
Turning Encoder counter-clockwise
IN <- BCR2000 RotaryT4 -0.125000
OUT -> BCR2000 b0 74 05
IN <- BCR2000 RotaryT4 -0.125000
OUT -> BCR2000 b0 74 03
That is the output captured in REAPER. I haven't logged the output from something like MIDI-OX but I should do that too.
Edit: this is from MIDI-OX for those two encoders:
From MIDI-OX
00001CC5 2 -- B0 53 01 1 --- Control Change
00001CFF 2 -- B0 53 01 1 --- Control Change
00001D3C 2 -- B0 53 01 1 --- Control Change
00001D7E 2 -- B0 53 01 1 --- Control Change
00001DAE 2 -- B0 53 01 1 --- Control Change
00001DDF 2 -- B0 53 01 1 --- Control Change
00001E2D 2 -- B0 53 01 1 --- Control Change
00001E82 2 -- B0 53 01 1 --- Control Change
00001EB5 2 -- B0 53 01 1 --- Control Change
00001EF4 2 -- B0 53 01 1 --- Control Change
00001F3A 2 -- B0 53 01 1 --- Control Change
00001F85 2 -- B0 53 01 1 --- Control Change
00001FC0 2 -- B0 53 01 1 --- Control Change
0000208D 2 -- B0 53 01 1 --- Control Change
0000273E 2 -- B0 53 7F 1 --- Control Change
00002778 2 -- B0 53 7F 1 --- Control Change
000027A3 2 -- B0 53 7F 1 --- Control Change
000027D8 2 -- B0 53 7F 1 --- Control Change
00002805 2 -- B0 53 7F 1 --- Control Change
00002836 2 -- B0 53 7F 1 --- Control Change
0000285C 2 -- B0 53 7F 1 --- Control Change
0000288E 2 -- B0 53 7F 1 --- Control Change
000028BE 2 -- B0 53 7F 1 --- Control Change
0000291B 2 -- B0 53 7F 1 --- Control Change
000029AA 2 -- B0 53 7F 1 --- Control Change
000029F7 2 -- B0 53 7F 1 --- Control Change
00002A64 2 -- B0 53 7F 1 --- Control Change
000035F4 2 -- B0 54 01 1 --- CC: Portamento Ctrl
0000366A 2 -- B0 54 01 1 --- CC: Portamento Ctrl
000036B3 2 -- B0 54 01 1 --- CC: Portamento Ctrl
0000370E 2 -- B0 54 01 1 --- CC: Portamento Ctrl
0000373D 2 -- B0 54 01 1 --- CC: Portamento Ctrl
000037B4 2 -- B0 54 01 1 --- CC: Portamento Ctrl
000037E4 2 -- B0 54 01 1 --- CC: Portamento Ctrl
0000383F 2 -- B0 54 01 1 --- CC: Portamento Ctrl
00003860 2 -- B0 54 01 1 --- CC: Portamento Ctrl
000038DC 2 -- B0 54 01 1 --- CC: Portamento Ctrl
00003907 2 -- B0 54 01 1 --- CC: Portamento Ctrl
0000420E 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
00004241 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
000042E1 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
0000431E 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
0000438D 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
000043C5 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
00004417 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
00004450 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
000044C4 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
0000458D 2 -- B0 54 7F 1 --- CC: Portamento Ctrl
Both encoders send a 01 when turned clockwise and 7F when turned counter-clockwise.
|
|
|
04-11-2020, 10:31 AM
|
#8193
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 4,870
|
Quote:
Originally Posted by rschlierbeck
Both encoders send a 01 when turned clockwise and 7F when turned counter-clockwise.
|
Interesting, so Encoder is behaving differently from EncoderPlain.
For comparison, my C4 sends 01 clockwise and 41 counter-clockwise.
|
|
|
04-11-2020, 10:34 AM
|
#8194
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 5,990
|
I'm having major new PC issues and not able to double-check right now, but I believe I ran into issues with EncoderPlain and FBEncoder and my MFtwister. I think I just used FBFader7Bit instead for the feedback and everything worked. Might be worth a shot.
|
|
|
04-11-2020, 10:45 AM
|
#8195
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by MixMonkey
Interesting, so Encoder is behaving differently from EncoderPlain.
For comparison, my C4 sends 01 clockwise and 41 counter-clockwise.
|
In BC Manager I have the ability to edit them but honestly I don't know what should be changed.
the two attachments show the configuration dialog for the encoders in BC Manager. It looks like I could change the max value output to be 41 like you have. I think 41 hex = 65 decimal which is half of 127 (roughly)
|
|
|
04-11-2020, 10:46 AM
|
#8196
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by Funkybot
I'm having major new PC issues and not able to double-check right now, but I believe I ran into issues with EncoderPlain and FBEncoder and my MFtwister. I think I just used FBFader7Bit instead for the feedback and everything worked. Might be worth a shot.
|
Let me give that a try.
Nope that definitely does not work. values increase but never decrease. Was worth a try though.
|
|
|
04-11-2020, 10:51 AM
|
#8197
|
Human being with feelings
Join Date: Sep 2017
Location: London, England.
Posts: 4,870
|
Quote:
Originally Posted by rschlierbeck
In BC Manager I have the ability to edit them but honestly I don't know what should be changed.
the two attachments show the configuration dialog for the encoders in BC Manager. It looks like I could change the max value output to be 41 like you have. I think 41 hex = 65 decimal which is half of 127 (roughly)
|
I think you may find that the max/min settings only apply to the absolute output, not the relative- but I could be wrong. I seem to remember trying the different relative modes looking for one that that would be the same as Mackie, but didn't find one.
Geoff might be able to help out on this, perhaps we could have an encoder type that worked with the 7F message?
|
|
|
04-11-2020, 12:07 PM
|
#8198
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by MixMonkey
I think you may find that the max/min settings only apply to the absolute output, not the relative- but I could be wrong. I seem to remember trying the different relative modes looking for one that that would be the same as Mackie, but didn't find one.
Geoff might be able to help out on this, perhaps we could have an encoder type that worked with the 7F message?
|
This works great with REAPERS internal parameter mapping. If you look at the attached you can see that there are several options for interpretting the value sent from the surface. I selected Relative 127=-1, 1=+1. but I see there are options for controllers that send 65 like your's does.
|
|
|
04-11-2020, 12:35 PM
|
#8199
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by yardc28
I also love how active this community still is...
Here's my files for the LaunchControl XL. I included a link in both files to the LCXL programmers reference, as well as an archive link for when the link inevitably dies.
That being said, if you just point me in the right direction I can take the work off your hands - I can make LCXL integration my contribution I just installed ReaConsole and was gonna play around with controlling it, but if you just give me the method you use I'll get it going today.
|
According to the document, looks to me like there is zero benefit to using SysEx for colour as there is only 2 bit support for Red, 2 bit support for Green, and no support for Blue, that info is easily carried in less than a byte.
What leads you to believe SysEx is better for this ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
04-11-2020, 12:40 PM
|
#8200
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by yardc28
Alright bear with me here, I've coded in python for a few years but just recently got into C++ and have zero experience with REAPER or any of its programming modalities.
What if we just converted the float to an int? Something like
Code:
currentReaperInt = (int)(currentReaperValue)
if currentSurfaceValue == currentReaperInt ... takeover
Then if we're dealing with different type faders we could just divide the Int by whatever we need.
I'm not sure how CSI "gets" the current value for its faders, but maybe converting it to a float immediately wouldn't be a bad idea? If the best resolution our surfaces can get is an int then it seems like we wouldn't really be losing any granularity.
EDIT: Just had a look at Reaper's SDK...looks like this is how FaderPort is doing it:
Code:
int volint=volToInt14(volume);
volint/=16;
if (m_vol_lastpos!=volint)
{
m_vol_lastpos=volint;
m_midiout->Send(0xb0,0x00,volint>>7,-1);
m_midiout->Send(0xb0,0x20,volint&127,-1);
}
Looks like they convert all of their REAPER volumes and pans to 14 bit ints, and all of their control surface ints to doubles
|
An int will not work in this case, and yes I use all of the things you mentioned every day
That really wasn't the point, it was included to describe the concept of a delta.
The question is which .zon file syntax do you like better, Solution 1 or Solution 2.
Which do you prefer and why ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 01:43 PM.
|