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

Reply
 
Thread Tools Display Modes
Old 02-07-2018, 02:19 PM   #681
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

Anything we can get our hands on and play with yet?
Freex is offline   Reply With Quote
Old 02-07-2018, 02:45 PM   #682
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by Freex View Post
Anything we can get our hands on and play with yet?
Soon

Just finishing up the file reader for Real Surface Templates, so probably by weekend for file read completion.

Next up... UI.

I'd like to think a week optimistically, or 2 weeks pessimistically
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-08-2018, 04:29 PM   #683
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

FYI update:

CSI now reads Real Surface Template files, here are a couple:

MCU.rst contents:

Track Button 90 28 00 7f
Send Button 90 29 00 7f
Pan Button 90 2a 00 7f
Plugin Button 90 2b 00 7f
EQ Button 90 2c 00 7f
Instrument Button 90 2d 00 7f
nameValue Button 90 34 00 7f
smpteBeats Button 90 35 00 7f
F1 Button 90 36 00 7f
F2 Button 90 37 00 7f
F3 Button 90 38 00 7f
F4 Button 90 39 00 7f
F5 Button 90 3a 00 7f
F6 Button 90 3b 00 7f
F7 Button 90 3c 00 7f
F8 Button 90 3d 00 7f
Shift ButtonWithRelease 90 46 00 7f
Option ButtonWithRelease 90 47 00 7f
Control ButtonWithRelease 90 48 00 7f
Alt ButtonWithRelease 90 49 00 7f
Read Button 90 4a 00 7f
Write Button 90 4b 00 7f
Trim Button 90 4c 00 7f
Touch Button 90 4d 00 7f
Latch Button 90 4e 00 7f
Group Button 90 4f 00 7f
Save Button 90 50 00 7f
Undo Button 90 51 00 7f
Cancel Button 90 52 00 7f
Enter Button 90 53 00 7f
Cycle Button 90 56 00 7f
Replace Button 90 57 00 7f
Click Button 90 59 00 7f
Solo Button 90 5a 00 7f
Up Button 90 60 00 7f
Down Button 90 61 00 7f
Left Button 90 62 00 7f
Right Button 90 63 00 7f
Zoom Button 90 64 00 7f
Scrub Button 90 65 00 7f
BankLeft Button 90 2e 00 7f
BankRight Button 90 2f 00 7f
NudgeLeft Button 90 30 00 7f
NudgeRight Button 90 31 00 7f
Marker Button 90 54 00 7f
Nudge Button 90 55 00 7f
Rewind Button 90 5b 00 7f
FastForward Button 90 5c 00 7f
Stop Button 90 5d 00 7f
Play Button 90 5e 00 7f
Record Button 90 5f 00 7f
Channel
ChannelFaderTouch ButtonWithRelease 90 68 00 7f
ChannelRotaryPush ButtonCycler 90 20 00 7f
ChannelRotary Encoder b0 10 00 7f
ChannelDisplay Display
ChannelFader Fader14Bit -72.0 12.0 e0 00 7f 00 7f
ChannelRecordArm Button 90 00 00 7f
ChannelSolo Button 90 08 00 7f
ChannelMute Button 90 10 00 7f
ChannelSelect Button 90 18 00 7f
ChannelEnd



Console1.rst contents:

