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

Reply
 
Thread Tools Display Modes
Old 06-25-2019, 11:49 AM   #3201
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by MixMonkey View Post
Actually I only envisioned radio button use in circumstances that were already mutually exclusive.

You can only be on one Page at a time, or in one automation mode. A channel or channels can't be Read and Write at the same time and Reaper and the current presses achieve that.

All 'radio buttons' means in this scenario is that only one of the LEDs will be illuminated, indicating the current mode. So when you press Read, say, whatever previous LED is lit switches off and Read lights.

This is really more to do with LEDs than anything more involved. We just need a way of defining a group of presses and their associated LEDs and saying 'only the LED for the current press is lit, all the others are off'

I haven't paid much attention to the surface defs in a while, it might already be possible using multiple FB messages for each press.
I think this is due to the way CSI handles Reaper actions. For me, all widgets assigned to Reaper actions (AND if the widget has feedback) will have the feedback light lit constantly. So automation modes are all lit because the zon file has these widgets assigned to Reaper actions. My metronome widget is also permalit. Same with a few others. I also assigned some stuff to the C4 and got the same thing. For instance I have an action to close all FX windows assigned to LOCK, and that led is always lit on the C4.
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-25-2019, 12:30 PM   #3202
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by poetnprophet View Post
I think this is due to the way CSI handles Reaper actions. For me, all widgets assigned to Reaper actions (AND if the widget has feedback) will have the feedback light lit constantly. So automation modes are all lit because the zon file has these widgets assigned to Reaper actions. My metronome widget is also permalit. Same with a few others. I also assigned some stuff to the C4 and got the same thing. For instance I have an action to close all FX windows assigned to LOCK, and that led is always lit on the C4.
On my system, if the Reaper action assigned to a FB button is a simple toggle eg Cycle on/off, Click on/off, the LED works correctly.

Any other sort of Reaper action and the light stays on permanently.

Edit: Actually it looks like Reaper ONLY sends a MIDI message OUT when the button is a toggle. When you push Read, you see two MIDI in messages, but nothing comes back out.

Last edited by MixMonkey; 06-25-2019 at 12:48 PM.
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 12:49 PM   #3203
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Actually I only envisioned radio button use in circumstances that were already mutually exclusive.

You can only be on one Page at a time, or in one automation mode. A channel or channels can't be Read and Write at the same time and Reaper and the current presses achieve that.

All 'radio buttons' means in this scenario is that only one of the LEDs will be illuminated, indicating the current mode. So when you press Read, say, whatever previous LED is lit switches off and Read lights.

This is really more to do with LEDs than anything more involved. We just need a way of defining a group of presses and their associated LEDs and saying 'only the LED for the current press is lit, all the others are off'

I haven't paid much attention to the surface defs in a while, it might already be possible using multiple FB messages for each press.
Cool, then we'll have 2 flavours:

Radio+someButton
Radio+someOtherButton
Radio+yetAnotherButton

These will just do the light thing -- the action "radiobuttonness" is built into Reaper's state handling.


RadioZone+someButton
RadioZone +someOtherButton
RadioZone +yetAnotherButton

These will do the light thing, PLUS the zone activate/deactivate thing.

There will be a (what i consider) a very slight) restriction -- only one Radio group per zone.

If you need 2 or more radio groups, just make extra Zone files that get included, seems like a reasonable tradeoff, what do you think ?
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-25-2019, 12:51 PM   #3204
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post
Cool, then we'll have 2 flavours:

Radio+someButton
Radio+someOtherButton
Radio+yetAnotherButton

These will just do the light thing -- the action "radiobuttonness" is built into Reaper's state handling.


RadioZone+someButton
RadioZone +someOtherButton
RadioZone +yetAnotherButton

These will do the light thing, PLUS the zone activate/deactivate thing.

There will be a (what i consider) a very slight) restriction -- only one Radio group per zone.

If you need 2 or more radio groups, just make extra Zone files that get included, seems like a reasonable tradeoff, what do you think ?
Sounds good! I was wondering how it was going to work at all when Reaper doesn't send anything back out.
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 01:02 PM   #3205
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by poetnprophet View Post
I think this is due to the way CSI handles Reaper actions. For me, all widgets assigned to Reaper actions (AND if the widget has feedback) will have the feedback light lit constantly. So automation modes are all lit because the zon file has these widgets assigned to Reaper actions. My metronome widget is also permalit. Same with a few others. I also assigned some stuff to the C4 and got the same thing. For instance I have an action to close all FX windows assigned to LOCK, and that led is always lit on the C4.
Yeah, the whole Reaper actions thing is somewhat hit and miss, I use CycleTimeline Action -- the lights work fine, also I use the numbered Reaper Action for the Click and it works fine, but some others don't -- we'll work through cleaning that up down the road -- don't forget a lot of that is open source
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-25-2019, 01:15 PM   #3206
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

