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

Reply
 
Thread Tools Display Modes
Old 01-16-2021, 11:17 PM   #12401
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by Geoff Waddington View Post
WARNING -- SLIGHTLY BREAKING CHANGE

New build is up.

CSI v1_0.zip

Implemented the new offsets method.

You will have to go into the config and adjust the offsets if you have more than one surface.

Also the first time you save CSI.ini the track colouring stuff will disappear, since we don't use it anyway
OK!

So it works pretty great so far but there some initialization things to sort out. It looks like it has to do with iOS.

My set up:

8 Channel Surface (2 Midi Fighter Twisters) (offset 0)
4 Channel OSC Phone1 (Offset 0)
4 Channel OSC Phone2 (Offset 4)
Phones have meter bridge, Track name display, and rotaries for Pan and PanWidth

Phone 1 doesn't receive any track names until I select channel 9, then it functions like I would expect.

Phone 1 doesn't receive any pan/panwidth info until I move one of those parameters and then shows the feedback for that parameter.

Interestingly enough though, through testing this as I was typing, there was a couple times I launched Reaper and everything initialized as it should. Weird! But most of the time the former was what I experienced.

EDIT: It seems the problem is related to iOS. I swapped the offsets for the phones and the iPhone (now phone2) is having the same problem as when it was phone 1.

Refreshing 1 to 3 times also establishes working order!

Hopefully we can chase that down but otherwise this is a job well done. I'm elated! Now I have to make a custom stand for all of this hodgepodge I have here
cjewellstudios is offline   Reply With Quote
Old 01-17-2021, 06:27 AM   #12402
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by Nils92 View Post
Hi guys,
First of all, thanks for all your work.
I am new to reaper, I am a blind user, so I use a screenreader to work. I use Protools too, so I have an avid s1 controller.
Is there anyone who could help me with the configuration and setup of the device and csi?
Hi, I would suggest you send a PM to a user named Equitone, he has done a lot of work in this area, not sure what surface(s) he has, but it's probably a great starting point.
Geoff Waddington is offline   Reply With Quote
Old 01-17-2021, 06:28 AM   #12403
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by cjewellstudios View Post
OK!

So it works pretty great so far but there some initialization things to sort out. It looks like it has to do with iOS.

My set up:

8 Channel Surface (2 Midi Fighter Twisters) (offset 0)
4 Channel OSC Phone1 (Offset 0)
4 Channel OSC Phone2 (Offset 4)
Phones have meter bridge, Track name display, and rotaries for Pan and PanWidth

Phone 1 doesn't receive any track names until I select channel 9, then it functions like I would expect.

Phone 1 doesn't receive any pan/panwidth info until I move one of those parameters and then shows the feedback for that parameter.

Interestingly enough though, through testing this as I was typing, there was a couple times I launched Reaper and everything initialized as it should. Weird! But most of the time the former was what I experienced.

EDIT: It seems the problem is related to iOS. I swapped the offsets for the phones and the iPhone (now phone2) is having the same problem as when it was phone 1.

Refreshing 1 to 3 times also establishes working order!

Hopefully we can chase that down but otherwise this is a job well done. I'm elated! Now I have to make a custom stand for all of this hodgepodge I have here
You probably already checked this, but just in case, make sure each iOS device uses a different set of ports.
Geoff Waddington is offline   Reply With Quote
Old 01-17-2021, 07:45 AM   #12404
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,876
Default

Quote:
Originally Posted by cjewellstudios View Post
EDIT: It seems the problem is related to iOS. I swapped the offsets for the phones and the iPhone (now phone2) is having the same problem as when it was phone 1.

Refreshing 1 to 3 times also establishes working order!
I don't know what kind of network setup you have, but on mine OSC worked very unreliably until I disabled the WMM in the router (Netgear)

Quote:
"WMM (Wireless Multimedia) is a subset of the 802.11e standard. WMM allows wireless traffic to have a range of priorities, depending on the kind of data. Time-dependent information, like video or audio, has a higher priority than normal traffic.
Before disabling this, it would be very difficult to get OSC/CSI to (re-)initialize and when I did manage it, operation was clunky to say the least.

With it disabled, OSC performance was transformed- very snappy and initialises first time, every time.
MixMonkey is offline   Reply With Quote
Old 01-17-2021, 01:14 PM   #12405
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by MixMonkey View Post
I don't know what kind of network setup you have, but on mine OSC worked very unreliably until I disabled the WMM in the router (Netgear)



Before disabling this, it would be very difficult to get OSC/CSI to (re-)initialize and when I did manage it, operation was clunky to say the least.

With it disabled, OSC performance was transformed- very snappy and initialises first time, every time.
Yuck.