DisplayFX ButtonWithLatch b0 66 00 7f
Order ButtonWithLatch b0 0e 00 7f
ExternalSidechain ButtonWithLatch b0 11 00 7f
FiltersToCompressor ButtonWithLatch b0 3d 00 7f
PhaseInvert ButtonWithLatch b0 6c 00 7f
Preset ButtonWithLatch b0 3a 00 7f
Shape ButtonWithLatch b0 35 00 7f
HardGate ButtonWithLatch b0 3b 00 7f
Equalizer ButtonWithLatch b0 50 00 7f
LoCurve ButtonWithLatch b0 5d 00 7f
HiCurve ButtonWithLatch b0 41 00 7f
HiGain Fader7Bit b0 52 00 7f
HiFrequency Fader7Bit b0 53 00 7f
HiMidGain Fader7Bit b0 55 00 7f
HiMidFrequency Fader7Bit b0 56 00 7f
HiMidQ Fader7Bit b0 57 00 7f
LoMidGain Fader7Bit b0 58 00 7f
LoMidFrequency Fader7Bit b0 59 00 7f
LoMidQ Fader7Bit b0 5a 00 7f
LoGain Fader7Bit b0 5b 00 7f
LoFrequency Fader7Bit b0 5c 00 7f
Compressor ButtonWithLatch b0 2e 00 7f
Threshold Fader7Bit b0 2f 00 7f
Release Fader7Bit b0 30 00 7f
Ratio Fader7Bit b0 31 00 7f
Parallel Fader7Bit b0 32 00 7f
Attack Fader7Bit b0 33 00 7f
Drive Fader7Bit b0 0f 00 7f
Character Fader7Bit b0 12 00 7f
CompressorMeter GainReductionMeter 0 -20 b0 73 00 7f
Channel
ChannelInputMeterLeft VUMeter -60.0 6.0 b0 6e 00 7f
ChannelInputMeterRight VUMeter -60.0 6.0 b0 6f 00 7f
ChannelMute ButtonWithLatch b0 0c 00 7f
ChannelSolo ButtonWithLatch b0 0d 00 7f
ChannelFader Fader7Bit b0 07 00 7f
ChannelRotary Fader7Bit b0 0a 00 7f
ChannelOutputMeterLeft VUMeter -60.0 6.0 b0 70 00 7f
ChannelOutputMeterRight VUMeter -60.0 6.0 b0 71 00 7f
ChannelEnd
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-09-2018, 09:24 AM   #684
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

Quote:
Originally Posted by Geoff Waddington View Post
FYI update:

CSI now reads Real Surface Template files, here are a couple:



ChannelEnd
Hey Geoff,

Going thru the list for the MCU, there are a few missing and "REPLACE BUTTON" is wrong.

Not sure if you need this or not but,

additions as follows.

Flip Button 90 32 00 7f
GlobalView Button 90 33 00 7f


MidiTracks Button 90 3e 00 7f
Inputs Button 90 3f 00 7f
AudioTracks Button 90 40 00 7f
AudioInstruments Button 90 41 00 7f
Aux Button 90 42 00 7f
Busses Button 90 43 00 7f
Output Button 90 44 00 7f
User Button 90 45 00 7f

Drop Button 90 57 00 7f
Replace Button 90 58 00 7f

Wheel B0 3C 01 41 ( Same as pots 41CCW, 01 CW)



Hope things are coming along, if you want me to type out the surface template for the C4 just let me know.

Gary

Last edited by Freex; 02-09-2018 at 11:02 AM.
Freex is offline   Reply With Quote
Old 02-09-2018, 01:32 PM   #685
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Haha I'm surprised only 1 is wrong

I'm actually testing with Avid Artist Mix and Control Units in Mackie mode so I didn't bother mapping anything I didn't have on my setup.

But yeah, thanks, the real MCU mapping will be in the pre alpha.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-09-2018, 04:43 PM   #686
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

Everything from the Mackie C4 (afaik)

RotaryPush
RotaryPushA1 90 20 00 7f
RotaryPushA2 90 21 00 7f
RotaryPushA3 90 22 00 7f
RotaryPushA4 90 23 00 7f
RotaryPushA5 90 24 00 7f
RotaryPushA6 90 25 00 7f
RotaryPushA7 90 26 00 7f
RotaryPushA8 90 27 00 7f

RotaryPushB1 90 28 00 7f
RotaryPushB2 90 29 00 7f
RotaryPushB3 90 2a 00 7f
RotaryPushB4 90 2b 00 7f
RotaryPushB5 90 2c 00 7f
RotaryPushB6 90 2d 00 7f
RotaryPushB7 90 2e 00 7f
RotaryPushB8 90 2f 00 7f

RotaryPushC1 90 30 00 7f
RotaryPushC2 90 31 00 7f
RotaryPushC3 90 32 00 7f
RotaryPushC4 90 33 00 7f
RotaryPushC5 90 34 00 7f
RotaryPushC6 90 35 00 7f
RotaryPushC7 90 36 00 7f
RotaryPushC8 90 37 00 7f