A couple of updates on the C4/plugin mapping front:

i) Waves plugins behave much better when using the VST3 version (with VST2 some controls don't work correctly and 3 way controls not at all)

Also with Waves VST3, there seems to be a weird bug where the surface controls stop working the screen controls, but the screen controls still work the surface. Not sure what triggers it yet and the only way to get it back is to delete the track and recreate it.

ii) GoZone and GoSubZone working nicely for plugins that have too many parameters to fit on one 'layer' No crashes switching backwards and forwards between Zone and SubZone now.

iii) CSI recognises plugin renames. Massively useful function if you make use of a wrapper/chainer like BlueCat Patchwork.

You can create multiple single plugin fx chains, rename the plugin inside and have a different FX map called for each one.

Or when a plugin has different modes or models, where putting all the controls on the surface together would be confusing, you can create different FX chains with the same single plugin in each, but renamed in the chain and with the mode/model set appropriately.

I did this with Relab's LX480. The three modes are: Reverb, Ambience and Twin Delays. Three FX chains, same plugin, three different names, three different FX maps. Each map tailored to the particular mode.
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 02:12 PM   #3207
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
A couple of updates on the C4/plugin mapping front:

i) Waves plugins behave much better when using the VST3 version (with VST2 some controls don't work correctly and 3 way controls not at all)

Also with Waves VST3, there seems to be a weird bug where the surface controls stop working the screen controls, but the screen controls still work the surface. Not sure what triggers it yet and the only way to get it back is to delete the track and recreate it.

ii) GoZone and GoSubZone working nicely for plugins that have too many parameters to fit on one 'layer' No crashes switching backwards and forwards between Zone and SubZone now.

iii) CSI recognises plugin renames. Massively useful function if you make use of a wrapper/chainer like BlueCat Patchwork.

You can create multiple single plugin fx chains, rename the plugin inside and have a different FX map called for each one.

Or when a plugin has different modes or models, where putting all the controls on the surface together would be confusing, you can create different FX chains with the same single plugin in each, but renamed in the chain and with the mode/model set appropriately.

I did this with Relab's LX480. The three modes are: Reverb, Ambience and Twin Delays. Three FX chains, same plugin, three different names, three different FX maps. Each map tailored to the particular mode.
Wow, you keep takin' it up to notches unknown to man, fabulous work !

Thank for showing off the versatility.

I know it's too early to ask this question, but...

Have you come up with a use case that you couldn't accomplish/was very awkward ?

I'm itchin' to get started with OSC integration, will still chip away at things like radio buttons, meter calibration, etc., but hopefully will finally be able to put some effort into OSC if the new architecture seems sufficient, at least for now.

What do you think folks ?
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-25-2019, 03:57 PM   #3208
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post
Have you come up with a use case that you couldn't accomplish/was very awkward ?
Not really, but the presence of the C4 makes things much easier When I get a chance I'll strip it back to just an MCU and see how far I get

Did the SyncZones thing get resolved?, be good if the sends could appear on just one surface's faders rather than all of them (though I guess that's not a problem with just the MCU and nothing else )

Radio buttons will make the surface easier to interpret (eg Read/Write/Trim etc)

FFWD and REW have never worked properly, in the sense that Reaper only moves a little back or forward with each push. I'm more of a marker type guy and the jog wheel is ok, so it doesn't really bother me, but others might feel differently.

All in all, the damn thing is so flexible when combined with Reaper's already considerable versatility, the main problem is trying to pin down the best workflow amongst all the alternatives

Really terrific work Geoff! Thanks for taking the time to make all this possible
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 04:02 PM   #3209
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by MixMonkey View Post
A couple of updates on the C4/plugin mapping front:

