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

Reply
 
Thread Tools Display Modes
Old 02-12-2019, 04:47 PM   #2561
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by poetnprophet View Post
Nice, this is basically how the folder mode works when pressing/press+hold Select button that everyone is referring to
Cool
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-12-2019, 08:42 PM   #2562
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by jamesd256 View Post
I removed the CSI folder and the dll and started with a fresh project, and now the EQ and comp are both responding again. If this is repeatable I have a way to proceed.
I've just checked out the files I posted with a new, completely vanilla, portable Reaper install.

I put the BCR2000 into U-4 mode (I use USB, it's S-4 if you use MIDI) and sent the sysex using MIDIOX (slow but reliable) The BCR LED did its circular thing showing it's receiving the sysex file. I saved the data into patch 1.

I created a CSI folder in the Reaper resource folder containing the fxt, axt and mst folders ( I didn't copy the folders from the CSI download) and populated them with the files from my BCR2000mk2 download.

I put the reaper_csurf_integrator64.dll in UserPlugins folder in the Reaper resource folder.

I opened Reaper, opened the Preferences window and the Control/OSC/Web option and added Control Surface Integrator. I selected it, hit edit and added one Page 'Tracks'.

Within that page I added the BCR2000 (Click Add MIDI) selected the appropriate MIDI in and MIDI out choices and made the selections for: Surface (BCR2000mk2.mst), Action (BCR2000mk2.axt) and FX (BCR2000mk2(this one's a folder)

I clicked OK all the way out of the Preferences window and quit Reaper (a bug in the windows version of CSI causes the plugin to stop working after changes are made to it's setup in the Control/OSC/Web prefs)

I started Reaper again, created a new project and added 8 tracks, one by one. As each track was added, the LED ring around the top row of encoders (to the immediate left of the LED display) lit half way (ie LEDs from 6 o'clock to 12 o'clock were on)

As Group 1 was selected on the BCR2000, the top row of encoders were controlling channel pan. The half way lit LED ring shows pan was at centre.

A single LED on each of the bottom row of controllers came on to represent the channel fader at zero. Channel level is controlled by this row of encoders.

The upper row of buttons control channel mute, the lower row, solo. The top row encoder push selects that channel (in Group 1)

I created 3 sends on a track and selected Group 2 on the BCR2000. Now the top row encoders control send level and the encoder push controls send mute. Initially send 1 is controlled across the tracks, but using the lower 2 User Buttons (bottom right on the BCR2000) you can step back and forward through the sends on a track (using the push to mute a send is a good way to remind yourself which send you are controlling)

I added a ReaEQ to a track and when its window opened, LEDs on the middle two rows of encoders lit to indicate FX parameters available for control. The lower row has EQ Gain on controls 1,3,5 and 7. The upper row has EQ Freq and Q for 4 bands across 8 controls

I selected all the tracks I had created and duplicated them 3 times. Now you can use the upper two User Buttons to bank across the tracks in jumps of 8.

Group 3 also controls channel pan, but this time the push toggles between Pan and Width.

And that's about it

If you want to gain an understanding of how the mapping works, I would suggest opening the .mst file and .axt files next to each other in text editor windows and see how the various actions are mapped to the controls and the controls have their messages defined.

The same goes for fxt files- check out how the FX parameters are mapped to controls.

Once you get the idea, you can edit the axt/fxt files to change what the buttons and encoders control and bend the setup to suit your own way of working.

You can find my setup files here: https://stash.reaper.fm/v/35379/BCR2000mk2.zip

Last edited by MixMonkey; 02-13-2019 at 06:24 AM. Reason: Added link to setup files
MixMonkey is offline   Reply With Quote
Old 02-12-2019, 11:06 PM   #2563
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 8,057
Default

Great !
There recently were a bunch of questions regarding the BCR2000 in several forums. I hope they will find your message here !!!

-Michael
mschnell is online now   Reply With Quote
Old 02-13-2019, 03:22 AM   #2564
jamesd256
Human being with feelings
 
jamesd256's Avatar
 
Join Date: Dec 2015
Location: Folkestone
Posts: 160
Default

Quote:
Originally Posted by MixMonkey View Post

Once you get the idea, you can edit the axt/fxt files to change what the buttons and encoders control and bend the setup to suit your own way of working.
Thanks for that detailed run through. Just to be clear, from you first BCR config through to now, I've never had any trouble getting this set up and working. I am also now very familiar with the contents of all the files by now

What I've been trying to communicate is that AFTER getting this set up and working the problems start. Especially when using BCR in conjunction with BCF in MCU mode.

Once it is all working, I have found that for no apparent reason, the FX will stop responding to the BCR. It's not a mapping or set up issue, as it worked just before.
Starting again from scratch with new install of CSI, BCR and new project so far is the only way I can guarantee getting it all working again.

This makes it frustrating and slow to develop mappings and scripts around CSI as I routinely find it stops working.

What would be really great is a way for me to help debug this, because I'm running blind. I don't know whether extension development easily permits writing to a log, but that would be ideal, and we could use a CSI.ini param to set the log level.
jamesd256 is offline   Reply With Quote
Old 02-13-2019, 04:31 AM   #2565
dixo
Human being with feelings
 
dixo's Avatar
 
Join Date: May 2011
Posts: 83
Default

Man! I don't look at this thread for one week (one has to make music too) and everything has changed!

The proposed syntax changes look great, they make a lot of sense and the config is becoming more logical and readable.

Great work Geoff! I can't wait to try all of this good stuff out!

I was working on a BCR configuration myself, but I will gladly steal yours, MixMonkey! Thanks for all your work!
dixo is offline   Reply With Quote
Old 02-13-2019, 06:09 AM   #2566
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Further to the Widget takeover post a few back...

Let's talk DrillDown.

Obviously DrillDown needs a different rule than the Topmost Navigator, because it implies a stack based approach.

So, let's do the obvious, simple thing.

For now at least, DrillDown Navigators have exactly the same Widgets as their parent.

They may not use all of them, but they can never use more/different Widgets than are in their parent.

Seems to me not overly constraining, what do you think ?
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 06:10 AM   #2567
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by dixo View Post
Man! I don't look at this thread for one week (one has to make music too) and everything has changed!

The proposed syntax changes look great, they make a lot of sense and the config is becoming more logical and readable.

Great work Geoff! I can't wait to try all of this good stuff out!

I was working on a BCR configuration myself, but I will gladly steal yours, MixMonkey! Thanks for all your work!
Thanks, yeah the navigation stuff is finally starting to come together
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 06:44 AM   #2568
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by jamesd256 View Post
What I've been trying to communicate is that AFTER getting this set up and working the problems start. Especially when using BCR in conjunction with BCF in MCU mode.
I see. Does the issue occur if you use the BCR2000 on its own, without the BCF in the setup at all?

If you use them both together I suspect they will both be trying to control identical things- faders, pans etc. This shouldn't be a problem, but you never know.

If you just want to use the BCR2000 to just control FX, delete everything in BCR2000mk2.axt except the last line- TrackOnFocusedFX MapSingleFXToWidgetsForTrack. Then all the widgets will be available for FX control and nothing else will be controlled.

Did you manage to update the BCR2000 firmware to 1.10?

I've added BCR2000mk2.bcr to the download. I went with sysex because I thought it would be more 'universal' but if you're using BCManager (and you should be ) the file's there now.

Did you get a chance to test my BCF2000 setup? Can't do that here as I don't have a BCF2000.

Last edited by MixMonkey; 02-13-2019 at 07:04 AM. Reason: Clarification
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 07:01 AM   #2569
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
Hmmm...

We need some rules about Widget takeover -- aka clobbering -- aka knocking out
I meant 'knockout' more in the manner of a panel with 'knockouts'- scored circles or rectangles that can be pushed out to make holes. 'Widget takeover' is much better

Quote:
Rule: Navigators can't overlap
Agreed

Quote:
If Navigator1 has any Widgets in common with Navigator2, activating one automatically deactivates the other
How will it know if it shares widgets with another Navigator? (or is this a clever code thing, invisible to the user?)

Quote:
DrillDown Navigators have exactly the same Widgets as their parent
I concur, the more straightforward the better. I don't see this as being a limitation.

In any Navigator scenario, unused widgets should be non-functional and displays should be actively blanked when switching from one Navigator to another.

I think this is very important, because it will get confusing very quickly if there are 'leftovers' from the previous Navigator on the displays.
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 07:15 AM   #2570
jamesd256
Human being with feelings
 
jamesd256's Avatar
 
Join Date: Dec 2015
Location: Folkestone
Posts: 160
Default

Quote:
Originally Posted by MixMonkey View Post
I see. Does the issue occur if you use the BCR2000 on its own, without the BCF in the setup at all?

If you use them both together I suspect they will both be trying to control identical things- faders, pans etc. This shouldn't be a problem, but you never know.

If you just want to use the BCR2000 to just control FX, delete everything in BCR2000mk2.axt except the last line- TrackOnFocusedFX MapSingleFXToWidgetsForTrack. Then all the widgets will be available for FX control and nothing else will be controlled.

Did you manage to update the BCR2000 firmware to 1.10?

I've added BCR2000mk2.bcr to the download. I went with sysex because I thought it would be more 'universal' but if you're using BCManager (and you should be ) the file's there now.

Did you get a chance to test my BCF2000 setup? Can't do that here as I don't have a BCF2000.
Mostly I'll try to set up both BCF and BCR, because I'm highly motivated to have them working in tandem.

Controlling the same things is not an issue. The MCU fxt folder is empty. There may be some hex value overlap between the two, but they are different surfaces on different ports. I can't see this being the issue, especially since it's intermittent.

I'm working on mappings that work for me, and yes the BCR will be mostly for fx. However the issue has been 100% around fx control actually. For instance in MK2 the fader assignment was working at the same time as fx was broken.

I will try that line, thanks. I didn't try the BCF yet, as mentioned MCU is working great, but will happily try it to help yourself and others who might want to go down that route.

I'll try again with mk2 and the .bcr, thanks. I updated to 1.10 a while back. I don't expect you to memorise all my posts, and do appreciate your efforts to help.
jamesd256 is offline   Reply With Quote
Old 02-13-2019, 07:25 AM   #2571
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by jamesd256 View Post
Mostly I'll try to set up both BCF and BCR, because I'm highly motivated to have them working in tandem.
Yes, I appreciate that, but if you're trying to troubleshoot an issue you need to remove as many potential causes as you can to get to the problem.

Quote:
Controlling the same things is not an issue. The MCU fxt folder is empty. There may be some hex value overlap between the two, but they are different surfaces on different ports. I can't see this being the issue, especially since it's intermittent.
The fact that there may be some hex overlap isn't the point. The point is that the MCU.axt and the BCR2000mk2.axt will be trying to control the same parameters. It may not be the cause of the problem but it won't hurt to remove it as a possible cause.
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 07:26 AM   #2572
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by jamesd256 View Post
Mostly I'll try to set up both BCF and BCR, because I'm highly motivated to have them working in tandem.

Controlling the same things is not an issue. The MCU fxt folder is empty. There may be some hex value overlap between the two, but they are different surfaces on different ports. I can't see this being the issue, especially since it's intermittent.

I'm working on mappings that work for me, and yes the BCR will be mostly for fx. However the issue has been 100% around fx control actually. For instance in MK2 the fader assignment was working at the same time as fx was broken.

I will try that line, thanks. I didn't try the BCF yet, as mentioned MCU is working great, but will happily try it to help yourself and others who might want to go down that route.

I'll try again with mk2 and the .bcr, thanks. I updated to 1.10 a while back. I don't expect you to memorise all my posts, and do appreciate your efforts to help.
Make sure you get the latest CSI (Feb 11, I think), there was a fix in there that might affect you.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 07:31 AM   #2573
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by MixMonkey View Post
How will it know if it shares widgets with another Navigator? (or is this a clever code thing, invisible to the user?)
Clever code thing, only visible to the user when they screw up and make overlapping Zones

Quote:
Originally Posted by MixMonkey View Post
I concur, the more straightforward the better. I don't see this as being a limitation.

In any Navigator scenario, unused widgets should be non-functional and displays should be actively blanked when switching from one Navigator to another.

I think this is very important, because it will get confusing very quickly if there are 'leftovers' from the previous Navigator on the displays.
Agree 100% !!

This already happens with Track banking and that behaviour will be applied to everything that gets built, making sure to keep everything straightforward, clean and tidy!
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 07:37 AM   #2574
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
Clever code thing, only visible to the user when they screw up and make overlapping Zones
...and cct steps in to save them from themselves

Quote:
This already happens with Track banking and that behaviour will be applied to everything that gets built, making sure to keep everything straightforward, clean and tidy!
Great!
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 07:46 AM   #2575
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Playing around with DrillDown notation, the Zone below will be used as a sub Zone, hence the Back action assignment to Shift+RotaryPush1:

Code:
WidgetZone TrackSendParams
Shift+RotaryPush1 GoBack
Rotary1 TrackSendVolume
Rotary2 TrackSendPan
RotaryPush1 TrackSendPrePost
RotaryPush2 TrackSendStereoMono
RotaryPush3 TrackSendPhaseInvert
WidgetZoneEnd
Now we can add a way to get to the sub Zone from any Send context a la:

Code:
WidgetZone TrackSplaySends
Rotary1 TrackSendVolume
Rotary2 TrackSendVolume
Rotary3 TrackSendVolume
Rotary4 TrackSendVolume
Rotary5 TrackSendVolume
Rotary6 TrackSendVolume
Rotary7 TrackSendVolume
Rotary8 TrackSendVolume
RotaryPush1 TrackSendMute
RotaryPush2 TrackSendMute
RotaryPush3 TrackSendMute
RotaryPush4 TrackSendMute
RotaryPush5 TrackSendMute
RotaryPush6 TrackSendMute
RotaryPush7 TrackSendMute
RotaryPush8 TrackSendMute
Shift+RotaryPush1 WidgetZone TrackSendParams
Shift+RotaryPush2 WidgetZone TrackSendParams
Shift+RotaryPush3 WidgetZone TrackSendParams
Shift+RotaryPush4 WidgetZone TrackSendParams
Shift+RotaryPush5 WidgetZone TrackSendParams
Shift+RotaryPush6 WidgetZone TrackSendParams
Shift+RotaryPush7 WidgetZone TrackSendParams
Shift+RotaryPush8 WidgetZone TrackSendParams
WidgetZoneEnd

This is a surely contrived example, but I think it shows the concept, what do you think ?
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 02-13-2019 at 07:59 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 07:46 AM   #2576
jamesd256
Human being with feelings
 
jamesd256's Avatar
 
Join Date: Dec 2015
Location: Folkestone
Posts: 160
Default

Quote:
Originally Posted by MixMonkey View Post
Yes, I appreciate that, but if you're trying to troubleshoot an issue you need to remove as many potential causes as you can to get to the problem.



The fact that there may be some hex overlap isn't the point. The point is that the MCU.axt and the BCR2000mk2.axt will be trying to control the same parameters. It may not be the cause of the problem but it won't hurt to remove it as a possible cause.
Good advice, but if the issue doesn't happen when just using one device, there is not much more to do than try introducing the other.

Sorry I wasn't clearer. There is no direct overlap of the controls affected. This is what I meant by the MCU fxt folder is empty - with the BCR, there is no mapping to control FX, and FX is where all the issues lie. I will use what you've said over the last couple of posts to completely eliminiate any overlap issues by reducing until found.

I am not giving up, just making the comment it could be easier to debug with some logging.
jamesd256 is offline   Reply With Quote
Old 02-13-2019, 07:50 AM   #2577
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by jamesd256 View Post
Good advice, but if the issue doesn't happen when just using one device, there is not much more to do than try introducing the other.
So the issue doesn't occur with only the BCR2000 in the setup?
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 08:35 AM   #2578
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Hmmm, adding to the post a couple back....


Maybe we don't put subZones in Zones, but rather subNavigators in Navigators...

Or maybe Zones Contain Navigators...
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 08:37 AM   #2579
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
This is a surely contrived example, but I think it shows the concept, what do you think ?
I think this will work, it certainly shows the versatility of the Navigation.

So, when you enter the sub-zone, all that is on the 8 Rotaries is: Rotary1 SendXVolume, Rotary2 SendXPan, Push1 SendXPre/Post, Push2 SendXStereo/Mono and Push3 SendXPhaseInvert. Where X is the Send selected in the Previous Zone.

Rotaries 4-8 (previously Send4-8 SendVolume and Pushes4-8 SendMute) are non-functional with blank displays?
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 08:45 AM   #2580
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by MixMonkey View Post
I think this will work, it certainly shows the versatility of the Navigation.

So, when you enter the sub-zone, all that is on the 8 Rotaries is: Rotary1 SendXVolume, Rotary2 SendXPan, Push1 SendXPre/Post, Push2 SendXStereo/Mono and Push3 SendXPhaseInvert. Where X is the Send selected in the Previous Zone.

Rotaries 4-8 (previously Send4-8 SendVolume and Pushes4-8 SendMute) are non-functional with blank displays?
Actually I think rotaries 3-8 and Pushes 4-8 are non-functional, but yes, that's the idea.

Also, see a few posts back about Zones containing Navigators, I think it has the potential to be cleaner, syntax/verbosity wise.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 10:57 AM   #2581
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

By Jove, I think we’ve got it !!

Zones
There is always an initial Zone, it is simply the first one in the .axt file.

The Initial Zone loads when the enclosing Page loads.

Other Zones can activate/deactivate thereby, taking over / relinquishing control of, Widgets.


Navigators
Navigators represent how to get around in a Zone.

Navigators can be local or inherited from another enclosing Zone.


The Zone name “Page” is reserved for the Page enclosing the initial Zone.

Navigators can inherit from Page — e.g. Each surface’s Track Navigation Zone inherits Track Navigation from Page.


OK, let’s give it a shot, here’s a shot at the new MCU.axt:

Code:
Zone Entree
        ChannelLeft TrackBank -1
	ChannelRight TrackBank 1
	BankLeft TrackBank -8
	BankRight TrackBank 8
	TimeDisplay TimeDisplay
	Rewind Rewind
	FastForward FastForward
	Stop Stop
	Play Play
	Record Record
	F1 NextPage
	F7 PinSelectedTracks
	F8 UnpinSelectedTracks
	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
	Marker Reaper 40172
	Shift+Marker Reaper 40157
	Option+Marker Reaper 40174
	Nudge Reaper 40173
	Cycle CycleTimeline
	Click Reaper 40364

	MasterFader MasterTrackVolume

	Zone 
		InheritNavigator Track Page // Inherit Track Navigation from Page
		VUMeter1-8 TrackOutputMeter 0 // New notation — you can state a range here, every “1-8” in the following lines is replaced by 1, 2,3 4, etc. 
		DisplayUpper1-8  TrackNameDisplay
		DisplayLower1-8  TrackTouchControlled TrackPanDisplay TrackVolumeDisplay
		Fader1-8  TrackVolume
		FaderTouch1-8  TrackTouch
		Rotary1-8  TrackCycle RotaryPush1-8  "TrackPan 0" "TrackPanWidth 1"
		Select1-8  TrackUniqueSelect
		Shift+Select1-8  TrackRangeSelect
		Control+Select1-8 TrackSelect
		Alt+Select1-8 GoZone TrackSplaySends // Activate the Zone named TrackSplaySends
		RecordArm1-8  TrackRecordArm
		Mute1-8 TrackMute
		Solo1-8  TrackSolo
 	ZoneEnd
ZoneEnd

Zone TrackSplaySends
	Navigator SplaySends  // Local Navigator — Splays Sends on Widgets named below
	Shift+RotaryPush1 GoBack // back -- to initial Page in this case
	Rotary1-8 TrackSendVolume
	RotaryPush1-8 TrackSendMute
        Alt+RotaryPush1-8 GoZone TrackSendParams
ZoneEnd

Zone TrackSendParams
        Shift+RotaryPush1 GoBack
        Rotary1 TrackSendVolume
        Rotary2 TrackSendPan
        RotaryPush1 TrackSendPrePost
        RotaryPush2 TrackSendStereoMono
        RotaryPush3 TrackSendPhaseInvert
        RotaryPush4 TrackSendMute
ZoneEnd
We're gettin' dangerously close to being able to build somethin' here folks
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 02-14-2019 at 07:53 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 03:47 PM   #2582
andyp24
Human being with feelings
 
Join Date: Mar 2016
Posts: 687
Default

You may be right, but am I the only one here who's lost all understanding of what it is?? 😁
andyp24 is offline   Reply With Quote
Old 02-13-2019, 04:10 PM   #2583
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 982
Default

Nope, I've been staring at Geoff's last post and the code for almost an hour and still don't quite grasp the new format. But, it was the same many months ago when i first started with CSI, and at some point it all clicked. waiting for another click....
__________________
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 02-13-2019, 04:41 PM   #2584
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by andyp24 View Post
You may be right, but am I the only one here who's lost all understanding of what it is?? ��
Quote:
Originally Posted by poetnprophet View Post
Nope, I've been staring at Geoff's last post and the code for almost an hour and still don't quite grasp the new format. But, it was the same many months ago when i first started with CSI, and at some point it all clicked. waiting for another click....
It doesn't help that I'm editing that post every hour or so

Let's go through it.

The first Zone named Entree is just what the old .axt file was, except the Channel definition has altered slightly.

Channel is now the Zone with no name at the the end of the Entree Zone.

There is new shorthand -- e.g. Mute1-8 -- to make is easier to describe repetitive things. Instead of saying:

Mute1
Mute2
Mute3
Mute4
Mute5
Mute6
Mute7
Mute8

you can say Mute1-8, much more compact but still (hopefully) understandable.

The line:

Alt+Select1-8 GoZone TrackSplaySends

says that when you press Alt+Select5 you activate the Zone named TrackSplaySends for the Track currently on Channel 5.

This causes Widget takeover.

The Widgets that are taken over are listed in the Zone.

Here is the Zone definition:
Code:
Zone TrackSplaySends
	Navigator TrackSplaySends
	Shift+RotaryPush1 GoBack
	Rotary1-8 TrackSendVolume
	RotaryPush1-8 TrackSendMute
        Alt+RotaryPush1-8 GoZone TrackSendParams
ZoneEnd
So the first 8 Sends (or less) have now taken over the 8 Rotaries and RotaryPushes.

The Rotaries now control TrackSendVolume and the RotaryPushes now control TrackSendMute.

Alt+RotaryPush1-8 have also been taken over.

If you press Alt+RotaryPush1 you activate the Zone named TrackSendParams for the Track currently on Channel 1.

We have once again taken over some Widgets, but not all 8 this time.

The rule is -- any unused ones will be blanked:
Code:
Zone TrackSendParams
        Shift+RotaryPush1 GoBack
        Rotary1 TrackSendVolume
        Rotary2 TrackSendPan
        RotaryPush1 TrackSendPrePost
        RotaryPush2 TrackSendStereoMono
        RotaryPush3 TrackSendPhaseInvert
        RotaryPush4 TrackSendMute
ZoneEnd
So here Rotaries 3-8 are unused and will be blanked.

Same for RotaryPushes 5-8.

This whole thing is about the implementation of the matrix idea from a while back, which has now morphed into general navigation, it's all about Banking, Slot/DrillDown, etc. navigation.

In this example we used the general convention that Alt+SomeButton drills down and Shift+SomeButton means go back.

The final new concept is Navigator.

A Navigator allows you to move around your Zone.

For Instance, the Track Navigator in Page is the same old Bank Left/Right that we all know and love.

In the un-named Zone that holds the Channel Widgets we state the we want to follow Page's Track Navigation:

InheritNavigator Track Page // Inherit Track Navigation from Page

In the TrackSplaySends Zone we have:

Navigator TrackSplaySends

which knows how to splay Track Sends onto the Widgets in the Zone.

Still clear as mud ?

Don't be afraid to ask away !
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 02-14-2019 at 07:54 AM.
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 05:53 PM   #2585
Freex
Human being with feelings
 
Freex's Avatar
 
Join Date: Jul 2011
Location: Northern Ireland
Posts: 581
Default

For a non-coder (Me), this has helped so much, so big thanks Geoff for taking time to run thru these examples.

Just one question, Why is the sends one called TrackSplaySends ?

What is Splay ?
Freex is offline   Reply With Quote
Old 02-13-2019, 06:01 PM   #2586
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by Freex View Post
FJust one question, Why is the sends one called TrackSplaySends ?

What is Splay ?
Splay comes from the verb display, originally "unfurl, unfold, or spread out."

So ... sort of ... chuck this handful of sends across the rotaries -- splay them out across the rotaries.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-13-2019, 06:36 PM   #2587
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

This is looking great!

Could I suggest that we have a master 'Home' button, that returns the user to the first/initial zone on the Page, so we don't have to dig our way back out of the rabbit hole we've disappeared down

Question. If I Alt+Select a Channel to Splay all its Sends across the Rotaries, am I still free to bank across the Tracks as usual? (with the 8 rotaries fixed on the Sends of the Alt+Selected Channel)

Obviously the 8 rotaries won't be controlling channel pan, but are all the other channel controls still operating as in the initial zone? (fader, mute, solo etc)

If I bank across to another track and Alt+Select it, do I immediately replace the Sends from the first Alt+Selection with those of the second?

Just trying to get a feel for the boundaries.
MixMonkey is offline   Reply With Quote
Old 02-13-2019, 08:20 PM   #2588
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by MixMonkey View Post
This is looking great!

Could I suggest that we have a master 'Home' button, that returns the user to the first/initial zone on the Page, so we don't have to dig our way back out of the rabbit hole we've disappeared down
Sure, already there, just assign a button on the initial Zone that never gets taken over by any other Zone:

ButtonThatNeverGetsTakenOver Zone InitialZoneName

This sets the active Zone to the initial Zone -- aka Home.

This would also clear any and all Zone takeovers -- aka Home.

Quote:
Originally Posted by MixMonkey View Post
Question. If I Alt+Select a Channel to Splay all its Sends across the Rotaries, am I still free to bank across the Tracks as usual? (with the 8 rotaries fixed on the Sends of the Alt+Selected Channel)

Obviously the 8 rotaries won't be controlling channel pan, but are all the other channel controls still operating as in the initial zone? (fader, mute, solo etc)
Interesting question... I think if the selected Channel is on this surface, things can stay the same, the same Track is selected it has just changed positions on the surface.

Things get interesting if banking causes the selected Track to exit this surface.

We might try to get fancy and transfer the Sends mapping to the surface that just acquired the selected Track, but what if that surface only has 4 Channels, or 1 Channel.

For a first cut I'd say if the selected Track leaves the surface due to banking, it's like hitting the Back button on the Sends Zone, the surface goes to the Initial Zone -- aka Home.

Quote:
Originally Posted by MixMonkey View Post
If I bank across to another track and Alt+Select it, do I immediately replace the Sends from the first Alt+Selection with those of the second?
Yes.

Quote:
Originally Posted by MixMonkey View Post
Just trying to get a feel for the boundaries.
Me too !!
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-14-2019, 08:33 AM   #2589
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Wow, sometimes things just really do work out !

Everyone is going to have to modify their .fxt files thusly:

Code:
VST: UAD Fairchild 660 (Universal Audio, Inc.)
Threshold Thresh
Character Output
Drive Meter
Attack Headroom
Release Input
Ratio "Time Const"
Invert+Compressor Bypass
Parallel Wet
becomes

Code:
Zone VST: UAD Fairchild 660 (Universal Audio, Inc.)
Threshold Thresh
Character Output
Drive Meter
Attack Headroom
Release Input
Ratio "Time Const"
Invert+Compressor Bypass
Parallel Wet
ZoneEnd
Since VST's names must be unique, we won't get any name collisions unless we start naming our .axt Zones crazy VST names

Now that's what I call serendipitous, I know it's not zero .fxt changes but it sure is close
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-14-2019, 08:52 AM   #2590
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
Interesting question... I think if the selected Channel is on this surface, things can stay the same, the same Track is selected it has just changed positions on the surface.

Things get interesting if banking causes the selected Track to exit this surface.
I think there may be a dependancy in the code here that I don't quite understand.

I'd imagined () that when you'd Splayed Sends or FX Parameters across the MCU Rotaries, that the rest of the MCU and the 2XTs would continue to bank and function normally.

The MCU Rotaries would stay fixed on the Alt+Selected track's sends/FX until: i) The sub-zone was exited or ii) Another track was Alt+Selected.

It's not a big deal if the sub-zone exits when the track is banked off the surface. I was expecting behaviour more akin to the way the C4 stays fixed on a focussed FX when the MCU/XT/XT is banked around, only changing when the FX focus changes.
MixMonkey is offline   Reply With Quote
Old 02-14-2019, 08:53 AM   #2591
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
Wow, sometimes things just really do work out !

Everyone is going to have to modify their .fxt files thusly:

Code:
VST: UAD Fairchild 660 (Universal Audio, Inc.)
Threshold Thresh
Character Output
Drive Meter
Attack Headroom
Release Input
Ratio "Time Const"
Invert+Compressor Bypass
Parallel Wet
becomes

Code:
Zone VST: UAD Fairchild 660 (Universal Audio, Inc.)
Threshold Thresh
Character Output
Drive Meter
Attack Headroom
Release Input
Ratio "Time Const"
Invert+Compressor Bypass
Parallel Wet
ZoneEnd
Since VST's names must be unique, we won't get any name collisions unless we start naming our .axt Zones crazy VST names

Now that's what I call serendipitous, I know it's not zero .fxt changes but it sure is close
....I'll start typing
MixMonkey is offline   Reply With Quote
Old 02-14-2019, 09:10 AM   #2592
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by MixMonkey View Post
I think there may be a dependancy in the code here that I don't quite understand.

I'd imagined () that when you'd Splayed Sends or FX Parameters across the MCU Rotaries, that the rest of the MCU and the 2XTs would continue to bank and function normally.

The MCU Rotaries would stay fixed on the Alt+Selected track's sends/FX until: i) The sub-zone was exited or ii) Another track was Alt+Selected.
Yes, that's exactly how I envision it

Quote:
Originally Posted by MixMonkey View Post
It's not a big deal if the sub-zone exits when the track is banked off the surface. I was expecting behaviour more akin to the way the C4 stays fixed on a focussed FX when the MCU/XT/XT is banked around, only changing when the FX focus changes.
That's the tricky bit.

The C4 is "dedicated" the XT/MCU rotaries are "taken over".

Let's assume you have an XT and an MCU side by side.

You Alt+Select a Track on the XT -- the XT rotaries are now Send levels.

Ok so you have a selected Track -- that means one of the 8 XT select buttons is lit up.

Now you bank so that the selected Track is now on the MCU.

The lit, selected Track is now on the MCU, but the rotaries that control the Sends are still on the XT.

If you press Alt+Select for the selected Track the rotaries on the XT will be restored to initial Zone.

If you press Alt+Select again, this time the MCU rotaries will be taken over, since the selected Track is now on the MCU.

Not consistent

I wish I could think of a way to make it more C4-ish, but I can't.

Any ideas better than exiting the Zone upon selected track leaving surface, let me know, we'll use them
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-14-2019, 09:21 AM   #2593
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
Let's assume you have an XT and an MCU side by side.

You Alt+Select a Track on the XT -- the XT rotaries are now Send levels.

Ok so you have a selected Track -- that means one of the 8 XT select buttons is lit up.

Now you bank so that the selected Track is now on the MCU.

The lit, selected Track is on the MCU, but the rotaries that control the Sends are on the XT.

If you press Alt+Select the rotaries on the XT will be restored to initial Zone.

If you press Alt+Select again, this time the MCU rotaries will be taken over, since the selected Track is now on the MCU.
This is fine Once you know this is how it works, you'll adjust accordingly. I'd just bank the track under scrutiny onto the MCU, then Alt+Select it.

Or more likely use the C4 for all these kind of things It certainly reinforces the case for having a C4/Console1 type controller in your setup.
MixMonkey is offline   Reply With Quote
Old 02-14-2019, 09:27 AM   #2594
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by MixMonkey View Post
This is fine Once you know this is how it works, you'll adjust accordingly. I'd just bank the track under scrutiny onto the MCU, then Alt+Select it.

Or more likely use the C4 for all these kind of things It certainly reinforces the case for having a C4/Console1 type controller in your setup.
It sure does, I used to have a C4 now I have a Console1, wish I could add a C4 as well, the C1 is killer for "the usual suspects" -- front end gain/saturation - transient shaping -- EQ -- Compression -- back end gain/saturation, but for Verbs, complex EQ's like the UAD Massive Passive, and other more esoteric processing, I wish I had my C4 back as well as the C1, it simply mapped better for those jobs
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-14-2019, 09:51 AM   #2595
MixMonkey
Human being with feelings
 
MixMonkey's Avatar
 
Join Date: Sep 2017
Location: London, England.
Posts: 856
Default

Quote:
Originally Posted by Geoff Waddington View Post
I wish I had my C4 back as well as the C1, it simply mapped better for those jobs
eBay is your friend I bought my MCU new, but everything else has come from there.

I can't believe they stopped making the C4. 32 Rotaries, each with pushes and a two line display is pretty much the optimal controller format for anything that isn't 'channel' orientated.

Actually I can believe they stopped making it, making the physical unit is one thing, expecting DAW manufacturers to provide software support for it is quite another- you end up being reliant on other companies to render your product useful.

Thank heavens the MCU protocol 'stuck', although now you have hardware/software companies like Presonus making controllers that operate in a 'Native' mode with their own DAW and using the MCU protocol as a fall back compatibility mode to make it somewhat useful to users of other DAWS, which is fair enough, I suppose. It's their ball.

Certainly better than Avid's approach, where it's completely proprietary, very expensive and obsoleted at a point of their choosing, in the hope you'll shell out £50K for another go on the merry-go-round
MixMonkey is offline   Reply With Quote
Old 02-14-2019, 10:22 AM   #2596
dixo
Human being with feelings
 
dixo's Avatar
 
Join Date: May 2011
Posts: 83
Default

Quote:
Originally Posted by Geoff Waddington View Post
Wow, sometimes things just really do work out !


Code:
Zone VST: UAD Fairchild 660 (Universal Audio, Inc.)
Threshold Thresh
Character Output
Drive Meter
Attack Headroom
Release Input
Ratio "Time Const"
Invert+Compressor Bypass
Parallel Wet
ZoneEnd
Since VST's names must be unique, we won't get any name collisions unless we start naming our .axt Zones crazy VST names

Now that's what I call serendipitous, I know it's not zero .fxt changes but it sure is close
Would you lose any flexibility if the CSI code implicitly assumes the 'Zone' and 'ZoneEnd' when reading an .fxt file? That would mean zero .fxt changes....

Or am I missing something?
dixo is offline   Reply With Quote
Old 02-14-2019, 11:54 AM   #2597
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by dixo View Post
Would you lose any flexibility if the CSI code implicitly assumes the 'Zone' and 'ZoneEnd' when reading an .fxt file? That would mean zero .fxt changes....
Yes, you wouldn't be able to have sub Zones in an .fxt -- aka -- no drill downs -- drill downs tend to be very important when mapping complex FX params.

Users would have to remember .fxt's are different than .axt's as far as Zones go.

It's more consistent, so let's hunker down and do the right thing...

I Know, I know, I'm sorry

Seriously, now's the time to get things right -- while still in pre alpha.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143
Geoff Waddington is offline   Reply With Quote
Old 02-14-2019, 12:04 PM   #2598
poetnprophet
Human being with feelings
 
poetnprophet's Avatar
 
Join Date: Jan 2018
Posts: 982
Default

Hi Geoff, really helpful THANK YOU! There is a very faint click in the back of my head now, starting to grasp it.

Question: is it at all possible to use the keyboard Alt Shift Control buttons to use in place of those on the mixer? The Qcon ProX is nice, but the button layout is not practical at all haha.
__________________
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 02-14-2019, 12:23 PM   #2599
dixo
Human being with feelings
 
dixo's Avatar
 
Join Date: May 2011
Posts: 83
Default

Quote:
Originally Posted by Geoff Waddington View Post
I Know, I know, I'm sorry

Seriously, now's the time to get things right -- while still in pre alpha.
No need to be sorry I was just wondering. It is not a big change, and the added power of subzones is awesome.
And I agree, this is the time to get everything right.
dixo is offline   Reply With Quote
Old 02-14-2019, 01:05 PM   #2600
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 3,745
Default

Quote:
Originally Posted by poetnprophet View Post
Question: is it at all possible to use the keyboard Alt Shift Control buttons to use in place of those on the mixer? The Qcon ProX is nice, but the button layout is not practical at all haha.
Thanks for reminding me, been meaning to look into that, it's especially useful for those with low button counts on their surface, really expands what you can do AND doesn't steal Shift/Control, etc. from your button count.

[edit] Just checked, looks like we can use at least 2 -- Shift/Control on PC -- Shift/Command on Apple, so that's a good start.
__________________
CSI - You can donate here: geoffwaddington.ca
Alpha software: https://stash.reaper.fm/v/36903/CSI%20alpha.zip
Reaper forum thread: https://forum.cockos.com/showthread.php?t=183143

Last edited by Geoff Waddington; 02-14-2019 at 01:56 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 01:04 AM.


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