RotaryPushD1 90 38 00 7f
RotaryPushD2 90 39 00 7f
RotaryPushD3 90 3a 00 7f
RotaryPushD4 90 3b 00 7f
RotaryPushD5 90 3c 00 7f
RotaryPushD6 90 3d 00 7f
RotaryPushD7 90 3e 00 7f
RotaryPushD8 90 3f 00 7f

Rotarys
RotaryA1 b0 00 01 41
RotaryA2 b0 01 01 41
RotaryA3 b0 02 01 41
RotaryA4 b0 03 01 41
RotaryA5 b0 04 01 41
RotaryA6 b0 05 01 41
RotaryA7 b0 06 01 41
RotaryA8 b0 07 01 41

RotaryB1 b0 08 01 41
RotaryB2 b0 09 01 41
RotaryB3 b0 0a 01 41
RotaryB4 b0 0b 01 41
RotaryB5 b0 0c 01 41
RotaryB6 b0 0d 01 41
RotaryB7 b0 0e 01 41
RotaryB8 b0 0f 01 41

RotaryC1 b0 10 01 41
RotaryC2 b0 11 01 41
RotaryC3 b0 12 01 41
RotaryC4 b0 13 01 41
RotaryC5 b0 14 01 41
RotaryC6 b0 15 01 41
RotaryC7 b0 16 01 41
RotaryC8 b0 17 01 41

RotaryD1 b0 18 01 41
RotaryD2 b0 19 01 41
RotaryD3 b0 1a 01 41
RotaryD4 b0 1b 01 41
RotaryD5 b0 1c 01 41
RotaryD6 b0 1d 01 41
RotaryD7 b0 1e 01 41
RotaryD8 b0 1f 01 41

Function
Split 90 00 00 7F
Lock 90 03 00 7F
SpotErase 90 04 00 7F

Assignment
Marker 90 05 00 7F
Track 90 06 00 7F
Chan Strip 90 07 00 7F
Function 90 08 00 7F

Modifiers
Shift 90 0D 00 7F
Option 90 0E 00 7F
Control 90 0F 00 7F
Alt 90 10 00 7F

Parameter
BankLeft 90 09 00 7F
BankRight 90 0A 00 7F
SingleLeft 90 0B 00 7F
SingleRight 90 0C 00 7F

Navigation
SlotUp 90 11 00 7F
SlotDown 90 12 00 7F
TrackL 90 13 00 7F
TrackR 90 14 00 7F
Freex is offline   Reply With Quote
Old 02-09-2018, 05:27 PM   #687
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Thanks for this !!
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-09-2018, 06:42 PM   #688
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

No worries hope they're of some use, and not too far off the naming convention.
Freex is offline   Reply With Quote
Old 02-11-2018, 06:42 AM   #689
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Geoff, I still can't understand why don't you want to use universal names in plugmaps, like "FXParm1" - "FXParm999+"?
Using this method, users could map those universal names to their own surface controls somewhere inside the main surface config. This way, plugmaps would become universal and surface independent.
Is there any worthwhile cause behind having named FX parameters inside plugmaps, which automatically makes them surface dependent?
fundorin is offline   Reply With Quote
Old 02-11-2018, 08:57 AM   #690
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
Geoff, I still can't understand why don't you want to use universal names in plugmaps, like "FXParm1" - "FXParm999+"?
Using this method, users could map those universal names to their own surface controls somewhere inside the main surface config. This way, plugmaps would become universal and surface independent.
Is there any worthwhile cause behind having named FX parameters inside plugmaps, which automatically makes them surface dependent?
Named FX parameters inside plugin maps don't automatically make them surface dependent, it's the Real Surface Widget names that do that

The method you suggest ("users could map those universal names to their own surface controls somewhere inside the main surface config") will not work.

Logical Surfaces (some call these layers or scenes) contain Surface Groups (some call these zones).

Surface Groups contain Real Surfaces, with each Real Surface mapped to a particular set of Actions and FX, in the context of the enclosing Logical Surface / Surface Group.

The same Real Surface can appear in many different Surface Groups with completely different Action and FX mappings.

So you cannot tie Action and FX maps directly to Real Surfaces, otherwise the mappings could not vary from Surface Group to Surface Group.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki

Last edited by Geoff Waddington; 02-11-2018 at 09:03 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-11-2018, 01:53 PM   #691
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

I don't quite understand your terminology with Real/Logical/Groups, but it doesn't actually matter, in this case.

User can assign a set of controls to be "FXParm1-999" for any plugin, like:
Surface1 pots 1-8 are always used to control Plugin1 first 8 parameters on the selected track.
Surface2 encoders 1-8 are always used to control banks of "FXParm1-8/9-16/etc" for Plugin2.
Surface3 faders 1-4 in plugin control mode are always used to control Plugin1 FXParm1-4.

They'll always control the parameters above, no matter what is the name of the parameter or which plugin is loaded on the track.
Universal, without reference to any specific names or midi commands.
fundorin is offline   Reply With Quote
Old 02-11-2018, 02:24 PM   #692
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
I don't quite understand your terminology with Real/Logical/Groups, but it doesn't actually matter, in this case.

User can assign a set of controls to be "FXParm1-999" for any plugin, like:
Surface1 pots 1-8 are always used to control Plugin1 first 8 parameters on the selected track.
Surface2 encoders 1-8 are always used to control banks of "FXParm1-8/9-16/etc" for Plugin2.
Surface3 faders 1-4 in plugin control mode are always used to control Plugin1 FXParm1-4.
What if you want to leave some parameters out, what if you want the parameters presented in a different order ?

Quote:
Originally Posted by fundorin View Post
They'll always control the parameters above, no matter what is the name of the parameter or which plugin is loaded on the track.
Universal, without reference to any specific names or midi commands.
This project is all about customization, what you are describing is too restrictive and rules based for this project.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-11-2018, 03:03 PM   #693
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Geoff Waddington View Post
What if you want to leave some parameters out, what if you want the parameters presented in a different order ?
You just simply edit the plugmap for the particular plugin.
Just rearrange the parameters order, move "unwanted" parameter to the bottom of the plugmap.

Let's say, you have this plugmap (all in pseudo code):

Quote:
Comp.pmap
FX1 Wet
FX2 Dry
FX3 Band 1
FX4 Band 2
FX5 Band 3
FX6 Band 4
FX7 Band 5
...
FX999 Cool Button
You don't want to control Dry parameter? Edit the plugmap:

Quote:
Comp.pmap
FX1 Wet
FX2 Band 1
FX3 Band 2
FX4 Band 3
FX5 Band 4
FX6 Band 5
FX7 Knee
...
FX999 Cool Button
FX1000 Dry
In your main script you have general mappings for physical/logical controls:

Quote:
Main.script (fx map section)
MCU Pot1 = Fx1
BCR2000 Enc1 = FX2
BCR2000 Enc2 = FX3
BCR2000 Enc3 = FX4
BCR2000 Enc4 = FX5
XTouch Fader1 (fx mode) = FX6
XTouch Fader2 (fx mode) = FX7
Easy.
Or do you have some other purpose for plugmaps in your plan?

Quote:
Originally Posted by Geoff Waddington View Post
This project is all about customization, what you are describing is too restrictive and rules based for this project.
Absolutely not. Which part of this approach is restricted of tied?
I think that having midi values of some particular surface hardcoded in plugmaps is what could be called restrictive.
fundorin is offline   Reply With Quote
Old 02-11-2018, 03:19 PM   #694
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
I don't quite understand your terminology with Real/Logical/Groups, but it doesn't actually matter, in this case.
It actually does matter, A LOT.

I can see why you are having difficulty, if you don't understand the relationships between and amongst Logical Surfaces, Surface Groups, and Real Surfaces (with associated Action and FX maps in a given Surface group context), you will not be able to see why the mapping strategy makes sense.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-11-2018, 03:21 PM   #695
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
I think that having midi values of some particular surface hardcoded in plugmaps is what could be called restrictive.
So do I, that''s why there are no midi values of some particular surface hardcoded in Action or FX maps.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 03:26 AM   #696
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

one flaw I can see with genreic FXpram1,2,3 is for any given FXpram on surface A they could be buttons, on B a fader on C a knob
Freex is offline   Reply With Quote
Old 02-12-2018, 08:41 AM   #697
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