i) Waves plugins behave much better when using the VST3 version (with VST2 some controls don't work correctly and 3 way controls not at all)

Also with Waves VST3, there seems to be a weird bug where the surface controls stop working the screen controls, but the screen controls still work the surface. Not sure what triggers it yet and the only way to get it back is to delete the track and recreate it.

ii) GoZone and GoSubZone working nicely for plugins that have too many parameters to fit on one 'layer' No crashes switching backwards and forwards between Zone and SubZone now.

iii) CSI recognises plugin renames. Massively useful function if you make use of a wrapper/chainer like BlueCat Patchwork.

You can create multiple single plugin fx chains, rename the plugin inside and have a different FX map called for each one.

Or when a plugin has different modes or models, where putting all the controls on the surface together would be confusing, you can create different FX chains with the same single plugin in each, but renamed in the chain and with the mode/model set appropriately.

I did this with Relab's LX480. The three modes are: Reverb, Ambience and Twin Delays. Three FX chains, same plugin, three different names, three different FX maps. Each map tailored to the particular mode.
Now this is interesting, I don't suppose you could post a couple of zon files or even project screenies that show how this works? I'm almost able to follow...
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-25-2019, 04:05 PM   #3210
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by MixMonkey View Post
Not really, but the presence of the C4 makes things much easier When I get a chance I'll strip it back to just an MCU and see how far I get

Did the SyncZones thing get resolved?, be good if the sends could appear on just one surface's faders rather than all of them (though I guess that's not a problem with just the MCU and nothing else )

Radio buttons will make the surface easier to interpret (eg Read/Write/Trim etc)

FFWD and REW have never worked properly, in the sense that Reaper only moves a little back or forward with each push. I'm more of a marker type guy and the jog wheel is ok, so it doesn't really bother me, but others might feel differently.

All in all, the damn thing is so flexible when combined with Reaper's already considerable versatility, the main problem is trying to pin down the best workflow amongst all the alternatives

Really terrific work Geoff! Thanks for taking the time to make all this possible
If it means anything, I have had to use Reaper actions for FF/REW, also subject to the permalit button feedback.
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-25-2019, 04:07 PM   #3211
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

While we're on the subject of new features, I think a Klinke style folder implementation would be top of a lot of peoples list. Not sure how difficult that is.
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 04:08 PM   #3212
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by poetnprophet View Post
Now this is interesting, I don't suppose you could post a couple of zon files or even project screenies that show how this works? I'm almost able to follow...
Which bit ?
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 04:09 PM   #3213
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by poetnprophet View Post
If it means anything, I have had to use Reaper actions for FF/REW, also subject to the permalit button feedback.
Thanks I'll give that a try
MixMonkey is offline   Reply With Quote
Old 06-25-2019, 04:12 PM   #3214
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Not really, but the presence of the C4 makes things much easier When I get a chance I'll strip it back to just an MCU and see how far I get
Yeah, major shout out to you from me and the whole community on your testing work and fabulous .zon files

Quote:
Originally Posted by MixMonkey View Post
Did the SyncZones thing get resolved?, be good if the sends could appear on just one surface's faders rather than all of them (though I guess that's not a problem with just the MCU and nothing else )
I think I used to have a semi workaround where if you selected on the surface we could get ZoneLink to work, I'll look into that.

Quote:
Originally Posted by MixMonkey View Post
Radio buttons will make the surface easier to interpret (eg Read/Write/Trim etc)
Yup, gonna have a look at that one.

Quote:
Originally Posted by MixMonkey View Post
FFWD and REW have never worked properly, in the sense that Reaper only moves a little back or forward with each push. I'm more of a marker type guy and the jog wheel is ok, so it doesn't really bother me, but others might feel differently.
Yeah, along with Jog and Shuttle...

Quote:
Originally Posted by MixMonkey View Post
All in all, the damn thing is so flexible when combined with Reaper's already considerable versatility, the main problem is trying to pin down the best workflow amongst all the alternatives
Now THAT makes my day !!, Thanks !!

That's the sign of project success, when not only can you achieve what you want, there are various ways depending on context, workflow, etc.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-25-2019, 05:48 PM   #3215
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

New build is up.

If you use the select buttons on the Control Surface, ZoneLink now respected -- I think
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-25-2019, 08:27 PM   #3216
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by MixMonkey View Post
Which bit ?
well, specifically about naming plugins and creating zones for those names. I guess it's just the same name as the new name, just in quotes?
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-25-2019, 08:40 PM   #3217
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by MixMonkey View Post
While we're on the subject of new features, I think a Klinke style folder implementation would be top of a lot of peoples list. Not sure how difficult that is.
There is a Reaper action called: Mixer: toggle show tracks in folders. This will basically toggle folder mode.