I have a setup I hardly understand due to some identity theft struggles I've recently been through. Disabling wmm on my router will involve putty and ssh. I'm wondering if I can't just open up the port with a firewall rule or something.

Thanks for the insight. Was it all iOs devices for you as well?
cjewellstudios is offline   Reply With Quote
Old 01-17-2021, 05:15 PM   #12406
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 600
Default

Quote:
Originally Posted by cjewellstudios View Post
OK!

So it works pretty great so far but there some initialization things to sort out. It looks like it has to do with iOS.

My set up:

8 Channel Surface (2 Midi Fighter Twisters) (offset 0)
4 Channel OSC Phone1 (Offset 0)
4 Channel OSC Phone2 (Offset 4)
Phones have meter bridge, Track name display, and rotaries for Pan and PanWidth

Phone 1 doesn't receive any track names until I select channel 9, then it functions like I would expect.

Phone 1 doesn't receive any pan/panwidth info until I move one of those parameters and then shows the feedback for that parameter.

Interestingly enough though, through testing this as I was typing, there was a couple times I launched Reaper and everything initialized as it should. Weird! But most of the time the former was what I experienced.

EDIT: It seems the problem is related to iOS. I swapped the offsets for the phones and the iPhone (now phone2) is having the same problem as when it was phone 1.

Refreshing 1 to 3 times also establishes working order!

Hopefully we can chase that down but otherwise this is a job well done. I'm elated! Now I have to make a custom stand for all of this hodgepodge I have here
Im not really interested in the mirroring but i messed with it just to see. i tried mirroring 2 of the surfaces and it worked after a bunch of refresh. the display on the surface i want to be the mirror the display became all jumbled untill i refreshed a bunch of times. Maybe a bug ? I dont know . Gonna get it back to normal and stop messing with it. im on windows if that matters.

EDIT: Actually the display never came back. it stayed all jumbled until i shut the surface down and restarted everything. Im not messing with the mirror stuff any more lol. idk maybe i did something im not supposed too.Im assuming mirroring is just 2 of the same surfaces right ?Is it just buggy or is it something i did

Last edited by Cragster; 01-17-2021 at 05:20 PM.
Cragster is offline   Reply With Quote
Old 01-17-2021, 11:24 PM   #12407
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

I just gave the offsets a quick go and it worked great! No issues here at all. I basically added a page to my FXTwister setup, created an 8 channel zone for the MFTwister and OSC Setup, and had those and my Eucon all mirroring each other with no issues.

Note: I'm only using my iPad, haven't introduced my iPhone into the mix yet. And this was just a quick test before bed.

One small issue: when I exited Reaper, everything on that page remained on the OSC device. Example: track name, pan, volume, etc. were all still showing up on the surface. I've had minor issues where OSC didn't "clear things out" when exiting, but it would be things like rotary values. The display names would always clear. In this case, nothing cleared out at all.

Last edited by Funkybot; 01-17-2021 at 11:32 PM.
Funkybot is offline   Reply With Quote
Old 01-17-2021, 11:26 PM   #12408
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Hi Geoff, I'd like to request the ability Concatenate a FixedTextDisplay at the end of another display.

Example:
Code:
DisplayUpperE| TrackNameDisplay+FixedTextDisplay " Pan"
DisplayUpperF| TrackNameDisplay+FixedTextDisplay " Volume"
And have that result in something like this on the surface displays....
Code:
Drum Bus Pan
Bass Pan
Guitar Pan

then...

Drum Bus Volume
Bass Volume
Guitar Volume
...this would help with labeling things in OSC where you've got no real size constraints on labels. Particularly with non-traditional surfaces.

Last edited by Funkybot; 01-18-2021 at 01:21 PM.
Funkybot is offline   Reply With Quote
Old 01-18-2021, 07:02 AM   #12409
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 1,876
Default

Quote:
Originally Posted by cjewellstudios View Post
Yuck.

I have a setup I hardly understand due to some identity theft struggles I've recently been through. Disabling wmm on my router will involve putty and ssh. I'm wondering if I can't just open up the port with a firewall rule or something.

Thanks for the insight. Was it all iOs devices for you as well?
That's a shame, on mine it was a check box in the browser-based router interface.

