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

Reply
 
Thread Tools Display Modes
Old 01-09-2018, 04:24 PM   #481
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

OSC was a real SOB for me to grasp.

It works like this in Reaper. Setup in the prefs. OSC Device, we'll call it Bob.

Bob sends strings like "/track/2/volume 0.3".

Reaper interprets these strings with the help of its OSC config, which tells it what to expect and what internal functions to mess with as a result.


The OSC config is also the place where Reaper it told what to send back to Bob.

Bob will then display whatever Reaper sends in its own way. Lemur for example has a multitude of meters, string displays and pulsing buttons to name a few to show you what Reaper sent.


There's a bunch of clever stuff so you only need to setup a few things, such a patterns. I'd have to read up on it again, because I just use my Lemur template in everyday mixing without thinking about it any longer.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 01-09-2018, 04:33 PM   #482
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by andyp24 View Post
I mean, do you need me to connect the desk to a MIDI capture utility, then literally move every single fader, knob, switch etc on the desk and log what message it puts out? Or is there a "dump" the desk can do of this, for example?
Nothing fancy, just test if all controls generate midi message(s), that's all, we can sort out the rest later.


Quote:
Originally Posted by andyp24 View Post
Airon, I know the X32 is OSC capable. If only I knew what that actually really means (short of being another communication protocol, obv). There is a website by Patrick Gilles-Maillot which has utilities for X32 <-> Reaper with OSC, but 1) the Mac utility is command line only, which puts me off a bit (I'm not used to messing around with the terminal) and 2) as far as I understand, for it to work, you have to configure the utility in advance with how many tracks are in the Reaper project. That makes it sound like a pain if you want to use the Controller as a project is in progress, rather than just as a final mix tool. I may have completely misunderstood this, of course, but the site seems lacking in a simple set up guide.
Yeah, I had a look at that today, looks very complex at first glance...
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-10-2018, 02:28 AM   #483
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

OK thanks Airon and Geoff

I'll see if I can figure out what MIDI it's sending when I get a chance (not until next week, as I'm fully booked in another studio all this week)

Andy
andyp24 is offline   Reply With Quote
Old 01-10-2018, 06:06 AM   #484
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

Quote:
Originally Posted by andyp24 View Post
OK thanks Airon and Geoff

I'll see if I can figure out what MIDI it's sending when I get a chance (not until next week, as I'm fully booked in another studio all this week)

Andy
www.midiox.com will do everything you need to help you map out the x32, and it's straight forward to use.
Freex is offline   Reply With Quote
Old 01-10-2018, 06:17 AM   #485
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Thanks. Do I just make a spreadsheet listing:

Control I moved ----- MIDI message received

?? Or is there a neater way?

Andy
andyp24 is offline   Reply With Quote
Old 01-10-2018, 08:56 AM   #486
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by andyp24 View Post
Thanks. Do I just make a spreadsheet listing:

Control I moved ----- MIDI message received

?? Or is there a neater way?

Andy
Don't worry about any of that stuff, think VU meter.

Hit a switch, do you see a midi message ?

Yes ?

Great, don't care what the message is, hit next switch and repeat.

The goal is to see if there is a mode that sends midi messages for all controls.

We will then map to that mode.

Only then does the actual midi message number matter, we don't need that now.

Just a go - no go on each and every button, switch, etc.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-10-2018, 09:09 AM   #487
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Ok, sure, I'll do that hopefully early next week.
Many thanks

Andy
andyp24 is offline   Reply With Quote
Old 01-10-2018, 12:59 PM   #488
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

I would note them down, while you're at it. You're gonna need them at some point.
Freex is offline   Reply With Quote
Old 01-10-2018, 03:01 PM   #489
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Yes, I thought that! No point doing it twice :-)
andyp24 is offline   Reply With Quote
Old 01-11-2018, 10:43 AM   #490
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

Plus a simple list,
Fadertouch 1 - 90 68 7F
Fadertouch 2 - 90 69 7F
...

Fader 1 - E0 00 00
Fader 2 - E1 00 00
...

would allow for direct comparison with the MCU.
Freex is offline   Reply With Quote
Old 01-11-2018, 10:56 AM   #491
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Yes, no problem
andyp24 is offline   Reply With Quote
Old 01-12-2018, 06:26 AM   #492
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

FYI update:

The file format is coming along nicely

With the new requirement that we respect a naming convention, as discussed previously., we can now break things down more logically, here's the latest thinking:

///////////////////////////////////
CSI.ini -- main ini file

MidiInMonitor=Off
MidiOutMonitor=Off
VSTMonitor=Off
Mix1.rsm
Mix2.rsm
Console1.rsm
Control.rsm

///////////////////////////////////

Mix1.rsm -- real surface map

Mix1

8 bankable faders
midiInCh = 2
midiOutCh = 2
MCU.rst

FX1.fxt
FX2.fxt
...

///////////////////////////////////

MCU.rst -- real surface template -- MCU, Faderport, X Touch, etc. -- ties widgets to widget names
Fader1 Fader14bit e0 7f 7f e0 00 00
Fader2 Fader14bit e1 7f 7f e1 00 00
Fader3 Fader14bit e2 7f 7f e2 00 00
...

///////////////////////////////////

MyMap.lsm -- logical surface map
-- ties widget names to widgets
Mix1.rsm
Mix2.rsm
...

- ties widget names to actions
Fader TrackVolume
Mute TrackMute
Play Play
...


///////////////////////////////////

FX1.fxt -- FX template - ties widget names to FX params

VST: ReaComp (Cockos)

Threshold Thresh
Character Gain
Attack Attack
Release Release
Ratio Ratio
Compressor Bypass
Parallel Wet
CompressorMeter GainReduction_dB

///////////////////////////////////

As usual comments/suggestions welcomed.
__________________
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; 01-14-2018 at 03:32 AM.
Geoff Waddington is offline   Reply With Quote
Old 01-13-2018, 09:36 AM   #493
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

So is there scope in the code to allow plugins prams to be set to whatever knob you like?
Like you can in your MCUC4 csurf.
Freex is offline   Reply With Quote
Old 01-13-2018, 10:00 AM   #494
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Freex View Post
So is there scope in the code to allow plugins prams to be set to whatever knob you like?
Like you can in your MCUC4 csurf.
Yes, if you look at the following mapping for a Softube Console 1:

FX1.fxt -- FX template - ties widget names to FX params

VST: ReaComp (Cockos)

Threshold Thresh
Character Gain
Attack Attack
Release Release
Ratio Ratio
Compressor Bypass
Parallel Wet
CompressorMeter GainReduction_dB

The Console 1 has Threshold, Character, Attack, Release, etc., knobs and a CompressorMeter for showing gain reduction.

ReaComp has Thresh, Gain, Attack, Release, etc., params.

If you mapped the rotaries of the C4 it might look more like this:

VST: ReaComp (Cockos)

Rotary1 Thresh
Rotary2 Gain
Rotary3 Attack
Rotary4 Release
Rotary5 Ratio
Rotary1Push Bypass
Rotary6 Wet
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-13-2018, 12:02 PM   #495
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

right I get it now, it was the threshold, character part that was throwing me, due to having no experience of the console1,
Looks great, even i understand lol,
Thanks for clearing that up for me.
Freex is offline   Reply With Quote
Old 01-13-2018, 02:51 PM   #496
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

Geoff, are the FX maps going to be, separate individual fx files, one big fx file, or part of the main file? Or have you got that far lol.
Sounds like it's going to be great.

Last edited by Freex; 01-13-2018 at 03:02 PM.
Freex is offline   Reply With Quote
Old 01-13-2018, 03:38 PM   #497
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Freex View Post
Geoff, are the FX maps going to be, separate individual fx files, one big fx file, or part of the main file? Or have you got that far lol.
Sounds like it's going to be great.
Now that we are using the naming convention, I think individual FX files make sense.

We will also need different FX maps for the same FX for different control surfaces -- e.g. ReaComp for C4 vs ReaComp for Console 1, directory structures will come into play to keep things sane.

The new thinking is to allow map file references from within map files to arbitrary depth, in order to make the process of building custom Logical Surface maps as easy as possible.
__________________
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; 01-14-2018 at 03:39 AM.
Geoff Waddington is offline   Reply With Quote
Old 01-13-2018, 06:52 PM   #498
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by Geoff Waddington View Post
Now that we are using the naming convention, I think individual FX files make sense.
+1.
Quote:
Originally Posted by Geoff Waddington View Post
We might also need different FX maps for the same FX for different control surfaces
Obviously.
Quote:
Originally Posted by Geoff Waddington View Post
The new thinking is to allow map file references from within map files to arbitrary depth, in order to make the process of building custom Logical Surface maps as easy as possible.
Perfect !
-Michael
mschnell is online now   Reply With Quote
Old 01-14-2018, 07:00 AM   #499
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Been working this a bit, I believe it is actually possible to implement the following format (or at least something very similar)

|||||||||||||||||||||||||||||||||||||||||||||||||| ||
CSI.ini // main ini file

MidiInMonitor=Off
MidiOutMonitor=Off
VSTMonitor=Off

// Load these Logical Surface maps
MyMap1.lsm
MyMap2.lsm
MyMap3.lsm
|||||||||||||||||||||||||||||||||||||||||||||||||| ||


///////////////////////////////////
MyMap1.lsm // logical surface map

// Action maps
MCU.axm
Console1.axm

// Real Surface maps
SurfaceGroup Bankable
Mix1.rsm
Mix2.rsm

SurfaceGroup Non-Bankable
Console1.rsm
...
///////////////////////////////////


|||||||||||||||||||||||||||||||||||||||||||||||||| ||
MCU.axm // action map - ties widget names to actions

// Widget/Action pairs
Fader _TrackVolume
Mute _TrackMute
Play _Play
...
|||||||||||||||||||||||||||||||||||||||||||||||||| ||


///////////////////////////////////
Mix1.rsm // real surface map

// name // number of bankable faders // midi channel in // midi channel out
Mix1 8 2 2

// Real Surface template
MCU.rst


// FX templates — syntax for including explicit files
FX1.fxt
FX2.fxt


// will also support syntax for directory based FX templates
// The following would load all FX templates in the MCU subdirectory

/MCU

// other FX subdirectories might include /C4 /Console1 /Faderport8, etc.
///////////////////////////////////


|||||||||||||||||||||||||||||||||||||||||||||||||| ||
MCU.rst // real surface template -- ties widgets to widget names

Play _PushButton <90 5e 7f> <90 5e 00>
Record _PushButton <90 5f 7f> <90 5f 00>


Channels 1-8
Fader _Fader14bit 12.0 -72.0 <e0+ 7f 7f> <e0+ 00 00>
Solo _PushButton <90 08+ 7f> <90 08+ 00>
Mute _PushButton <90 10+ 7f> <90 10+ 00.
...
|||||||||||||||||||||||||||||||||||||||||||||||||| ||


///////////////////////////////////
FX1.fxt // FX template - ties widget names to FX params

VST: ReaComp (Cockos)

// Widget/FX param pairs
Threshold Thresh
Character Gain
Attack Attack
Release Release
Ratio Ratio
Compressor Bypass
Parallel Wet
CompressorMeter GainReduction_dB
///////////////////////////////////
__________________
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; 01-14-2018 at 07:54 AM.
Geoff Waddington is offline   Reply With Quote
Old 01-16-2018, 07:59 AM   #500
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Hi

I've mapped what I can of the X32, and disappointingly for me, only one of the rotary controls (assignable pan knob) sends any MIDI data in any mode that I can discover. Neither, for some strange reason, do the Solo buttons (except some of them in Remote mode).

So, it's not going to be quite as flexible as I hoped, although there are still quite a few faders and buttons (latching and non-latching) which do deliver data, depending on the mode the desk is in.

Hopefully at least the Faders and switches would be useful for me if your project can build a map for it. I might have to look into another general purpose knobs and buttons MIDI controller for FX use as well (ideas please?).

Hope this helps.
Best,
Andy



Briefly (let me know when/if you want a full list of what sends what):

The one physical Assignable Pan Knob sends 00-7F for up to 64 different channels (according to the Bank and Channel Selects on the desk)

CHANNEL SECTION

8 physical Mute Buttons send 00 or 7F (latching) for up to 64 different channels (according to the Bank Select on the desk)

8 physical Channel Faders send 00-7F (nothing sent when Touched or Released, only CC when moved) for up to 64 channels (according to the Bank Select on the desk)

BUSS SECTION (Normal desk mode)

8 physical Mute Buttons send 00 or 7F (latching) for up to 31 different channels (according to the Bank Select on the desk)

8 physical Channel Faders send 00-7F (nothing sent when Touched or Released, only CC when moved) for up to 31 channels (according to the Bank Select on the desk)

One physical Main Fader sends 00-7F (nothing sent when Touched or Released, only CC when moved) for one channel

BUSS SECTION (DAW Remote mode)

8 physical Select switches send 00 or 7F (non-latching) for 8 channels - Note On/Off

8 physical Solo switches send 00 or 7F (non-latching) for 8 channels - Note On/Off

8 ohysical Mute switches send 00 or 7F (non-latching) for 20 channels - Note On/Off (according to the Bank Select on the desk)

MISC BUTTONS
6 physical Mute Group buttons send 00 or 7F (latching) for 6 channels in any mode
andyp24 is offline   Reply With Quote
Old 01-16-2018, 01:06 PM   #501
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by andyp24 View Post
Hi

I've mapped what I can of the X32, and disappointingly for me, only one of the rotary controls (assignable pan knob) sends any MIDI data in any mode that I can discover. Neither, for some strange reason, do the Solo buttons (except some of them in Remote mode).

So, it's not going to be quite as flexible as I hoped, although there are still quite a few faders and buttons (latching and non-latching) which do deliver data, depending on the mode the desk is in.

Hopefully at least the Faders and switches would be useful for me if your project can build a map for it. I might have to look into another general purpose knobs and buttons MIDI controller for FX use as well (ideas please?).
I love my Softube Console 1 for that job


Quote:
Originally Posted by andyp24 View Post
Briefly (let me know when/if you want a full list of what sends what):

The one physical Assignable Pan Knob sends 00-7F for up to 64 different channels (according to the Bank and Channel Selects on the desk)

CHANNEL SECTION

8 physical Mute Buttons send 00 or 7F (latching) for up to 64 different channels (according to the Bank Select on the desk)

8 physical Channel Faders send 00-7F (nothing sent when Touched or Released, only CC when moved) for up to 64 channels (according to the Bank Select on the desk)

BUSS SECTION (Normal desk mode)

8 physical Mute Buttons send 00 or 7F (latching) for up to 31 different channels (according to the Bank Select on the desk)

8 physical Channel Faders send 00-7F (nothing sent when Touched or Released, only CC when moved) for up to 31 channels (according to the Bank Select on the desk)

One physical Main Fader sends 00-7F (nothing sent when Touched or Released, only CC when moved) for one channel

BUSS SECTION (DAW Remote mode)

8 physical Select switches send 00 or 7F (non-latching) for 8 channels - Note On/Off

8 physical Solo switches send 00 or 7F (non-latching) for 8 channels - Note On/Off

8 ohysical Mute switches send 00 or 7F (non-latching) for 20 channels - Note On/Off (according to the Bank Select on the desk)

MISC BUTTONS
6 physical Mute Group buttons send 00 or 7F (latching) for 6 channels in any mode
Ok, we need to agree on a data format.

The best one is simply the 3 byte message, preferably in hex like so:

Assignable Pan Knob b0 01 00-7f

If you put that in decimal it's 176 1 0-127

Hex is cleaner because every number is 2 digits.

Here are some examples:
Fader1 e0 00-7f 00-7f
Fader2 e1 00-7f 00-7f

This describes faders that range from e0 00 00 to e0 7f 7f and e1 00 00 to e1 7f 7f.

See how hex clearly indicates the pattern.

You would expect Fader3 to start with e2, Fader4 to start with e3, etc.

Some switches
Solo 90 08 00-7f
Mute 90 10 00-7f

Do you know if you can send midi messages to remotely switch modes on the X32 ?
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-16-2018, 01:39 PM   #502
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

The notation makes sense so I can map it out that way when you want me to...

I don't know if I can send Bank and Mode select changes to it via MIDI - I'll try to figure it out though.

Console 1 looks cool - but I'm quite heavily invested already in plugins and it looks as though it's really meant just for it's own plugins, not for mapping controllers to 3rd party VSTs. But I could be wrong....?
andyp24 is offline   Reply With Quote
Old 01-16-2018, 02:08 PM   #503
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by andyp24 View Post
Console 1 looks cool - but I'm quite heavily invested already in plugins and it looks as though it's really meant just for it's own plugins, not for mapping controllers to 3rd party VSTs. But I could be wrong....?
Not only is it possible to map 3rd party VST's, it's an integral part of this project

https://forum.cockos.com/attachment....1&d=1512774893
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-16-2018, 02:17 PM   #504
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Yes I suppose that makes sense! I might wait to see how well your setup works before investing though ��

I can't see any MIDI implementation docs for X32 which suggest that switching modes will be possible. So I guess it's a choice between either Normal or Remote mode, which changes what the right hand part of the desk does?

Unless there's a way for me to test if there's an undocumented command that would do it?
andyp24 is offline   Reply With Quote
Old 01-17-2018, 02:00 AM   #505
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by andyp24 View Post
Yes I suppose that makes sense! I might wait to see how well your setup works before investing though ��

I can't see any MIDI implementation docs for X32 which suggest that switching modes will be possible. So I guess it's a choice between either Normal or Remote mode, which changes what the right hand part of the desk does?

Unless there's a way for me to test if there's an undocumented command that would do it?
The more research I do on this, the more I come to believe OSC is worth a look on this guy.

You could end up being the first OSC test case
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-17-2018, 02:25 AM   #506
andyp24
Human being with feelings
 
andyp24's Avatar
 
Join Date: Mar 2016
Posts: 1,239
Default

Happy to help in any way, although OSC is completely new territory for me, so you'd have to walk me through it like an idiot... ��
andyp24 is offline   Reply With Quote
Old 01-21-2018, 03:13 AM   #507
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Don't think it can be any simpler than this and still accomplish what's needed:

Code:

//////////////////////////////////////////////////////////////////////
CSI.ini // main ini file

MidiInMonitor=Off
MidiOutMonitor=Off
VSTMonitor=Off

// real surfaces
// name // number of bankable faders // midi channel in // midi channel out // real surface template filename
Mix1 	8 1 1	McuX
Control 4 3 3 	C1
Console1 0 8 7 	Mcu
Mix2 	8 2 2 	McuX

// logical surfaces //

|||||||||||||||||||||||||||||||
Logical Surface — logical surfaces don’t have names

SurfaceGroup surfaceGroupName
// real surface name // action templates directory // FX templates directory
Mix1 		StdMcuX 	StdMcuFX
Mix2 		StdMcuX 	StdMcuFX

SurfaceGroup surfaceGroupName2
Console1 	StdC1 		StdC1
Control 	SpecialMcu	StdMcuFX

|||||||||||||||||||||||||||||||
Logical Surface

SurfaceGroup surfaceGroupName
Mix1 		SpecialMcuX 	StdMcuFX
Mix2 		SpecialMcuX 	StdMcuFX

SurfaceGroup surfaceGroupName2
Console1 	StdC1 		Special/C1
Control 	StdMcu 		StdMcuFX

//////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
// real surface template -- ties widgets to widget names

// name // optional param(s) // widget type // midi message (3 bytes)
Play 			_PushButton 	90 5e 00-7f
Record 			_PushButton 	90 5f 00-7f
…

Channels 1-8
Fader  -72.0  12.0	_Fader		e0+	00-7  00-7f
Solo 			_PushButton 	90 	08+ 00-7f
Mute 			_PushButton	90 	10+ 00-7f
...
//////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////
// action template - ties widget names to actions

// widget // action
Fader	_TrackVolume
Mute 	_TrackMute
Play	_Play
...
//////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////
// FX template - ties widget names to FX param names

VST: ReaComp (Cockos)

// widget name 	        // FX param name
Threshold		Thresh
Character 		Gain
Attack 			Attack
Release 		Release
Ratio 			Ratio
Compressor 		Bypass
Parallel 		Wet 
CompressorMeter 	GainReduction_dB
//////////////////////////////////////////////////////////////////////
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 04:50 AM   #508
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

What way will it need to be for the control on the actual MCU?
at the minute I have to be set to next midi device number. If I put the MCU and Control to the same I lose transport control.
Freex is offline   Reply With Quote
Old 01-21-2018, 05:40 AM   #509
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Freex View Post
What way will it need to be for the control on the actual MCU?
at the minute I have to be set to next midi device number. If I put the MCU and Control to the same I lose transport control.
Yeah, it's messy right now, but soon the midi devices will be chosen in a UI.

I know I said there would be no UI initially, but now I see a way to make at least some of the configuration available in UI form, nice and easy
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 07:12 AM   #510
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 902
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yeah, it's messy right now, but soon the midi devices will be chosen in a UI.

I know I said there would be no UI initially, but now I see a way to make at least some of the configuration available in UI form, nice and easy
Sometimes UI's are the most straight forward was to get things done quickly and easily. I know i like a UI here and there. lol
Freex is offline   Reply With Quote
Old 01-21-2018, 07:51 AM   #511
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Freex View Post
Sometimes UI's are the most straight forward was to get things done quickly and easily. I know i like a UI here and there. lol
Haha, there was earlier discussion in this thread about how labour resource intensive UI can be, especially cross platform UI.

The original thoughts about how this all went together made UI design a rather daunting task.

So, the plan was to defer UI until later, in order to get something out more quickly to you good folks.

But now, mostly because of the adoption of a naming convention, I think there is a way to do a decent UI for at least some portions of the configuration.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 01:48 PM   #512
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Geoff Waddington View Post
VST: ReaComp (Cockos)

Rotary1 Thresh
Rotary2 Gain
Rotary3 Attack
Rotary4 Release
Rotary5 Ratio
Rotary1Push Bypass
Rotary6 Wet
What about rotary encoder mapped to a small range of the parameter? Like some compressors, that change it's algos, based on a single knob?
Or, vst instruments, which have different articulations mapped to the range parts of the single knob, so it might be useful to map the exact knob values to some buttons?
Or, vice versa, map several parameters to one knob's range, so it would be possible to toggle between several parameters with a simple knob.

Something like this (showing multiple knobs to the single knob).

But, it can also be "multiple buttons to the single knob" or "multiple button to the single button", where repeatedly pressing a single button would toggle a set of fx params that are represented as buttons in the GUI:

Pressing a single button to toggle compressor's ratios:


fundorin is offline   Reply With Quote
Old 01-21-2018, 02:31 PM   #513
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by fundorin View Post
What about rotary encoder mapped to a small range of the parameter? Like some compressors, that change it's algos, based on a single knob?
Or, vst instruments, which have different articulations mapped to the range parts of the single knob, so it might be useful to map the exact knob values to some buttons?
Or, vice versa, map several parameters to one knob's range, so it would be possible to toggle between several parameters with a simple knob.

Something like this (showing multiple knobs to the single knob).
Definitely some interesting ideas in there, but let's get the pre-alpha out the door first
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 02:59 PM   #514
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

I was mostly speaking about fx plugmap format's standard.

It might be thoughtful to make it extensive, so if something like the ideas above would come to your mind at some later stages, it won't ruin compatibility with already written plugmaps.

For now, it seems, you only have "control-parm" pairs in plugmaps, which would be, obviously, not enough to cover some non-basic mappings.
With this point of view, Klinke's xml plugmaps are perfect for the task.

I recommend you to watch other midi designer's videos on that channel. There's lots of info about the ways of mapping different parameters to the widgets.
fundorin is offline   Reply With Quote
Old 01-21-2018, 04:22 PM   #515
Cableaddict
Human being with feelings
 
Join Date: Apr 2008
Posts: 1,910
Default

I'll add something slightly from left field:

How about creating an iPad / tablet app, specifically for controlling Reaper.? - And all the things discussed in the thread.

This is clearly the way of the future. Several apps already exist for this, allowing you to create any layout you want, working together with cheap hardware such as the iConnectMIDI2+ device.
The "Hexler TouchOSC" looks to be the best right now, but I think that's Apple only.
The "iMidi Patchbay" looks serviceable, but basic.

However, none of these apps are designed specifically for Reaper, of course, and so are a bit cumbersome to work with for anything other than direct VSTi control. (note that I'm basing this opinion solely on reading the manuals, so caveat emptor.)

Regardless,, a similar app, dedicated to Reaper, could of course have lots of templates, and users hear could then submit their own, custom templates as well.

Last edited by Cableaddict; 01-21-2018 at 04:51 PM.
Cableaddict is offline   Reply With Quote
Old 01-21-2018, 04:40 PM   #516
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by fundorin View Post
I was mostly speaking about fx plugmap format's standard.

It might be thoughtful to make it extensive, so if something like the ideas above would come to your mind at some later stages, it won't ruin compatibility with already written plugmaps.

For now, it seems, you only have "control-parm" pairs in plugmaps, which would be, obviously, not enough to cover some non-basic mappings.
With this point of view, Klinke's xml plugmaps are perfect for the task.

I recommend you to watch other midi designer's videos on that channel. There's lots of info about the ways of mapping different parameters to the widgets.
One of the main goals of this project is simplicity.

What you are suggesting adds flexibility at the cost of added complexity.

I watched a few of those videos and and saw a lot of complexity and no real world use cases.

Do you have a use case that requires this approach, other than the articulation one you mention a few posts back ?

Even if we decide to add a different format for some reason, we will still provide the ability to use the simple format, which will likely get used over 99% of the time.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 04:42 PM   #517
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Cableaddict View Post
I'll add something slightly from left field:

How about creating an iPad / tablet app, specifically for controlling Reaper.? - And all the things discussed in the thread.

This is clearly the way of the future. Several apps already exist for this, allowing you to create any layout you want, working together with cheap hardware such as the iConnectMIDI2+ device. "Hexler TouchOSC" looks to be the best right now, but I think that's Apple only. "iMidi Patchbay" looks serviceable, but basic.

However, none of these apps are designed specifically for Reaper, of course, and so are a bit cumbersome to work with for anything other than direct VSTi control. (note that I'm basing this opinion solely on reading the manuals, so caveat emptor.)

Regardless,, a similar app, dedicated to Reaper, could of course have lots of templates, and users hear could then submit their own, custom templates as well.
Yes, the very first post of this thread mentions iPads, etc.

We are at humble beginnings, but eventually hope to get to where you are talking about.
__________________
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
Geoff Waddington is offline   Reply With Quote
Old 01-21-2018, 06:05 PM   #518
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Cableaddict View Post
How about creating an iPad / tablet app, specifically for controlling Reaper.?
Do you know about Lemur, BTW? http://zvukofor.blogspot.ru/p/binder.html

Quote:
Originally Posted by Geoff Waddington View Post
One of the main goals of this project is simplicity.

What you are suggesting adds flexibility at the cost of added complexity.

I watched a few of those videos and and saw a lot of complexity and no real world use cases.
That's why Reaper is a powerful tool. It can be customized in many ways, so almost every user can configure it how he likes.

Quote:
Originally Posted by Geoff Waddington View Post
Do you have a use case that requires this approach, other than the articulation one you mention a few posts back ?
Fine adjustment of the parameters isn't enough? One knob for a full scale (let's say, 0-127) and the other one that would adjust the same parameter's value in -32-32 range, so that the adjustment could be more precise.
Using a button to quickly set parameter to the middle value? Another one for max value. And the third one to quickly turn the knob to zero.
A pair of buttons to adjust the parameter by 5 points (in 0-127 range)?
A single button that would disable/mute 4 out of 5 frequency ranges in EQ?
An encoder that would do the same, i.e., soloing each frequency, or just dimming other frequencies in half?
All the above should be possible to map per plugin.

Quote:
Originally Posted by Cableaddict View Post
Even if we decide to add a different format for some reason, we will still provide the ability to use the simple format, which will likely get used over 99% of the time.
That means that plugmap should have plugin version/type header, at least, so if something major would be added in some version, the plugin itself would know how to handle the outdated plugmaps or, maybe, convert them into the new format.
fundorin is offline   Reply With Quote
Old 01-21-2018, 07:55 PM   #519
Cableaddict
Human being with feelings
 
Join Date: Apr 2008
Posts: 1,910
Default

Quote:
Originally Posted by fundorin View Post
Do you know about Lemur, BTW? http://zvukofor.blogspot.ru/p/binder.html
Thanks.

That's looks good on the surface, but I literally stopped reading as soon as I saw "requires bluetooth to operate."

Bluetooth is one of the few things GUARANTEED to hurt DAW performance. That puts this app completely off the table for serious usage, at least when low latency is desired or required.

How can they not know this?

If they ever wake up, and code it so it can work with the iConnectMIDI2+ device, then I'll eagerly take another look.
Cableaddict is offline   Reply With Quote
Old 01-21-2018, 10:35 PM   #520
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by Geoff Waddington View Post
The original thoughts about how this all went together made UI design a rather daunting task.
Is this thread not about enabling a controller as a hardware user interface ?

Hence, IMHO, a computer based GUI (e.g. remote) is part of yet another, completely different, and decently complex game, that might or might not be related, but definitively should be - and is - discussed elsewher.

-Michael
mschnell is online now   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 01:43 AM.


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