There is also the action: Mixer: Show/hide children of selected tracks. But this will not work with the above action.

So I don't know how it was done but it can't be easy.
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-26-2019, 02:24 AM   #3218
KarlGrimmMusic
Human being with feelings
 
Join Date: Jun 2019
Posts: 3
Default

I started digging a little deeper into possible actions to make the folder thing work. I need to look a little closer but I found that the action list actually has "klinke" actions in it so I am going to try and see if there is a way to custom action my way into a folder system.

I apologize if I missed this. But has button hold functions been added to functionality yet?

Also I on my X-touch the read/trim/write/etc section is always lit up instead of toggling on/off. Is this a known bug? I can copy the .mst when I am home later if needed. But it is just the stock MCU.mst
KarlGrimmMusic is offline   Reply With Quote
Old 06-26-2019, 02:40 AM   #3219
uksnowy
Human being with feelings
 
uksnowy's Avatar
 
Join Date: Feb 2008
Location: 6950 DK
Posts: 426
Default

@poetnprophet

I see on your website you use an Icon controller. I use the Icon ProG2.. Would your map work with my controller? Just trying to save myself some work..
__________________
REAPING HAVOC SINCE 2008
uksnowy is offline   Reply With Quote
Old 06-26-2019, 02:56 AM   #3220
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by poetnprophet View Post
well, specifically about naming plugins and creating zones for those names. I guess it's just the same name as the new name, just in quotes?
Yep, that's right. Rename the plugin in an FX chain window and save the FX chain. Then when you want to use the plugin, load the FX chain instead of using the main plugin selector window. All the settings you made before saving the FX chain will be recalled, including the name.

Use the new name in the Zone, in quotes, and that Zone will be called when the FX chain is opened. It's a good way of breaking down gigantic, do everything plugins into digestible chunks.
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 02:59 AM   #3221
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by KarlGrimmMusic View Post
I apologize if I missed this. But has button hold functions been added to functionality yet?
Not sure, but I think it may be still broken.

Quote:

Also I on my X-touch the read/trim/write/etc section is always lit up instead of toggling on/off. Is this a known bug? I can copy the .mst when I am home later if needed. But it is just the stock MCU.mst
This is known and hopefully will be rectified with Geoff's RadioButton implementation.
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 03:06 AM   #3222
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by uksnowy View Post
@poetnprophet

I see on your website you use an Icon controller. I use the Icon ProG2.. Would your map work with my controller? Just trying to save myself some work..
Icon Pro G2 has a Mackie emulation mode, should work fine Try it
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 07:09 AM   #3223
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Geoff, could you explain the significance of the IncludedZones / IncludedZonesEnd construct?

My MCU.zon looks like this:
Code:
Zone Home
	OnTrackSelection MapSelectedTrackSendsToWidgets
	IncludedZones
		Buttons
		Channel|1-8
	IncludedZonesEnd
ZoneEnd

Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd

Zone Buttons
	Send ToggleShouldMapSends
        ChannelLeft TrackBank -1
	ChannelRight TrackBank 1
	BankLeft TrackBank -8
	BankRight TrackBank 8
	Rewind Rewind
	FastForward FastForward
	Stop Stop
	Play Play
	Record Record
	F1 NextPage
	F7 PinSelectedTracks
	F8 UnpinSelectedTracks

	smpteBeats CycleTimeDisplayModes
	TimeDisplay TimeDisplay

	Read Reaper 40401
	Write Reaper 40403
	Trim Reaper 40400
	Touch Reaper 40402
	Latch Reaper 40404
	Group Reaper 42023

	Shift+Read Reaper 40086
	Shift+Write Reaper 40090
	Shift+Trim Reaper 40088
	Shift+Touch Reaper 40087
	Shift+Latch Reaper 40266
	Shift+Group Reaper 42024

	Save Reaper 40026
	Shift+Save Reaper 40022

	Undo Reaper 40029
	Shift+Undo Reaper 40030

	Shift Shift
	Option Option
	Control Control
	Alt Alt

	Marker Reaper 40172
	Shift+Marker Reaper 40157
	Option+Marker Reaper 40174

	Nudge Reaper 40173
	Cycle CycleTimeline
	Click Reaper 40364
	Solo Reaper 41818

	JogWheelRotaryCW Reaper 40647
	JogWheelRotaryCCW Reaper 40646

	MasterFader MasterTrackVolume
