|
|
|
06-16-2020, 11:30 PM
|
#1
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
CSI: Technical questions
Hi,
I'm reading up on CSI because I have a Faderport v2 arriving this week and I want to customize it.
I have a background in programming/computer science, and I have experience of scientific writing. Not trying to brag, but letting you know I might be able to contribute to the wiki documentation as I'm trying to wrap my brain around CSI.
I have been in contact with Geoff, who asked me to post my questions here in the forum.
I have jotted down these questions as I have studied the wiki and example files I have found. I'm sure there will be more of them :-)
Thanks for reading!
1. I understand the concept of Pages, and I see the action GoPage. But I can’t find how pages are defined and where. In the Installation notes, I see “HomePage” in the CSI.INI.
2. Is the zone ”Home” pre-defined (like “main” in C), in that this will always be the first set of bindings that CSI will look up and execute?
3. I’m not sure I understand parent vs child zones. If we have a starting/default zone, aren’t ALL other zones child-zones (in the examples I see, all Zones but Home and FX zones have the vertical bar)? How can there be other “stand-alone zones”?
4. In the example .zon files for Faderport 16 and Faderport v2, the Zone Home contains a bunch of included zones. However, I don’t see any GoZone commands. For the Faderport 16, that is probably fine, because bindings defined in all zones can be active simultaneously. But for the Faderport v2, the zones defined cannot be active simultaneously. My conclusion is that a) all zones included by IncludedZones will be active, and b) for Faderport v2, the code has to be ex-changed for a context-switch by a GoZone. Right or wrong?
5. What does the action NextPage do? I guess this will become clear once I understand #1 above :-)
6. Encoders, how can an encoder work without arguments? That is, in the first example on wiki, there’s just “Encoder b0 10 7f” (+ the feedback). How does it distinguish between CW and CCW motions?
7. I see neither the FP16 nor the FPv2 have their larger rotary defined in their .mst. Is there a problem with that particular knob, or is it just that no-one has managed to write it down yet?
8. On the wiki page, TrackAutoMode is described with a single argument. But in the FP16.zon there is a second argument, like “Touch TrackAutoMode "2" { 2 3 0 112 112 00 }”. What is the second argument?
9. In the Action Reference on the wiki page, most actions are red (link to main wiki page). Does that indicate that documentation is missing, or that the action is not implemented?
To be continued ...
|
|
|
06-17-2020, 08:49 AM
|
#2
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
... continued:
10. With a simple surface, like FPv2, you might have only one single rotary. Let’s say your favorite plugin has five rotary buttons on your screen. Pressing Next/Prev on the surface could then switch between these five rotaries (and map them, in turn, to your single rotary on your surface). Is this possible? Something like “SomeButton FXParam "3" "TapeType" [ 0.0 0.33 0.67 1.0 ] “ but for stepping through the actual FX parameters.
11. Continuing from #10 above: Is there a way to cycle through a plugin’s parameters? Let’s say you are currently on your very last rotary on your plugin, and then press Next (like above), what happens? Can I get it to jump back to rotary 1? (I see this is possible for automation modes with “CycleTrackAutoMode [ 0 1 3 2 4 5 ]” and also for the example with TapeType above, where CSI cycles back to the lowest value. )
12. Are there any explicitly conditional statements (if-then-else) in CSI? (Each binding in a zone can be regarded as a conditional statement: If I press this button, then this happens).
13. I understand we can switch to an FX zone automatically, i.e. when that FX receives focus. But the reverse is not possible? I mean, when the FX loses focus, then automatically fall back to e.g. the Home zone.
Can't wait to get my hands on the FPv2 ...
To be continued ...
|
|
|
06-17-2020, 09:03 AM
|
#3
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
1. I understand the concept of Pages, and I see the action GoPage. But I can’t find how pages are defined and where. In the Installation notes, I see “HomePage” in the CSI.INI.
|
On the config panel you can add Pages.
A Page is a set of surfaces configured by the referenced .mst/.ost/.zon files.
So the same hardware can be configured completely differently -- even unrecognizably -- on another Page.
Switching between Pages is almost instantaneous.
Quote:
Originally Posted by cemark
2. Is the zone ”Home” pre-defined (like “main” in C), in that this will always be the first set of bindings that CSI will look up and execute?
|
Yes.
Quote:
Originally Posted by cemark
3. I’m not sure I understand parent vs child zones. If we have a starting/default zone, aren’t ALL other zones child-zones (in the examples I see, all Zones but Home and FX zones have the vertical bar)? How can there be other “stand-alone zones”?
|
These will be gone in the next build.
GoSubZone will replace the parent/child concept.
Sometimes you need extra context -- e.g. which Send number for this Track -- say in this case you want to "drill down" into a new Zone to access some less often used params, then you want to pass the Track and Send number context to the SubZone (child).
That's all it is, a way to add params to GoZone.
Quote:
Originally Posted by cemark
4. In the example .zon files for Faderport 16 and Faderport v2, the Zone Home contains a bunch of included zones. However, I don’t see any GoZone commands. For the Faderport 16, that is probably fine, because bindings defined in all zones can be active simultaneously. But for the Faderport v2, the zones defined cannot be active simultaneously. My conclusion is that a) all zones included by IncludedZones will be active, and b) for Faderport v2, the code has to be ex-changed for a context-switch by a GoZone. Right or wrong?
|
Correct.
Quote:
Originally Posted by cemark
5. What does the action NextPage do? I guess this will become clear once I understand #1 above :-)
|
Quote:
Originally Posted by cemark
6. Encoders, how can an encoder work without arguments? That is, in the first example on wiki, there’s just “Encoder b0 10 7f” (+ the feedback). How does it distinguish between CW and CCW motions?
|
Encoders are very special beasts -- some have just one value for each direction, others have multiple values representing acceleration, smoothing, etc., CSI has a few flavours available.
Quote:
Originally Posted by cemark
7. I see neither the FP16 nor the FPv2 have their larger rotary defined in their .mst. Is there a problem with that particular knob, or is it just that no-one has managed to write it down yet?
|
Jus not written down I think
Quote:
Originally Posted by cemark
8. On the wiki page, TrackAutoMode is described with a single argument. But in the FP16.zon there is a second argument, like “Touch TrackAutoMode "2" { 2 3 0 112 112 00 }”. What is the second argument?
|
RGB off/on colour support -- first triplet is off colour, second is on colour.
Quote:
Originally Posted by cemark
9. In the Action Reference on the wiki page, most actions are red (link to main wiki page). Does that indicate that documentation is missing, or that the action is not implemented?
|
Doc missing (mostly... I think )
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 09:11 AM
|
#4
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
10. With a simple surface, like FPv2, you might have only one single rotary. Let’s say your favorite plugin has five rotary buttons on your screen. Pressing Next/Prev on the surface could then switch between these five rotaries (and map them, in turn, to your single rotary on your surface). Is this possible? Something like “SomeButton FXParam "3" "TapeType" [ 0.0 0.33 0.67 1.0 ] “ but for stepping through the actual FX parameters.
|
One way to do it is have a Zone for each parameter -- look at the Pan / Width Zones in the MCU example.
Quote:
Originally Posted by cemark
11. Continuing from #10 above: Is there a way to cycle through a plugin’s parameters? Let’s say you are currently on your very last rotary on your plugin, and then press Next (like above), what happens? Can I get it to jump back to rotary 1? (I see this is possible for automation modes with “CycleTrackAutoMode [ 0 1 3 2 4 5 ]” and also for the example with TapeType above, where CSI cycles back to the lowest value. )
|
Yup, see above.
Quote:
Originally Posted by cemark
12. Are there any explicitly conditional statements (if-then-else) in CSI? (Each binding in a zone can be regarded as a conditional statement: If I press this button, then this happens).
|
Not quite sure what you mean here, you mean like in the language syntax -- no.
Quote:
Originally Posted by cemark
13. I understand we can switch to an FX zone automatically, i.e. when that FX receives focus. But the reverse is not possible? I mean, when the FX loses focus, then automatically fall back to e.g. the Home zone.
|
That's what should happen, working on it...
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 10:40 AM
|
#5
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Super -- thanks a lot!
Follow up on #3. My impression is that that requires the use of a (local) variable. Will you introduce variables as well, then? (limitations?)
This will help matters when coding your Zones. And I wonder, wouldn't it kinda solve #10? Just keep track of a state variable x, and then pass it to GoSubZone fx_param(x).
I hope I can give something back to the CSI project when I understand it better.
|
|
|
06-17-2020, 10:50 AM
|
#6
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
More follow up on #3: New build -- new syntax etc. I wonder, as I am about to start working on my incoming FPv2, should I even bother with the current build/syntax? I guess what I'm asking is, when is it reasonable to get one's hands on the new build?
Maybe I can be of help testing the new stuff? (If that phase isn't completed yet)
|
|
|
06-17-2020, 11:02 AM
|
#7
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
More follow up on #3: New build -- new syntax etc. I wonder, as I am about to start working on my incoming FPv2, should I even bother with the current build/syntax? I guess what I'm asking is, when is it reasonable to get one's hands on the new build?
Maybe I can be of help testing the new stuff? (If that phase isn't completed yet)
|
Yeah, I keep saying about a week, and reality keeps intruding
Let's just say it's close
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 11:10 AM
|
#8
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Follow up on #13: Is this future work, or should I consider this when I start hacking away?
|
|
|
06-17-2020, 11:25 AM
|
#9
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Follow up on #13: Is this future work, or should I consider this when I start hacking away?
|
Hopefully Focused FX will work properly in the next build.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 11:32 AM
|
#10
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Cool! And, wow, you are FAST!
Did you happen to miss my first follow up on #3? (there are two in a row)
I will start pseudo coding my zone files shortly.
|
|
|
06-17-2020, 11:40 AM
|
#11
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Cool! And, wow, you are FAST!
Did you happen to miss my first follow up on #3? (there are two in a row)
I will start pseudo coding my zone files shortly.
|
Yeah, I was kinda dodging that one a bit
It doesn't require a local variable that the user needs to worry about, because the context can be automatically discerned.
Seems like a natural step to add user assignable context variables.
Whenever we face something like this in CSI, we pause and evaluate if it is really necessary, can it be done with existing stuff, etc.
We always want to keep CSI as simple as possible, but no simpler
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 11:58 AM
|
#12
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Quote:
Originally Posted by Geoff Waddington
We always want to keep CSI as simple as possible, but no simpler
|
Yeah, that Einstein quote applies to much in life (writing for example). I believe Hemmingway said something similar.
What would REALLY help me at this stage, is code examples showing how the new stuff replaces the old.
Who do I have to k... Sorry, new take: Any chance I can get my hands on some? :-)
Another thing (just curious): I thought CSI was a one-man project. But you refer to "we", so it's more like a team effort?
Thanks for all your help!
|
|
|
06-17-2020, 12:16 PM
|
#13
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Yeah, that Einstein quote applies to much in life (writing for example). I believe Hemmingway said something similar.
What would REALLY help me at this stage, is code examples showing how the new stuff replaces the old.
Who do I have to k... Sorry, new take: Any chance I can get my hands on some? :-)
Another thing (just curious): I thought CSI was a one-man project. But you refer to "we", so it's more like a team effort?
Thanks for all your help!
|
Very little will change, so go ahead and start.
Other than slight syntax changes (e.g. GoSubZone) the changes are internal improvements/optimizations.
The "we" is the whole community, I'm just the coder.
Thanks for noticing the quote
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-17-2020, 11:13 PM
|
#14
|
Human being with feelings
Join Date: Oct 2019
Location: Sydney
Posts: 471
|
Quote:
Originally Posted by Geoff Waddington
Yeah, I keep saying about a week, and reality keeps intruding
|
"True art is never finished, only abandoned."
Take your time and do the best you can!
|
|
|
06-18-2020, 12:27 AM
|
#15
|
Human being with feelings
Join Date: Aug 2019
Location: UK
Posts: 65
|
Quote:
Originally Posted by cemark
Yeah, that Einstein quote applies to much in life (writing for example). I believe Hemmingway said something similar.
What would REALLY help me at this stage, is code examples showing how the new stuff replaces the old.
Who do I have to k... Sorry, new take: Any chance I can get my hands on some? :-)
Another thing (just curious): I thought CSI was a one-man project. But you refer to "we", so it's more like a team effort?
Thanks for all your help!
|
Hi Cemark
I bought a FPV2 last week and have been dabbling with CSI, although work keeps getting in the way.
I’d be keen to see how you are getting on. I have a version I found which is pretty stable, built by someone on here, which means that most of the functions go the v2 work.
I’d like to map some more advanced functionality to it though.
Happy to help if you like.
Simon
|
|
|
06-18-2020, 01:07 AM
|
#16
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Hi Simon,
Super -- let's help each other and share whatever progress we make!
I found some rudimentary files for the FPv2, but they seemed to need a lot of work.
So, in the end I wrote an entirely new .zon file. I'm still waiting for my surface so I haven't been able to test anything yet.
I would be interested in looking at your .mst though.
Also, feel free to chime in on any questions I have. They will keep on coming :-)
Thanks
|
|
|
06-18-2020, 01:53 AM
|
#17
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
... continued:
14. I’m planning on using the automatic switch to fx Zone on window focus. But what happens if no zone matches the plugin? (I’ll probably not implement zones for all plugins, duuh Will the currently active zone stay active, or will we fall back on Home? For example, if the currently active zone is another fx zone, and then focus is changed to a plugin without implemented zone, what happens?
15. Shift: Hmmm … The FPv2 has a shift-button. I wonder, won’t the surface output a different midi msg for e.g. MASTER as compared to SHIFT+MASTER? If so, a) shouldn’t these codes be in the .mst file, and hence b) render the modifier bindings containing Shift in the zone file redundant? (There’s even a separate label for the shifted buttons on the surface).
16. What is the syntax for the new GoSubZone? I noticed you wrote “GoSubZone(child)”. Hence the argument is the zone we switch to. However, I get the impression from your other comments that the argument instead should contain a state, like track number etc.
17. Panning. I don’t understand how I should bind my rotary to panning. Right now I have:
SelectedTrackNavigator
MyRotary TrackPan
But I have no idea what I SHOULD have. I see TrackPan sometimes has the argument “0”.
18. Zooming: Will the following work?
Zone "Zoom"
MyRotary Reaper "990" // Standard Reaper mousewheel zoom
Zoom GoSubZone Home
Zone End
Thanks!
|
|
|
06-18-2020, 03:19 AM
|
#18
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
14. I’m planning on using the automatic switch to fx Zone on window focus. But what happens if no zone matches the plugin? (I’ll probably not implement zones for all plugins, duuh Will the currently active zone stay active, or will we fall back on Home? For example, if the currently active zone is another fx zone, and then focus is changed to a plugin without implemented zone, what happens?
|
The design is this use case:
You have decided to navigate away from an FX.
If there is no map for the now focused FX, you go Home.
You can refocus the previous FX if you wish.
Quote:
Originally Posted by cemark
15. Shift: Hmmm … The FPv2 has a shift-button. I wonder, won’t the surface output a different midi msg for e.g. MASTER as compared to SHIFT+MASTER? If so, a) shouldn’t these codes be in the .mst file, and hence b) render the modifier bindings containing Shift in the zone file redundant? (There’s even a separate label for the shifted buttons on the surface).
|
Depends on the surface, some put out different messages, some just put out the shift button state, some can be configured by firmware or software.
Quote:
Originally Posted by cemark
16. What is the syntax for the new GoSubZone? I noticed you wrote “GoSubZone(child)”. Hence the argument is the zone we switch to. However, I get the impression from your other comments that the argument instead should contain a state, like track number etc.
|
Haha, that wasn't a set of parens in the programming sense, but rather to say GoSubZone refers to the child so, more correctly:
Code:
Zone "aZone"
GoSubZone "aZoneThatNeedsContext"
ZoneEnd
The .zon file does not contain parameters in parens.
CSI invokes "aZoneThatNeedsContext" with the context supplied by "aZone" when you use the GoSubZone syntax.
Quote:
Originally Posted by cemark
17. Panning. I don’t understand how I should bind my rotary to panning. Right now I have:
SelectedTrackNavigator
MyRotary TrackPan
But I have no idea what I SHOULD have. I see TrackPan sometimes has the argument “0”.
|
The "0" is for the ring display style around the encoder if you have one.
Quote:
Originally Posted by cemark
18. Zooming: Will the following work?
Zone "Zoom"
MyRotary Reaper "990" // Standard Reaper mousewheel zoom
Zoom GoSubZone Home
Zone End
|
Don't know, try it
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-18-2020, 08:42 AM
|
#19
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Is this the way I should implement the FX parameters according to my question #10 above?
Zone "VST: FabFilter Pro-Q 3 (FabFilter)" ProQ
FocusedFXNavigator
IncludedZones
"ProQ Band 1"
IncludedZonesEnd
ZoneEnd
Zone "ProQ Band 1"
Rotary FXParam 2 "Freq band 1"
Fader FXParam 3 "Gain band 1"
Shift+Rotary FXParam 7 "Q band 1"
Next GoZone "ProQ Band 2"
ZoneEnd
Zone "ProQ Band 2"
Rotary FXParam 15 "Freq band 2"
Fader FXParam 16 "Gain band 2"
Shift+Rotary FXParam 20 "Q band 2"
Next GoZone "ProQ Band 3"
Prev GoZone "ProQ Band 1"
ZoneEnd
Zone "ProQ Band 3"
Rotary FXParam 28 "Freq band 3"
Fader FXParam 29 "Gain band 3"
Shift+Rotary FXParam 33 "Q band 3"
Next GoZone "ProQ Band 4"
Prev GoZone "ProQ Band 2"
ZoneEnd
Etc ...
|
|
|
06-18-2020, 09:07 AM
|
#20
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
... and the syntax for activating my defined FXZones. Would this work?
Zone Home
OnFXFocus GoZone "VST: FabFilter Pro-Q 3 (FabFilter)"
OnFXFocus GoZone "Some other plugin ..."
...
|
|
|
06-18-2020, 10:00 AM
|
#21
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Is this the way I should implement the FX parameters according to my question #10 above?
|
Pretty close, any FX Zone needs a Navigator, and you don' t need the included Zones in this case, something more like this:
Code:
Zone "VST: FabFilter Pro-Q 3 (FabFilter)" ProQ
FocusedFXNavigator
Rotary FXParam 2 "Freq band 1"
Fader FXParam 3 "Gain band 1"
Shift+Rotary FXParam 7 "Q band 1"
Next GoSubZone "ProQ Band 2"
ZoneEnd
Zone "ProQ Band 2"
FocusedFXNavigator
Rotary FXParam 15 "Freq band 2"
Fader FXParam 16 "Gain band 2"
Shift+Rotary FXParam 20 "Q band 2"
Next GoSubZone "ProQ Band 3"
Prev GoSubZone "VST: FabFilter Pro-Q 3 (FabFilter)"
ZoneEnd
Zone "ProQ Band 3"
FocusedFXNavigator
Rotary FXParam 28 "Freq band 3"
Fader FXParam 29 "Gain band 3"
Shift+Rotary FXParam 33 "Q band 3"
Next GoSubZone "ProQ Band 4"
Prev GoSubZone "ProQ Band 2"
ZoneEnd
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-18-2020, 10:01 AM
|
#22
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
... and the syntax for activating my defined FXZones. Would this work?
Zone Home
OnFXFocus GoZone "VST: FabFilter Pro-Q 3 (FabFilter)"
OnFXFocus GoZone "Some other plugin ..."
...
|
Like this:
Code:
Zone Home
OnFXFocus MapFocusedFXToWidgets
ZoneEnd
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-18-2020, 11:41 AM
|
#23
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Big thanks!
I only have one fader. Can I use TrackBank like in this example?
Zone "Track control"
SelectedTrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
Sorry, I can't get the TAB to work in my posts.
|
|
|
06-18-2020, 02:07 PM
|
#24
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Big thanks!
I only have one fader. Can I use TrackBank like in this example?
Zone "Track control"
SelectedTrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
Sorry, I can't get the TAB to work in my posts.
|
Yeah, TAB doesn't work on this forum the way we are used to
The same way you enclose the word "Quote" inside "[" and "]" along with a "/" for ending, you can do with "Code", as illustrated below.
That way the formatting will remain.
Then I just use 8 spaces for TAB.
I use a Console 1 -- the following maps Selected Track FX to the Input/Gate/EQ/Compressor sections on the Console 1 and sets the Console 1 "Channel" controls to the Selected Track, your setup should end up being similar:
Code:
Zone "Home"
OnTrackSelection GoZone "Channel"
OnTrackSelection MapSelectedTrackFXToWidgets
Option+Volume FocusedFXParam
ZoneEnd
Zone "Channel"
SelectedTrackNavigator
OutputMeterLeft TrackOutputMeter "0"
OutputMeterRight TrackOutputMeter "1"
Volume TrackVolume
Shift+Volume TrackPan "0"
Control+Volume TrackPanWidth "1"
Option+Volume FocusedFXParam
Mute TrackMute
Solo TrackSolo
ZoneEnd
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-18-2020, 11:32 PM
|
#25
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
I think I get what you are saying. However, my question was not about FX, but the use of TrackBank. Sorry if I was unclear.
What I need is a way to shift the currently selected track by 1, to the left and right. And I wondered if I could use TrackBank for that, like in this example:
Code:
Zone "Track control"
SelectedTrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
|
|
|
06-18-2020, 11:37 PM
|
#26
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
I'm not clear about TrackPanWidth. It kind of pops up everywhere. How does it differ from TrackPan?
I just need to be able to map my rotary to basic panning. Do I need to bother with TrackPanWidth?
|
|
|
06-19-2020, 02:55 AM
|
#27
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
I'm not clear about TrackPanWidth. It kind of pops up everywhere. How does it differ from TrackPan?
I just need to be able to map my rotary to basic panning. Do I need to bother with TrackPanWidth?
|
In Reaper Pan Width controls the Width of the stereo image.
You can also use it to reverse left/right.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 02:58 AM
|
#28
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
I think I get what you are saying. However, my question was not about FX, but the use of TrackBank. Sorry if I was unclear.
What I need is a way to shift the currently selected track by 1, to the left and right. And I wondered if I could use TrackBank for that, like in this example:
Code:
Zone "Track control"
SelectedTrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
|
Ah, just use the stock MCU as a starting point and make sure your Home Zone looks something like this:
Code:
Zone Home
OnTrackSelection MapSelectedTrackSendsToWidgets
IncludedZones
"Buttons|"
"Channel|1-1"
IncludedZonesEnd
ZoneEnd
I think that will work.
Then just assign a couple of buttons to TrackBank.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 04:54 AM
|
#29
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
OK, will do. But I don't understand why channel in this case has to be a template zone, and why there's need to specify that we need exactly one.
I understand this zone needs to operate on _any_ channel. Hence, the mapping needs to be redone when the user changes channel. However, I thought that this re-mapping was taken care of by using SelectedTrackNavigator plus TrackBank. Like so:
Code:
Zone "Channel"
SelectedTrackNavigator
Next TrackBank "+1"
Prev TrackBank "-1"
...
EndZone
I get confused because in the MCU example (and others), the vertical bar clearly refers to the channel number on the hardware unit. That's why we need the template zones. But in the case above, there is only one channel, and here the vertical bar has another meaning: it would correspond to the user-selected track in Reaper.
It hurts my old head :-)
I think I'm not entirely clear on zones vs template zones. I still don't understand why e.g. the zone buttons need to be a template zone. What context does it need?
|
|
|
06-19-2020, 05:14 AM
|
#30
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
OK, will do. But I don't understand why channel in this case has to be a template zone, and why there's need to specify that we need exactly one.
I understand this zone needs to operate on _any_ channel. Hence, the mapping needs to be redone when the user changes channel. However, I thought that this re-mapping was taken care of by using SelectedTrackNavigator plus TrackBank. Like so:
Code:
Zone "Channel"
SelectedTrackNavigator
Next TrackBank "+1"
Prev TrackBank "-1"
...
EndZone
I get confused because in the MCU example (and others), the vertical bar clearly refers to the channel number on the hardware unit. That's why we need the template zones. But in the case above, there is only one channel, and here the vertical bar has another meaning: it would correspond to the user-selected track in Reaper.
It hurts my old head :-)
I think I'm not entirely clear on zones vs template zones. I still don't understand why e.g. the zone buttons need to be a template zone. What context does it need?
|
Yeah, this template Zone stuff will all disappear in the next build.
As far as Navigators, you need TrackNavigator not SelectedTrackNavigator:
https://github.com/malcolmgroves/rea...iki/Navigators
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 08:18 AM
|
#31
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Ah, so my example will work if I exchange SelectedTrackNavigator for TrackNavigator?
|
|
|
06-19-2020, 08:27 AM
|
#32
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
I do believe you, my new friend, but I purposely chose SelectedTrackNavigator after reading the documentation on the wiki:
About SelectedTrackNavigator: "Using the SelectedTrackNavigator will mean that the actions in that Zone act in the context of the currently selected track. Our Fader will change the selected track’s volume, TrackPan would alter that tracks Pan settings, etc." Sounds like what I need.
About TrackNavigator: "The TrackNavigator is what CSI uses to manage navigation and control of widgets that may impact multiple tracks. Example: you have an 8-fader surface with 8 rotaries, 8 solo, and 8 mute buttons that you'll want assigned to different tracks. This is where TrackNavigator differs from SelectedTrackNavigator - since we have more than one fader, and we will want to assign them to more than the selected track." Sounds like what I don't need.
The plot thickens :-)
|
|
|
06-19-2020, 09:51 AM
|
#33
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
I do believe you, my new friend, but I purposely chose SelectedTrackNavigator after reading the documentation on the wiki:
About SelectedTrackNavigator: "Using the SelectedTrackNavigator will mean that the actions in that Zone act in the context of the currently selected track. Our Fader will change the selected track’s volume, TrackPan would alter that tracks Pan settings, etc." Sounds like what I need.
About TrackNavigator: "The TrackNavigator is what CSI uses to manage navigation and control of widgets that may impact multiple tracks. Example: you have an 8-fader surface with 8 rotaries, 8 solo, and 8 mute buttons that you'll want assigned to different tracks. This is where TrackNavigator differs from SelectedTrackNavigator - since we have more than one fader, and we will want to assign them to more than the selected track." Sounds like what I don't need.
The plot thickens :-)
|
Haha, the plot doesn't thicken, the wiki needs a tune up, that's all
The TrackNavigator is the one to use when you want to bank -- think about it for a second -- what does it mean to bank the Selected Track -- it doesn't make any sense, the same as banking the MasterTrack, etc. doesn't make sense
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 10:23 AM
|
#34
|
Human being with feelings
Join Date: Jul 2007
Location: New Joisey
Posts: 5,990
|
Quote:
Originally Posted by Geoff Waddington
Haha, the plot doesn't thicken, the wiki needs a tune up, that's all
The TrackNavigator is the one to use when you want to bank -- think about it for a second -- what does it mean to bank the Selected Track -- it doesn't make any sense, the same as banking the MasterTrack, etc. doesn't make sense
|
Geoff, I totally get what you're saying and why it makes sense, but I really wish in this instance, CSI was a little less logical and a little more user friendly.
Think of it: I have a one channel surface set to SelectedTrackNavigator. I want navigate to the next track:
TrackBank +1 doesn't work
so I have to use
Code:
ChannelRight Reaper 40285 //Select next track
Not terrible. Now, let's say I'm on my kick track, which is track 1, and I want to navigate to the Vocals on track 23. How do I get there on the surface? I could press ChannelRight 22 times, but that's going to suck. So I want to simulate banking to cut down on the number of button presses.
My "workaround" was to create a custom reaper action that runs "Repaer 40285" 8 times consecutively. But that's not portable. Someone else won't have that action if they download my .zon. Now I could do this:
Code:
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
BankRight Reaper 40285 //Select next track
...but that's not the prettiest nor most elegant, but it should get the job done.
However, I'd humbly ask you consider us one fader surface folks and allow us to bank.
How would that work? Maybe create a CSI action called SelectTrack. Then we could setup our zones like this:
Code:
BankLeft SelectTrack -8
BankRight SelectTrack +8
ChannelLeft SelectTrack -1
ChannelRight SelectTrack +1
This way, us one-fader surface folks could use SelectedTrackNavigator and have a CSI action that lets us navigate the project that we could share without cludgy workarounds (custom actions) or just having a messy .zon file. And the best thing, it could be customized. Maybe I want to jump 5 +/- 5 tracks, or +/- 16. Using the above approach, I could set that up easily within the .zon.
|
|
|
06-19-2020, 10:27 AM
|
#35
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Thanks for sticking with me!
Then, the following code should (in principle) work for mapping Reaper tracks to my single fader and some buttons?
Code:
Zone Home
OnFXFocus MapFocusedFXToWidgets
Shift Shift
IncludedZones
"Extended Transport"
"Track control"
"My Actions"
"Markers"
IncludedZonesEnd
Master GoSubZone "Master"
ZoneEnd
/ **********************
/ Track Control handles everything about a track
/ ***********************
Zone "Track control"
TrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
|
|
|
06-19-2020, 10:30 AM
|
#36
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
... and if the code above should work (in principle, ha ha), then I wonder: What track will initially be mapped to my single fader?
|
|
|
06-19-2020, 11:16 AM
|
#37
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Thanks for sticking with me!
Then, the following code should (in principle) work for mapping Reaper tracks to my single fader and some buttons?
Code:
Zone Home
OnFXFocus MapFocusedFXToWidgets
Shift Shift
IncludedZones
"Extended Transport"
"Track control"
"My Actions"
"Markers"
IncludedZonesEnd
Master GoSubZone "Master"
ZoneEnd
/ **********************
/ Track Control handles everything about a track
/ ***********************
Zone "Track control"
TrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
Prev TrackBank "-1"
Next TrackBank "+1"
Zone end
|
Master GoSubZone "Master" makes no sense because "Home" has no context (it has no Navigator) to pass on.
Master GoZone "Master" is what you need here.
Also, not sure if Prev and Next will work inside the "Channel" Zone.
They really don't belong there.
Handy tip about Navigators -- ask about context, here are some examples.
TrackVolume -- does TrackVolume need a context -- sure does -- it needs to know which Track -- that is supplied by the Navigator.
Do Prev and Next need a context -- nope they are fine standalone, they don't need a Track, they inc/dec the Track bank location, but they themselves need no Track context.
Great that you are asking about Navigators, they are key concepts in CSI.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 11:17 AM
|
#38
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
... and if the code above should work (in principle, ha ha), then I wonder: What track will initially be mapped to my single fader?
|
CSI always starts at Track 1.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
06-19-2020, 01:14 PM
|
#39
|
Human being with feelings
Join Date: Jun 2014
Location: Sweden
Posts: 329
|
Like this?
Code:
Zone Home
OnFXFocus MapFocusedFXToWidgets
Shift Shift
Prev TrackBank "-1"
Next TrackBank "+1"
IncludedZones
"Extended Transport"
"Track control"
"My Actions"
"Markers"
IncludedZonesEnd
Master GoZone "Master"
ZoneEnd
/ **********************
/ Track Control handles everything about a track
/ ***********************
Zone "Track control"
TrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
ZoneEnd
|
|
|
06-19-2020, 02:38 PM
|
#40
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,184
|
Quote:
Originally Posted by cemark
Like this?
Code:
Zone Home
OnFXFocus MapFocusedFXToWidgets
Shift Shift
Prev TrackBank "-1"
Next TrackBank "+1"
IncludedZones
"Extended Transport"
"Track control"
"My Actions"
"Markers"
IncludedZonesEnd
Master GoZone "Master"
ZoneEnd
/ **********************
/ Track Control handles everything about a track
/ ***********************
Zone "Track control"
TrackNavigator
Arm TrackRecordArm
Solo TrackSolo
Mute TrackMute
Fader TrackVolume
FaderTouch TrackTouch
Rotary TrackPan
ZoneEnd
|
There you go, that's it, nice and clean.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 03:54 AM.
|