You might find this project interesting, Geoff:
https://hyperrealm.github.io/libconfig/
https://hyperrealm.github.io/libconf...fig_manual.pdf
fundorin is offline   Reply With Quote
Old 02-12-2018, 09:22 AM   #698
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
Thanks, looks very JSON like, this project probably can get away with a simpler format, which is what we already have
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 09:23 AM   #699
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by Freex View Post
one flaw I can see with genreic FXpram1,2,3 is for any given FXpram on surface A they could be buttons, on B a fader on C a knob
Yup, from the perspective of this project, one among many flaws associated with this approach.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 10:12 AM   #700
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yup, from the perspective of this project, one among many flaws associated with this approach.
What about automatic plugmap generation? Not possible with your approach. I know.
fundorin is offline   Reply With Quote
Old 02-12-2018, 10:21 AM   #701
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
What about automatic plugmap generation? Not possible with your approach. I know.
Correct, automatic plugin map generation is not even desired for this project, this project is all about the OPPOSITE, custom plugin maps.

Edit: Actually I should point out that, although CSI has nothing to do with auto-mapping, some clever external software could be used to auto-gen maps that could then be used by CSI, another advantage to keeping the file format extremely simple.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki

Last edited by Geoff Waddington; 02-12-2018 at 12:53 PM.
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 01:46 PM   #702
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Geoff Waddington View Post
Correct, automatic plugin map generation is not even desired for this project, this project is all about the OPPOSITE, custom plugin maps.

Edit: Actually I should point out that, although CSI has nothing to do with auto-mapping, some clever external software could be used to auto-gen maps that could then be used by CSI, another advantage to keeping the file format extremely simple.
I was also thinking about some external software for this task, but it would be easier for me to automatically generate plugmaps for the loaded plugins if there's no plugmap exist in the plugmap folder, instead of constantly rescanning vst folders with some 3rd-party app in search of the new/updated plugins.
I'll try to use the mentioned above library to generate those plugmaps, based on a prearranged template. Reaper can send plugin parameter's names upon request from csurf and that's all that's needed.
This approach would only require from users to edit the plugmaps, instead of creating them from scratch.
fundorin is offline   Reply With Quote
Old 02-12-2018, 02:16 PM   #703
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
I'll try to use the mentioned above library to generate those plugmaps, based on a prearranged template. Reaper can send plugin parameter's names upon request from csurf and that's all that's needed.
This approach would only require from users to edit the plugmaps, instead of creating them from scratch.
I use a very similar, much simpler, low tech method.

In the config dialog click the "VSTMonitor" checkbox.

With this switch on, load a plugin.

The name of the plugin plus all of it's parameter names are output to ReaConsole.

You then just cut and paste those into your map file, and edit exactly as you would with your method.

The difference being your method is slicker, but with the added cost of a substantial amount of coding on your part.

My method is cheap, cheesy, and effective, with low (close to zero) development cost/effort.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 02:31 PM   #704
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Quote:
Originally Posted by Geoff Waddington View Post
I use a very similar, much simpler, low tech method.

The name of the plugin plus all of it's parameter names are output to ReaConsole.
I thought that ReaConsole's output has a limit for the number of strings to be simultaneously displayed in the log. When the limit is exceeded, you won't be able to access the first lines. I might be wrong, though.
fundorin is offline   Reply With Quote
Old 02-12-2018, 02:48 PM   #705
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by fundorin View Post
I thought that ReaConsole's output has a limit for the number of strings to be simultaneously displayed in the log. When the limit is exceeded, you won't be able to access the first lines. I might be wrong, though.
You could be right.

I've never tried it with something nasty like, say, Kontakt, that might blow it up
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-12-2018, 04:27 PM   #706
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Yup, Kontakt blew it up

So the VST param display is now limited to 50 parameters.

The argument being, if you have more than 50 params in a VST you can still map it, you just can't use this shortcut method.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-13-2018, 06:52 PM   #707
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Here's a link to download the readme and folder structure: https://stash.reaper.fm/32907/CSI%20...0Structure.zip

Please have a look and tell me if things are explained well enough -- thanks in advance.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-13-2018, 07:29 PM   #708
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