ZoneEnd


Zone Channel|1-8
	TrackNavigator
	DisplayUpper|  TrackNameDisplay
	DisplayLower|  TrackPanDisplay
	TrackTouch+ DisplayLower| TrackVolumeDisplay
	RotaryPush| TrackCycle PanWidthCycle 2
	PanWidthCycle+Rotary| TrackPan 0
	PanWidthCycle+Rotary| TrackPanWidth 1
	RecordArm|  TrackRecordArm
	Solo|  TrackSolo
	Mute| TrackMute
	Select|  TrackUniqueSelect
	Shift+Select|  TrackRangeSelect
	Control+Select|  TrackSelect
	Fader|  TrackVolume
	TrackTouch+Fader|  TrackVolume
	FaderTouch|  TrackTouch
ZoneEnd
Why does Zone Send|1-8 work, when it's not included in ZoneHome?

Incidentally, I found a solution to the sends appearing across all the surfaces. I created an MCU_XT.zon file and left out the OnTrackSelection MapSelectedTrackSendsToWidgets line (and all the extra MCU buttons)

Now the sends just appear on the MCU faders, not on any of the XTs.
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 07:39 AM   #3224
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Geoff, could you explain the significance of the IncludedZones / IncludedZonesEnd construct?

My MCU.zon looks like this:
Code:
Zone Home
	OnTrackSelection MapSelectedTrackSendsToWidgets
	IncludedZones
		Buttons
		Channel|1-8
	IncludedZonesEnd
ZoneEnd

Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd

Zone Buttons
	Send ToggleShouldMapSends
        ChannelLeft TrackBank -1
	ChannelRight TrackBank 1
	BankLeft TrackBank -8
	BankRight TrackBank 8
	Rewind Rewind
	FastForward FastForward
	Stop Stop
	Play Play
	Record Record
	F1 NextPage
	F7 PinSelectedTracks
	F8 UnpinSelectedTracks

	smpteBeats CycleTimeDisplayModes
	TimeDisplay TimeDisplay

	Read Reaper 40401
	Write Reaper 40403
	Trim Reaper 40400
	Touch Reaper 40402
	Latch Reaper 40404
	Group Reaper 42023

	Shift+Read Reaper 40086
	Shift+Write Reaper 40090
	Shift+Trim Reaper 40088
	Shift+Touch Reaper 40087
	Shift+Latch Reaper 40266
	Shift+Group Reaper 42024

	Save Reaper 40026
	Shift+Save Reaper 40022

	Undo Reaper 40029
	Shift+Undo Reaper 40030

	Shift Shift
	Option Option
	Control Control
	Alt Alt

	Marker Reaper 40172
	Shift+Marker Reaper 40157
	Option+Marker Reaper 40174

	Nudge Reaper 40173
	Cycle CycleTimeline
	Click Reaper 40364
	Solo Reaper 41818

	JogWheelRotaryCW Reaper 40647
	JogWheelRotaryCCW Reaper 40646

	MasterFader MasterTrackVolume
ZoneEnd


Zone Channel|1-8
	TrackNavigator
	DisplayUpper|  TrackNameDisplay
	DisplayLower|  TrackPanDisplay
	TrackTouch+ DisplayLower| TrackVolumeDisplay
	RotaryPush| TrackCycle PanWidthCycle 2
	PanWidthCycle+Rotary| TrackPan 0
	PanWidthCycle+Rotary| TrackPanWidth 1
	RecordArm|  TrackRecordArm
	Solo|  TrackSolo
	Mute| TrackMute
	Select|  TrackUniqueSelect
	Shift+Select|  TrackRangeSelect
	Control+Select|  TrackSelect
	Fader|  TrackVolume
	TrackTouch+Fader|  TrackVolume
	FaderTouch|  TrackTouch
ZoneEnd
Why does Zone Send|1-8 work, when it's not included in ZoneHome?
IncludeZones is just shorthand syntax.

Otherwise you would be stuck with things like this:
Code:
goHomeButton GoZone Buttons
goHomeButton GoZone Channel1
goHomeButton GoZone Channel2
goHomeButton GoZone Channel3
goHomeButton GoZone Channel4
goHomeButton GoZone Channel5
goHomeButton GoZone Channel6
goHomeButton GoZone Channel7
goHomeButton GoZone Channel8
Ughhh