The ports you need are already open (or it wouldn't work at all). The WMM protocol is only concerned with how different messages are prioritized, with preference given to video and audio over any other network traffic (eg OSC messages)

On my system, what seems to happen when WMM is enabled is that only some of the OSC messages make it through, meaning that on an initialization some controls are set correctly and some aren't.
MixMonkey is offline   Reply With Quote
Old 01-18-2021, 09:50 PM   #12410
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Well I'm not sure how I did it.

I seemed to have eradicated my initialization issues! The result of tinkering with some router settings or maybe it was the upgrading firmware of my access point, not sure which one and I don't particularly care. It just initialized correctly 6 times in a row. w00t!

That was a PITA. Hopefully it stays reliable. Thanks to all the usual suspects for the help/clues!
cjewellstudios is offline   Reply With Quote
Old 01-20-2021, 07:08 AM   #12411
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,193
Default

@geoff:

Searching for a base for work to do a (much enhanced e.g. by handling control surface I/O) replacement for SWS LiveConfigs:

Do you think it's viable to think about additions to the CSI project ?

-Michael
mschnell is offline   Reply With Quote
Old 01-20-2021, 04:10 PM   #12412
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by mschnell View Post
@geoff:

Searching for a base for work to do a (much enhanced e.g. by handling control surface I/O) replacement for SWS LiveConfigs:

Do you think it's viable to think about additions to the CSI project ?

-Michael
Not familiar with SWS LiveConfigs.

Are you asking if you can extend the source code itself, or are you suggesting I write code to support it ?

Can you give an overview of what SWS LiveConfigs do.
Geoff Waddington is offline   Reply With Quote
Old 01-20-2021, 11:53 PM   #12413
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,193
Default

Live Configs provides a GUI (similar to a spreadsheet) for configuration. But might as well be done by config files.

upon a Midi event Live Configs can (e.g.)
- mute / unmute tracks
- fire Reaper action actions
- push presets to FXes

I use it in a system of JSFXes (the functionality of which partly should be to be integrated in the would be CSI that stores a set of (say 16) Midi CC settings for some 64 "Patches" that are remembered when modified by the Control surface and sent out to the track selected by LiveConfigs when a Patch is called by the push of a button (i.e. Midi event).

Thanks for listening,
-Michael
mschnell is offline   Reply With Quote
Old 01-21-2021, 05:47 AM   #12414
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by mschnell View Post
Live Configs provides a GUI (similar to a spreadsheet) for configuration. But might as well be done by config files.

upon a Midi event Live Configs can (e.g.)
- mute / unmute tracks
- fire Reaper action actions
- push presets to FXes

I use it in a system of JSFXes (the functionality of which partly should be to be integrated in the would be CSI that stores a set of (say 16) Midi CC settings for some 64 "Patches" that are remembered when modified by the Control surface and sent out to the track selected by LiveConfigs when a Patch is called by the push of a button (i.e. Midi event).

Thanks for listening,
-Michael
I imagine your setup is quite complex given what you've laid out here. However, I believe that you could accomplish at least some/most of this stuff with zones in csi's current iteration.

So alot of plugin alliance plugins have 4 banks at the top and it's all one "parameter" as far as midi control is concerned. I map 4 buttons to it though.

Code:
SomeButton1 FXParam 1 "Bank" [ 0.0 ]
Somebutton2 FXParam 1 "Bank" [ 0.34 ]
Somebutton3 FXParam 1 "Bank" [ 0.67 ]
SomeButton4 FXParam 1 "Bank" [ 1.0 ]
The " [ *** ] " section pushes the parameter to where it's supposed to be.


Now I know you can double map things, but what I have in mind here would really push CSI to the breaking point potentially.

If you use selected track navigator, and you were just changing a bunch of parameters on the selected track. You could map SomeButton1 to as many parameters as you wanted on the selected track, and then use the [ *** ] syntax to put the parameters where they are supposed to go.

Its messy and verbose potentially (read: definitely) but nonetheless I'd imagine it could maybe potentially just might work.

To take this further you could use a macro plugin with a bunch of sliders at the beginning of each track, link the sliders to the parameters you want to change and instead use focusedfxnavigator and map just the one macro plugin.


Also as I'm sure you know, CSI can fire Reaper actions, scripts, cycle actions, all that good stuff.
cjewellstudios is offline   Reply With Quote
Old 01-21-2021, 06:18 AM   #12415
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 10,193
Default

Yep. That is why I consider forking/extending the CSI project instead of doing something completely independent.

A core new functionality would be to do these (some 64) pages/paths (maybe similar to zones) and receive (some 16 different) controller settings (but the same controller IDs for each "zone"), and send them out as midi CC messages with any manual controller change and with any zone switching. Moreover these Values would be displayed at the control surface appropriately.

This works for me with a huge set of JSFXes. But I'd like to be able to provide the functionality to other reaper users, and the setup with those JSFXes is too hard to install for "newbies".

Moreover I'd like to add a "save" functionality to allow for saving the curren5t controller settings for single or all "zones" in files to be loaded automatically at start and manually on request.

Most of the other stuff supposedly is to be done by defining appropriate actions when selecting a "zone".

A problem is might be that the midi CC Messages be sent out to the plugins (other than those to communicate with the surface device) need to be sent to a track and routed appropriately to the location (track) where the plugin in question sits. Plugins like Kontakt additionally need to be sent a program change message in certain cases.

Yet another feature of LiveConfigs that might be necessary to provide is setting the routing when a patch (zone) is selected.

Finally a configuration tool needs to be provided that allows for defining those "patches" in an easy to use way (still thinking hard about this ).

-Michael
mschnell is offline   Reply With Quote
Old 01-24-2021, 10:22 AM   #12416
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

So couple things

I set up two phones as 4 channel meter readouts for my 8 channel surface.

I made page two on my OSC phone layout that has labels that show what each encoder is holding and it's value.

In TouchOSC, if you click on the page and enable midi, you can then send TouchOSC bridge that midi to change to that page.

So in my zone

Code:
        OnFXFocus               MapFocusedFXToWidgets
        OnFXFocus               Reaper              "_RS1200ffa388ecab35204865bbd590856e20b8b3cd"
The Reaper action is an .eel script that sends that midi to TouchOSC bridge. (I've shared before but if anyone wants it just ask) So when I float a plugin that has a map, my OSC page changes automatically.

(If and when we figure out when fx loses focus, it'd be cool to fire an action then)

....

Also, in regards to TouchOSC. It's receiving a complete overhaul. Here's something I found on a forum about the new beta version.

"I can tell you first and foremost, the graphic aspects are going nuclear - makes the current version look like tinker toys. Import your own graphics too, which is a big deal.
Looks like much improved MIDI capabilities, vastly improved labeling options, and so on.
Looks to compete much more with Lemur and Metagrid from what I can tell..."
cjewellstudios is offline   Reply With Quote
Old 01-24-2021, 09:47 PM   #12417
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Quote:
Originally Posted by cjewellstudios View Post
Also, in regards to TouchOSC. It's receiving a complete overhaul. Here's something I found on a forum about the new beta version.

"I can tell you first and foremost, the graphic aspects are going nuclear - makes the current version look like tinker toys. Import your own graphics too, which is a big deal.
Looks like much improved MIDI capabilities, vastly improved labeling options, and so on.
Looks to compete much more with Lemur and Metagrid from what I can tell..."
That sounds awesome. I'm hoping they also add a proper set of meters to TouchOSC. The faders as meter trick is cool, but actual meters would be welcome.
Funkybot is offline   Reply With Quote
Old 01-26-2021, 10:24 AM   #12418
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

We now have a replacement for the old Touch modifier without fancy syntax additions, thanks to @Funkybot and @andyP24 in the Group Buy Custom FX Controller thread.

Code:
Zone "SelectedChannel"
     SelectedTrackNavigator
     DisplayUpper1                      TrackNameDisplay
     DisplayLower1                      TrackVolumeDisplay
     Shift+DisplayLower1                MCUTrackPanDisplay
Of course all of the modifiers can be used, not just Shift.

@cragster, I think this even solves your problem !
Geoff Waddington is offline   Reply With Quote
Old 01-26-2021, 07:09 PM   #12419
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 600
Default

Quote:
Originally Posted by Geoff Waddington View Post
We now have a replacement for the old Touch modifier without fancy syntax additions, thanks to @Funkybot and @andyP24 in the Group Buy Custom FX Controller thread.

Code:
Zone "SelectedChannel"
     SelectedTrackNavigator
     DisplayUpper1                      TrackNameDisplay
     DisplayLower1                      TrackVolumeDisplay
     Shift+DisplayLower1                MCUTrackPanDisplay
Of course all of the modifiers can be used, not just Shift.

@cragster, I think this even solves your problem !
Thats cool i never thought of that. Works great for TrackVolumeDisplay. Thinking on how i could make that work in my FX zones the same way i used the old touch modifier.I could make it work on some smaller plugins where i have a free modifier.But some larger plugins i use all the modifiers . So yes its definitly doable on FX Zones i have an open modifier. Thats really cool this was thought of for the TrackVolumeDisplay. Its so simple .I almost had to say....why didnt i think of that.
But i would need a free modifier in the FX zone to make this work for an additional FixedTextDisplay . Am i correct in thinking that ?
Thanks for looking out Geoff and thanks to FBot and Andy for the idea
Cragster is offline   Reply With Quote
Old 01-26-2021, 07:21 PM   #12420
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by Cragster View Post
Thats cool i never thought of that. Works great for TrackVolumeDisplay. Thinking on how i could make that work in my FX zones the same way i used the old touch modifier.I could make it work on some smaller plugins where i have a free modifier.But some larger plugins i use all the modifiers . So yes its definitly doable on FX Zones i have an open modifier. Thats really cool this was thought of for the TrackVolumeDisplay. Its so simple .I almost had to say....why didnt i think of that.
But i would need a free modifier in the FX zone to make this work for an additional FixedTextDisplay . Am i correct in thinking that ?
Thanks for looking out Geoff and thanks to FBot and Andy for the idea
Don't forget CSI supports multiple modifiers like:

Code:
Shift+Control+Button
Control+Alt+Button
Shift+Control+Alt+Button
Shift+Control+Alt+Option+Button
etc.

Lots of combinations to choose from
Geoff Waddington is offline   Reply With Quote
Old 01-26-2021, 07:48 PM   #12421
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 600
Default

Quote:
Originally Posted by Geoff Waddington View Post
Don't forget CSI supports multiple modifiers like:

Code:
Shift+Control+Button
Control+Alt+Button
Shift+Control+Alt+Button
Shift+Control+Alt+Option+Button
etc.

Lots of combinations to choose from
Ohhhh yea that's right. Didnt think of that either. I can definitely make this work.Thanks Geoff.
Cragster is offline   Reply With Quote
Old 01-27-2021, 12:44 PM   #12422
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Geoff, if you want to include them in the next CSI build, here are Airon's Faderport8 and Faderport16 files (with his permission - thank you). These use the native Studio One mode. Figure these would be good to add!
Attached Files
File Type: zip FP8s1 and FP16s1.zip (17.0 KB, 7 views)
Funkybot is offline   Reply With Quote
Old 01-27-2021, 12:49 PM   #12423
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by Funkybot View Post
Geoff, if you want to include them in the next CSI build, here are Airon's Faderport8 and Faderport16 files (with his permission - thank you). These use the native Studio One mode. Figure these would be good to add!
Thanks to you and @airon, will be in next build.
Geoff Waddington is offline   Reply With Quote
Old 01-27-2021, 01:57 PM   #12424
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Quote:
Originally Posted by Geoff Waddington View Post
Thanks to you and @airon, will be in next build.
I don't actually use the files/actions, but the two XTouchOne.zon files (one for SelectedTrack and the other Standard) in the included builds also have the...

ZENAKIOS

instead of...

XENAKIOS

...typo on one of the nudge actions. This tripped a user up this week. Would it be possible to fix those two typos? I'd love to send you files without them, but mine are heavily modified and those are more of a standard setup. Apparently I deleted the oirginal .zip I sent you. Apologies and thanks!
Funkybot is offline   Reply With Quote
Old 01-27-2021, 02:36 PM   #12425
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by Funkybot View Post
I don't actually use the files/actions, but the two XTouchOne.zon files (one for SelectedTrack and the other Standard) in the included builds also have the...

ZENAKIOS

instead of...

XENAKIOS

...typo on one of the nudge actions. This tripped a user up this week. Would it be possible to fix those two typos? I'd love to send you files without them, but mine are heavily modified and those are more of a standard setup. Apparently I deleted the oirginal .zip I sent you. Apologies and thanks!
Fixed for next build.
Geoff Waddington is offline   Reply With Quote
Old 01-27-2021, 02:40 PM   #12426
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Quote:
Originally Posted by Geoff Waddington View Post
Fixed for next build.
You are a scholar and a gentleman! My thanks.
Funkybot is offline   Reply With Quote
Old 01-27-2021, 04:22 PM   #12427
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

I threw a "Tips and Tricks" page up on the Wiki just to consolidate some of the things that exist in CSI and might not be immediately obvious (like Latching modifiers, or modifiers on displays). Any suggestions for additions?

https://github.com/GeoffAWaddington/...ips-and-Tricks
Funkybot is offline   Reply With Quote
Old 01-28-2021, 03:52 AM   #12428
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,909
Default

Quote:
Originally Posted by Funkybot View Post
I threw a "Tips and Tricks" page up on the Wiki just to consolidate some of the things that exist in CSI and might not be immediately obvious (like Latching modifiers, or modifiers on displays). Any suggestions for additions?

https://github.com/GeoffAWaddington/...ips-and-Tricks
Great work !

Thanks !
Geoff Waddington is offline   Reply With Quote
Old 01-28-2021, 06:39 AM   #12429
ElementalAudio
Human being with feelings
 
Join Date: Nov 2020
Posts: 9
Default

Could someone post working files for the X-Touch Universal, based off the most current .zon and .mst (BehringerXTouch.mst and BehringerXTouch.zon)

The current files in the latest CSI archive as of 1/16/2021 (running on my system in Reaper v6.21),
have these issues:

1. No MasterFader movement

2. Track Select causes faders to drop, and scribble strips to go blank until "Global View" is pressed - every time a track selection is made on the X-Touch Universal

3. Midi Editor has to be opened in advance, for F4 to begin to function from X-Touch

Thank you
EA
ElementalAudio is offline   Reply With Quote
Old 01-28-2021, 08:35 AM   #12430
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Hi ElementalAudio (didn't I buy some plugins from that company years ago)...if you pop on over to the CSI Device and Setup Help thread, I replied to your post there:

https://forum.cockos.com/showthread....01#post2398001
Funkybot is offline   Reply With Quote
Old 01-28-2021, 08:58 AM   #12431
Cragster
Human being with feelings
 
Join Date: Apr 2019
Location: Quakertown PA USA
Posts: 600
Default

Quote:
Originally Posted by Funkybot View Post
I threw a "Tips and Tricks" page up on the Wiki just to consolidate some of the things that exist in CSI and might not be immediately obvious (like Latching modifiers, or modifiers on displays). Any suggestions for additions?

https://github.com/GeoffAWaddington/...ips-and-Tricks
Maybe that "refresh all surfaces" action for when files are modified for a tip or trick ? If it's not already in the wiki. For the longest time I went through the pref/csi/etc way to refresh. I had no idea that action was in reaper. I made a tool bar button for it. Makes life lot easier for changing and modifying zones and msts
Cragster is offline   Reply With Quote
Old 01-28-2021, 09:22 AM   #12432
Funkybot
Human being with feelings
 
Join Date: Jul 2007
Posts: 2,104
Default

Quote:
Originally Posted by Cragster View Post
Maybe that "refresh all surfaces" action for when files are modified for a tip or trick ? If it's not already in the wiki. For the longest time I went through the pref/csi/etc way to refresh. I had no idea that action was in reaper. I made a tool bar button for it. Makes life lot easier for changing and modifying zones and msts
Good one. Added!
Funkybot is offline   Reply With Quote
Old 01-28-2021, 08:07 PM   #12433
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by Funkybot View Post
I threw a "Tips and Tricks" page up on the Wiki just to consolidate some of the things that exist in CSI and might not be immediately obvious (like Latching modifiers, or modifiers on displays). Any suggestions for additions?

https://github.com/GeoffAWaddington/...ips-and-Tricks
All of this stuff having to do with stepped parameters here. Use as much or as little as you'd like.

Code:
2	[ 0.0 1.0 ]
3	[ (20) 0.0 0.50 1.0 ]
4	[ (20) 0.0 0.34 0.67 1.0 ]
5	[ (20) 0.0 0.25 0.50 0.75 1.0 ]
6	[ (20) 0.0 0.20 0.40 0.60 0.80 1.0 ]
7	[ (20) 0.0 0.17 0.33 0.50 0.67 0.83 1.0 ]
8	[ (20) 0.0 0.14 0.29 0.43 0.57 0.71 0.86 1.0 ]
9	[ (20) 0.0 0.12 0.25 0.37 0.50 0.62 0.75 0.87 1.0 ]
10	[ (20) 0.0 0.11 0.22 0.33 0.44 0.55 0.66 0.77 0.88 1.0 ]
11	[ (20) 0.0 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.0 ]
12	[ (20) 0.0 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.0 ]
13	[ (20) 0.0 0.05 0.13 0.21 0.30 0.38 0.46 0.55 0.63 0.71 0.80 0.88 1.0 ]
14	[ (20) 0.0 0.80 0.15 0.23 0.31 0.38 0.46 0.54 0.62 0.69 0.77 0.85 0.92 1.0 ]
15	[ (20) 0.0 0.07 0.14 0.21 0.29 0.36 0.43 0.50 0.57 0.64 0.71 0.79 0.86 0.93 1.0 ]
16	[ (20) 0.0 0.07 0.13 0.20 0.27 0.33 0.40 0.47 0.53 0.60 0.67 0.73 0.80 0.87 0.93 1.0 ]
21  [ (20) 0.0 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.0 ]
24  [ (20) 0.0 0.045 0.09 0.135 0.18 0.225 0.27 0.315 0.36 0.405 0.45 0.495 0.54 0.585 0.09 0.63 0.675 0.72 0.765 0.81 0.855 0.9 0.945 1.0 ]
25  [ (20) 0.0 0.042 0.084 0.126 0.168 0.21 0.252 0.294 0.336 0.378 0.42 0.462 0.504 0.546 0.588 0.63 0.672 0.714 0.756 0.798 0.84 0.882 0.924 0.966 1.0 ]
31  [ (20) 0.0 0.043 0.076 0.109 0.142 0.175 0.208 0.241 0.274 0.307 0.34 0.373 0.406 0.439 0.472 0.505 0.538 0.571 0.604 0.637 0.67 0.703 0.736 0.769 0.802 0.835 0.868 0.901 0.934 0.967 1.0 ]

([Number of parameter values] - 1) then divide the number 1 by that result.

So let’s say the parameter has 3 values: low, mid, high... so 3 minus 1 is 2. Now take that result and divide 1 by it. That leaves 0.5. That’s your step size.

If it were 4 steps, is the sum of 1 divided by 3, that’s 0.3333. Round up to be safe and you get 0.34.


There was a post that I have been meaning to go back and find by Geoff about all the FX syntax when we added range and acceleration too.

Here it is:

Delta based examples:
Code:
FXParam 0 // default range, no acceleration, use encoder value
FXParam 0 [ (0.1,0.2,0.3,0.4,0.5) ]   // default range, acceleration
FXParam 0 [ (0.003) ]  // default range, no acceleration, override encoder value
FXParam 0 [ 0.0>0.7 (0.1,0.2,0.3,0.4,0.5) ] // override range, acceleration
Stepped based examples
Code:
FXParam 0 [ 0.1 0.2 0.3 0.4 0.5 ] // default range, no acceleration, default tick count, step values (always required)
FXParam 0 [ (12)  0.1 0.2 0.3 0.4 0.5 ] // default range, no acceleration, override tick count, step values (always required)
FXParam 0 [ (10,5,3,2,1)  0.1 0.2 0.3 0.4 0.5 ] // default range, acceleration, step values (always required)
cjewellstudios is offline   Reply With Quote
Old 01-29-2021, 02:42 AM   #12434
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 1,014
Default

To be honest, I could do with a really simple clear explanation of what acceleration DOES and how/why to use it...

Also, the "range" thing. I think I'm right in saying that if (say) ReaComp has a ratio range of 1 to infinity, I can tell CSI only to let it go from 1 to 10 on a full turn of the encoder; but I can't tell it to make the steps between values that it will accept from the MIDI input smaller. So, it's not possible to fix the ridiculous value jumps it gives with a single click of the encoder...?

Andy
andyp24 is offline   Reply With Quote
Old 01-29-2021, 03:36 AM   #12435
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 10,986
Default

Yes, you can change that.

In fact, for things like ReaComp or the Valhalla Room "Decay" parameter, you can specify extreme precision.

But I too would like a guide to what happens when I provide X amount of values for acceleration.

How many acceleration values are recommended for stuff like Valhalla Room or ReaComp ratio,threshold(oh fuck that one) or some other sordid stuff out there not well layed out for controllers.

The tick value is how much stuff moves, the acceleration... it's hardly a wonderful thing to spend your time on, finding out how acceleration actually works.

So some dirty details would definitely be appreciated by me too.
__________________
(Video)Using Latch Preview - Faderport16 CSI config
Airon Audio Dia/FX Edit&Mix
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 01-29-2021, 03:43 AM   #12436
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 1,014
Default

OK interesting. I tried with the Range parameter in ReaComp, but all I could seem to do was limit the Threshold from going beyond, say, 10:1.

If it's possible to define a complete map eg

Rotary value 0 = Threshold 1.0
Rotary value 1 = Threshold 1.05
Rotary value 2 = Threshold 1.1

etc

... then I'd be happy to do the drudge work to map that for the X Touch and Console 1 that I have in my possession currently.

But at the moment, I don't know how to do that
andyp24 is offline   Reply With Quote
Old 01-29-2021, 03:54 AM   #12437
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by andyp24 View Post
To be honest, I could do with a really simple clear explanation of what acceleration DOES and how/why to use it...

Also, the "range" thing. I think I'm right in saying that if (say) ReaComp has a ratio range of 1 to infinity, I can tell CSI only to let it go from 1 to 10 on a full turn of the encoder; but I can't tell it to make the steps between values that it will accept from the MIDI input smaller. So, it's not possible to fix the ridiculous value jumps it gives with a single click of the encoder...?

Andy
So acceleration is something your rotary encoders might have or might not. If you do have it, Your encoder will send out different values when you turn it faster or slower. Test this by looking at a midi monitor. Its noteworthy because CSI gives you the opportunity to redefine your acceleration PER PARAMETER which allows you to have ultimate control on how turning the encode interacts with each parameter. For instance,with trackVolume, I could have the fastest turn be able to whip the fader all the way down, and the slowest turn go up or down in .01 dB increments.

With range, All vst parameters are from 0 to 1, regardless of what the plugin actually says.

Just thinking out loud here but to fix reacomp you could just pick 4 or 5 attack times. Then use parameter modulation to any plugin that clearly has 0 to 1 ranges (lots of air windows plugins do) move the attack time to say 1ms 3ms 10ms 30ms and 50ms or whatever your heart desired and then write down the corresponding value from the other plugin. Use those values as a stepped parameter and have your rotary encoder step through the values you want. No more jumping
cjewellstudios is offline   Reply With Quote
Old 01-29-2021, 03:58 AM   #12438
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

@airon the amount of acceleration values depends on the controller. For instance the MF twister has 11. So 11 values for up and 11 values for down. You have to be using the increment/decrement encoder type though.

They have to be defined in your .mst file as well. And speaking to the twister again, they are a set valylue so Funkybot or I will be able to tell you what the mst needs to look like. (I'm afk right now though)

Edit: I'll add that once you figure out a default acceleration (on the zone side of things, it just works for most parameters)

Last edited by cjewellstudios; 01-29-2021 at 04:39 AM.
cjewellstudios is offline   Reply With Quote
Old 01-29-2021, 06:05 AM   #12439
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 10,986
Default

I use three MFT units, one of which with CSI.

The MST widget MFTEncoder specifies 11 different values the encoder can issue, if the encoders are set up to use acceleration. They can be set up to just issue one value, 3F or 41 depending on direction of the encoder movement.


I suspect I need to specify one tick distance for each acceleration level.

For example, the MST widget for my first encoder. The MFUtility set this to be
  • relative (3F/41h)
  • sensitivity: velocity sensitive (i.e. acceleration)
Code:
Widget RotaryA1
	MFTEncoder   b0 00 7f [ < 3f 3e 3d 3c 3b 3a 39 38 36 33 2f > 41 42 43 44 45 46 47 48 4a 4d 51 ]
	FB_Fader7Bit b0 00 7f
WidgetEnd
Now I use this encoder in an FX Zone. In my case I use selected track controls.

Code:
Zone "VST3: RVox Mono (Waves)"
	SelectedTrackNavigator
RotaryA1  FXParam 2 "Compression" [ (0.001,0.001,0.001,0.001,0.002,0.002,0.002,0.003,0.003,0.004,0.004) ]

EncBtnA13  FXParam 2  [ 1.0 ] { 242 255   0 242 255   0  } // reset compression to 0 dB
ZoneEnd
The first, and lowest acceleration values get me a step size of 0.001 (parameters go from 0-1.0). That's actually the minimum CSI and/or Reaper can handle apparently. And that's actually not enough for some plugins.

ReaComps threshold and Valhalla Room decay, and any other plugin can do a waaaay finer grain stuff than that.

0.27738166

That's a parameter value from a VST plugin, a 32-bit floating point number.

Feature request
Finer step width(or tick value?)
0.0001 at the very least, probably finer.
__________________
(Video)Using Latch Preview - Faderport16 CSI config
Airon Audio Dia/FX Edit&Mix
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 01-29-2021, 06:19 AM   #12440
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 616
Default

Quote:
Originally Posted by airon View Post
I use three MFT units, one of which with CSI.

The MST widget MFTEncoder specifies 11 different values the encoder can issue, if the encoders are set up to use acceleration. They can be set up to just issue one value, 3F or 41 depending on direction of the encoder movement.


I suspect I need to specify one tick distance for each acceleration level.

For example, the MST widget for my first encoder. The MFUtility set this to be
  • relative (3F/41h)
  • sensitivity: velocity sensitive (i.e. acceleration)
Code:
Widget RotaryA1
	MFTEncoder   b0 00 7f [ < 3f 3e 3d 3c 3b 3a 39 38 36 33 2f > 41 42 43 44 45 46 47 48 4a 4d 51 ]
	FB_Fader7Bit b0 00 7f
WidgetEnd
Now I use this encoder in an FX Zone. In my case I use selected track controls.

Code:
Zone "VST3: RVox Mono (Waves)"
	SelectedTrackNavigator
RotaryA1  FXParam 2 "Compression" [ (0.001,0.001,0.001,0.001,0.002,0.002,0.002,0.003,0.003,0.004,0.004) ]

EncBtnA13  FXParam 2  [ 1.0 ] { 242 255   0 242 255   0  } // reset compression to 0 dB
ZoneEnd
The first, and lowest acceleration values get me a step size of 0.001 (parameters go from 0-1.0). That's actually the minimum CSI and/or Reaper can handle apparently. And that's actually not enough for some plugins.

ReaComps threshold and Valhalla Room decay, and any other plugin can do a waaaay finer grain stuff than that.

0.27738166

That's a parameter value from a VST plugin, a 32-bit floating point number.

Feature request
Finer step width(or tick value?)
0.0001 at the very least, probably finer.
.001 is extremely fine. If that's not fine enough I'd venture to guess something maybe setup incorrectly? What does that equate to in terms of db on the threshold parameter for you?

In general, the weighting on those parameters on Reacomp have been messed up since they fixed the plugin due to Dan Worralls video.

What's the deal with the decay parameter on Valhalla Room?

A tick size of .001 should take you a million turns to get from 0 to 1 (ok, technically 1,000 turns)
cjewellstudios is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:21 AM.


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