I was fine apart from the surface group, logical group surface bit at the very start, which was a great feeling to start off with lol,
I don't understand the reason(s) for the terms. Maybe a partial example would help. Pro's and cons.
I assume it has something to do with allowing fx controls to span different surfaces, or something like that.

Last edited by Freex; 02-13-2018 at 07:35 PM.
Freex is offline   Reply With Quote
Old 02-14-2018, 03:28 AM   #709
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 773
Default

Yeah, I think I understand the broad concepts, and very much like the sound of it... Is this roughly correct?

I have a number of hardware controllers (which could be a mixer, keyboard, x-touch, console 1 etc) which are "Real Surfaces".

If I want to combine more than one of those into a "Surface Group" then they will act (as far as the software is concerned) as if they were a single Real Surface (banking together etc)

Then I define a Logical Surface which can contain more than one of these Surface groups.... kind of like a "preset" for configuring everything in my setup? Only one of these can be active at once, presumably?

But a real surface can appear in more than one Surface Group, so (somehow in the software) it knows what mappings to apply to those physical controls depending on what I'm doing in Reaper.

More or less right?

Not sure I could get it up and running from that information, but that's (hopefully) not what this document is aimed at...? :-)

It all sounds great, Geoff, and I'm looking forward to being able to try it out when it's available and I have time....

Cheers
Andy
andyp24 is offline   Reply With Quote
Old 02-14-2018, 06:19 AM   #710
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by Freex View Post
I was fine apart from the surface group, logical group surface bit at the very start, which was a great feeling to start off with lol,
I don't understand the reason(s) for the terms. Maybe a partial example would help. Pro's and cons.
I assume it has something to do with allowing fx controls to span different surfaces, or something like that.
Thanks for helping, please have a look at the latest and see if it is better: https://stash.reaper.fm/32907/CSI%20...0Structure.zip
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-14-2018, 06:20 AM   #711
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by andyp24 View Post
Yeah, I think I understand the broad concepts, and very much like the sound of it... Is this roughly correct?

I have a number of hardware controllers (which could be a mixer, keyboard, x-touch, console 1 etc) which are "Real Surfaces".

If I want to combine more than one of those into a "Surface Group" then they will act (as far as the software is concerned) as if they were a single Real Surface (banking together etc)

Then I define a Logical Surface which can contain more than one of these Surface groups.... kind of like a "preset" for configuring everything in my setup? Only one of these can be active at once, presumably?

But a real surface can appear in more than one Surface Group, so (somehow in the software) it knows what mappings to apply to those physical controls depending on what I'm doing in Reaper.

More or less right?

Not sure I could get it up and running from that information, but that's (hopefully) not what this document is aimed at...? :-)

It all sounds great, Geoff, and I'm looking forward to being able to try it out when it's available and I have time....

Cheers
Andy
Thanks for helping, you have the basics correct, please have a look at the latest and see if it is better: https://stash.reaper.fm/32907/CSI%20...0Structure.zip
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-14-2018, 07:06 AM   #712
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 773
Default

I think that is a little easier to understand, yes.

A few thoughts -

1) when you say "There is no limit to the number of Layouts you can have at once in Reaper", that could mean either "available for use in Reaper" or "active simultaneously in Reaper". I don't think it's the latter, is it - unless I misunderstand, only one Layout can be active at any one time.

2) "Widget" is the name you're giving to the knobs, switches etc on the Real Surface. Why not "Control" instead? ie "Real surfaces contain Controls eg Play Button, Fader, Knob etc"

Seems more logical to me, although there may be some level of sophistication I'm missing that means a Widget is more than a physical controller...

3) I think the distinction between "Surface" and "Real Surface" could be clearer. Perhaps naming it a "Surface Map" or "Surface Definition" would help?

Andy
andyp24 is offline   Reply With Quote
Old 02-14-2018, 07:15 AM   #713
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by andyp24 View Post
I think that is a little easier to understand, yes.

A few thoughts -

1) when you say "There is no limit to the number of Layouts you can have at once in Reaper", that could mean either "available for use in Reaper" or "active simultaneously in Reaper". I don't think it's the latter, is it - unless I misunderstand, only one Layout can be active at any one time.
Correct, only one Layout is active at any one time, but many can be stored in memory ready to go at the press of a button