So, there is really a great big Zone called Home composed of the Zones listed above.

Sends is a separate Zone, we don't want to:
Code:
goHomeButton GoZone Sends
We want the Sends Zone to overlay the Home Zone when activated by some Button (e.g. goSendsButton), temporarily changing the Widget mappings.

Them when we go Home we want all the Zones that comprise Home to be activated.

Just a very simple, handy, container, Included Zones are

Quote:
Originally Posted by MixMonkey View Post
Incidentally, I found a solution to the sends appearing across all the surfaces. I created an MCU_XT.zon file and left out the OnTrackSelection MapSelectedTrackSendsToWidgets line (and all the extra MCU buttons)

Now the sends just appear on the MCU faders, not on any of the XTs.
Cool !

The latest build has a partial fix -- if you select from Surface ZoneLink is taken into account -- at least I think so, can you test at your convenience ?
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 08:23 AM   #3225
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post
IncludeZones is just shorthand syntax.
OK, I think I see. So it's really only for use in the Zone Home context?

What I've been trying to do is get the sends to appear on the MCU faders when I press the sends button, but not on the C4.

And when I press SpotErase on the C4 to have the sends appear on the C4, but not on the MCU.

Here's my C4.zon:
Code:
Zone Home
OnFXFocus MapFocusedTrackFXToWidgets
OnTrackSelection MapSelectedTrackSendsToWidgets
/
SpotErase ToggleShouldMapSends
SlotUp Reaper _fba48393e4ca48f88d11cba0e4671ab3
SlotDown Reaper _265b374bdcd740f7af4550cd986e4e9c
TrackL Reaper _S&M_WNONLY1
TrackR Reaper _S&M_WNONLY2
Split Reaper _S&M_WNCLS3
BankLeft TrackBank -24
BankRight TrackBank 24
ChannelLeft TrackBank -1
ChannelRight TrackBank 1
ZoneEnd
/
Zone Send|1-8
	DisplayUpperD|  TrackSendNameDisplay
	DisplayLowerD|  TrackSendVolumeDisplay
	RotaryPushD| TrackSendMute
	RotaryD|  TrackSendVolume
ZoneEnd
At the moment, pressing either Send or SpotErase makes the Sends appear on both MCU Faders and C4 D row Rotaries.

I was thinking I could make a C4 Sends Zone, so that the MCU (in Home) didn't change. Does that sound realistic?

Quote:
The latest build has a partial fix -- if you select from Surface ZoneLink is taken into account -- at least I think so, can you test at your convenience ?
Seems to behave the same as before, with the sends appearing on all the surfaces faders instead of just the surface with the selected track. No biggie, quite happy with the sends appearing on just the MCU using my bodge

Is ZoneLink the same as Synch Zones Across Surfaces? Should this be checked or unchecked?
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 08:44 AM   #3226
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
OK, I think I see. So it's really only for use in the Zone Home context?
Well, that will be the most used i'd be willing to bet

But lets say you wanted Sends to take over a subset of the Buttons Zone, you could have something like this:

Code:
Zone Sends
	IncludedZones
		SendButtons
		Send|1-8
	IncludedZonesEnd
ZoneEnd

Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd

Zone SendButtons
        ChannelLeft TrackSendBank -1
	ChannelRight TrackSendBank 1
	BankLeft TrackSendBank -8
	BankRight TrackSendBank 8
ZoneEnd
Quote:
Originally Posted by MixMonkey View Post
What I've been trying to do is get the sends to appear on the MCU faders when I press the sends button, but not on the C4.

And when I press SpotErase on the C4 to have the sends appear on the C4, but not on the MCU.

Here's my C4.zon:
Code:
Zone Home
OnFXFocus MapFocusedTrackFXToWidgets
OnTrackSelection MapSelectedTrackSendsToWidgets
/
SpotErase ToggleShouldMapSends
SlotUp Reaper _fba48393e4ca48f88d11cba0e4671ab3
SlotDown Reaper _265b374bdcd740f7af4550cd986e4e9c
TrackL Reaper _S&M_WNONLY1
TrackR Reaper _S&M_WNONLY2
Split Reaper _S&M_WNCLS3
BankLeft TrackBank -24
BankRight TrackBank 24
ChannelLeft TrackBank -1
ChannelRight TrackBank 1
ZoneEnd
/
Zone Send|1-8
	DisplayUpperD|  TrackSendNameDisplay
	DisplayLowerD|  TrackSendVolumeDisplay
	RotaryPushD| TrackSendMute
	RotaryD|  TrackSendVolume