Quote:
2) "Widget" is the name you're giving to the knobs, switches etc on the Real Surface. Why not "Control" instead? ie "Real surfaces contain Controls eg Play Button, Fader, Knob etc"

Seems more logical to me, although there may be some level of sophistication I'm missing that means a Widget is more than a physical controller...
Yeah, that works until you consider that track name displays, timeline counters, VU meters, etc. are Widgets too, then the name Control doesn't work so well.

Quote:
3) I think the distinction between "Surface" and "Real Surface" could be clearer. Perhaps naming it a "Surface Map" or "Surface Definition" would help?

Andy
Don't think that "Surface Map" or "Surface Definition" is quite right either, but I hear ya' and am open to suggestions...

Edit: How about "Virtual Surface", which is what it is, after all
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki

Last edited by Geoff Waddington; 02-14-2018 at 07:28 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-14-2018, 07:18 AM   #714
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

FYI update:

Found a way to remove the 50 VST param display constraint from yesterday, now Kontakt displays all 515 params, something larger may still break it though...
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-14-2018, 07:36 AM   #715
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 773
Default

Hi Geoff

Thanks.

So I think if you clarify that the Layouts are like Presets - you can store as many as you like, but choose one to work with at any time - that will be fine.

Understood re: Widgets, so I guess if you keep the name, but in your list of examples include things like Meters, ScribbleStrip displays etc, it'll be more clear that the communication is 2-way and not just for "controls".

Virtual Surface is good :-)

Andy
andyp24 is offline   Reply With Quote
Old 02-14-2018, 09:45 AM   #716
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

Quote:
Originally Posted by Geoff Waddington View Post
Thanks for helping, please have a look at the latest and see if it is better: https://stash.reaper.fm/32907/CSI%20...0Structure.zip
Yeah that's much better Geoff, although in my head, starting with a surface, then a zone, then a layout wold be more logical, building up the pieces, But maybe that's just me. Either way, it's much easier to understand.
Freex is offline   Reply With Quote
Old 02-14-2018, 12:17 PM   #717
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

If I'm correct in my understanding, should the diagrams not look like this?

Last edited by Freex; 09-01-2019 at 04:23 PM.
Freex is offline   Reply With Quote
Old 02-14-2018, 12:47 PM   #718
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by Freex View Post
If I'm correct in my understanding, should the diagrams not look like this?
Not quite, you can have separate Action/FX Template files for each Real Surface in a given zone.

I've just posted an update: https://stash.reaper.fm/32907/CSI%20...0Structure.zip

Maybe it's more clear now, please let me know.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote
Old 02-14-2018, 12:56 PM   #719
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 593
Default

Quote:
Originally Posted by Geoff Waddington View Post
Not quite, you can have separate Action/FX Template files for each Real Surface in a given zone.

I've just posted an update: https://stash.reaper.fm/32907/CSI%20...0Structure.zip

Maybe it's more clear now, please let me know.

Am I correct that a template can span both surfaces in a given zone and anywhere in between.
Which is not instantly obvious by the diagrams, was my thinking.

It's no biggy either way, as the rest of the pdf makes everything clear anyway.

Just that old saying a picture's worth a 1000 words...lol.

Last edited by Freex; 02-14-2018 at 01:04 PM.
Freex is offline   Reply With Quote
Old 02-14-2018, 01:07 PM   #720
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,060
Default

Quote:
Originally Posted by Freex View Post
Am I correct that a template can span both surfaces in a given zone and anywhere in between.
Which is not instantly obvious by the diagrams, was my thinking.
Ah, gotcha, yes it can but it is accomplished in a different way than you might think.

When you say template you are probably thinking of something like all the parameters of a particular FX.

However there is nothing that says you can't have two partial templates, one partial template for one of the real surfaces and the other partial template for the other real surface.

That way you retain the flexibility of templates per Real Surface, but still allow for Action/FX Templates spanning Real Surfaces within a Zone.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki

Last edited by Geoff Waddington; 02-14-2018 at 01:12 PM.
Geoff Waddington is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


All times are GMT -7. The time now is 10:15 PM.


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