ZoneEnd
At the moment, pressing either Send or SpotErase makes the Sends appear on both MCU Faders and C4 D row Rotaries.

I was thinking I could make a C4 Sends Zone, so that the MCU (in Home) didn't change. Does that sound realistic?



Seems to behave the same as before, with the sends appearing on all the surfaces faders instead of just the surface with the selected track. No biggie, quite happy with the sends appearing on just the MCU using my bodge

Is ZoneLink the same as Synch Zones Across Surfaces? Should this be checked or unchecked?
Yes, you should uncheck "Synch Zones Across Surfaces" on all surfaces.

Then, you should be able to push select on a single surface and have only that surface affected.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 08:50 AM   #3227
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Well, easy to see why they bailed on automation feedback

Let's just stick with per Track based.

Select Track1
Select Trim
Trim lights up

Select Track2
Select Write
Write lights up

Select Track1
Trim lights up

Select Track2
Write lights up

Select Track1 AND Track2
Arggghhh !!

This is why programmers go crazy, especially if you extrapolate this out to many tracks selected

About the only solution that tells the truth is:

In our example
Trim lights up
Write lights up

If you then press Latch, Track1 and Track2 BOTH go to Latch.

Not perfect, but about was good as we can do.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 08:53 AM   #3228
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

This automation thing has highlighted a HUGE downside to the Radio buttons workaround -- you give up the "real" feedback from Reaper.

I'm going to back off the Radio buttons concept for now and see if we can do a better job by handling these issues on a case by case basis -- after all we have some Reaper actions that do provide the correct state feedback - I think metronome does...

I'll work automation first.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 09:11 AM   #3229
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post
About the only solution that tells the truth is:

In our example
Trim lights up
Write lights up

If you then press Latch, Track1 and Track2 BOTH go to Latch.

Not perfect, but about was good as we can do.
This sounds fine to me If you select tracks together that have different auto modes, more than one master auto mode light comes on- so you know there are tracks with different modes selected. If you then push a master auto mode button, Write say, ALL the selected tracks go into write and all the master auto mode lights go out apart from Write.

Quote:
Then, you should be able to push select on a single surface and have only that surface affected.
Thanks, I'll give this a try.
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 10:04 AM   #3230
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 726
Default

Quote:
Originally Posted by uksnowy View Post
@poetnprophet

I see on your website you use an Icon controller. I use the Icon ProG2.. Would your map work with my controller? Just trying to save myself some work..
Hey there, yes I think it would work. There are a few buttons on the Prox that aren't on the G2, but looks like majority are similar and I would assume have identical midi values (after all, they should both mimic the mcu the same).

I can post my zon and mst files later tonight for you to try.
__________________
https://www.kdubbproductions.com/
https://www.youtube.com/channel/UCpC...2dGA3qUWBKrXQQ
i7 8700k,4.9Ghz,Win10,Reaper 5,Motu 828es,MJE Hulk 990,GAP Pre73/EQ81
poetnprophet is offline   Reply With Quote
Old 06-26-2019, 10:26 AM   #3231
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post

Then, you should be able to push select on a single surface and have only that surface affected.
I don't see that behaviour here I'm afraid. Any of the XTs that contain:
Code:
Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd
in their .zon file get the sends spread over the channels.

I think I actually prefer it being restricted to the MCU (by not including the send zone in the MCU_XT.zon file)

It means if I want to have access to both a channel's fader and its sends simultaneously, I just have to make sure the track in question isn't showing on the MCU, but on one of the XTs instead.
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 10:43 AM   #3232
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Solved the mystery of the non-functional TrackTouch on MCU and MCU_XT.

In the .zon file:
Code:
TrackTouch+ DisplayLower|  TrackVolumeDisplay
Take out that space after + and all is well
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 12:01 PM   #3233
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,242
Default

Will the final format of the files allow for spaces surrounding syntactic characters ?

There also seemed to be a case somebody used a single slash to satrt a comment. I suppose a double slash is decently supported, no ?

-Michael
mschnell is offline   Reply With Quote
Old 06-26-2019, 12:54 PM   #3234
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Interesting discovery. If you have:
Code:
SomeButton ToggleShouldMapSends
you don't need:
Code:
OnTrackSelection MapSelectedTrackSendsToWidgets
As long as:
Code:
Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd
is in the surface's .zon file, the sends will map to the widgets when SomeButton is pressed (and toggle back when pressed again)
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 02:40 PM   #3235
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
I don't see that behaviour here I'm afraid. Any of the XTs that contain:
Code:
Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd
in their .zon file get the sends spread over the channels.

I think I actually prefer it being restricted to the MCU (by not including the send zone in the MCU_XT.zon file)

It means if I want to have access to both a channel's fader and its sends simultaneously, I just have to make sure the track in question isn't showing on the MCU, but on one of the XTs instead.
Uh-oh

Just realized that can never work with selected Track, because Reaper reports that you selected a Track.

Your solution is the right one for this use case.

"Synch Zones Across Surfaces" is still very useful for things like GoZone, GoSubZone, etc., where you can have a button press on one Surface cause Zone activation on more than one Surface.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 06-26-2019 at 03:08 PM.
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 02:41 PM   #3236
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Solved the mystery of the non-functional TrackTouch on MCU and MCU_XT.

In the .zon file:
Code:
TrackTouch+ DisplayLower|  TrackVolumeDisplay
Take out that space after + and all is well
Grrr... copy/paste errors, fixed here too, thanks
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 02:45 PM   #3237
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by mschnell View Post
Will the final format of the files allow for spaces surrounding syntactic characters ?
Nope, you need to adhere to the strict syntax, except in cases where you can surround things in quotes -- VST names, etc.

The CSI parser splits tokens based on spaces.

Quote:
Originally Posted by mschnell View Post
There also seemed to be a case somebody used a single slash to satrt a comment. I suppose a double slash is decently supported, no ?

-Michael
Of course, if a line starts with a single slash followed by anything, including another slash, it is a comment line.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 02:47 PM   #3238
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Interesting discovery. If you have:
Code:
SomeButton ToggleShouldMapSends
you don't need:
Code:
OnTrackSelection MapSelectedTrackSendsToWidgets
As long as:
Code:
Zone Send|1-8
	DisplayUpper|  TrackSendNameDisplay
	TrackTouch+DisplayUpper|  TrackSendVolumeDisplay
	Mute| TrackSendMute
	Fader|  TrackSendVolume
	TrackTouch+Fader|  TrackSendVolume
	FaderTouch|  TrackTouch
ZoneEnd
is in the surface's .zon file, the sends will map to the widgets when SomeButton is pressed (and toggle back when pressed again)
Yup, need to work on the docs, need to work on the docs...
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 06-26-2019, 04:25 PM   #3239
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 411
Default

Quote:
Originally Posted by Geoff Waddington View Post
"Synch Zones Across Surfaces" is still very useful for things like GoZone, GoSubZone, etc., where you can have a button press on one Surface cause Zone activation on more than one Surface.
Couple of questions. Is there any way I restrict the C4 buttons to just the C4? So that other surfaces that have the Zone Send|1-8 definition don't activate.

Also, can SubZones be used in circumstances other than the FX maps? (to produce a Zone that gets de-activated when it's parent does) I'm thinking about maybe not having the C4 in the Home zone at all, to try and isolate it from the other surfaces. Probably a crazy idea...
MixMonkey is offline   Reply With Quote
Old 06-26-2019, 04:34 PM   #3240
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,029
Default

Quote:
Originally Posted by MixMonkey View Post
Couple of questions. Is there any way I restrict the C4 buttons to just the C4? So that other surfaces that have the Zone Send|1-8 definition don't activate.
Yes, if you don't have TrackSelection or FocusFX involved, you should be able to uncheck Synch Zones Across Surfaces on the C4.

Quote:
Originally Posted by MixMonkey View Post
Also, can SubZones be used in circumstances other than the FX maps? (to produce a Zone that gets de-activated when it's parent does)
Yes, of course, anywhere you want.

Quote:
Originally Posted by MixMonkey View Post
I'm thinking about maybe not having the C4 in the Home zone at all, to try and isolate it from the other surfaces. Probably a crazy idea...
Hope not, that's exactly what I do with the Console1

If no Tracks are selected the Console1 just zeros everything.
__________________
CSI - You can donate here: geoffwaddington.ca
Pre alpha software: https://stash.reaper.fm/v/33037/CSI%20pre%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
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 07:38 PM.


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