Navigation Actions - FunkybotsEvilTwin/CSIWiki GitHub Wiki
- Bank
- GoHome
- AllSurfacesGoHome
- GoAssociatedZone
- GoSubZone
- LeaveSubZone
- GoPage
- NextPage
- PageNameDisplay
- ToggleSynchPageBanking
- ToggleScrollLink
- ClearFXSlot
- ClearFocusedFX
- ClearFocusedFXParam
- ClearSelectedTrackFX
Bank
Use the Bank action followed by the zone name and the number of channels you'd like to bank the surface by to navigate your hardware. It's common to place the Bank action for a track.zon and selectedtrack.zon in your "Buttons" zone, then have the bank actions for FXMenus, Sends, and Receives in their respective zone files.
Here's the new syntax in a typical Track zone...
BankLeft Bank Track -8
BankRight Bank Track 8
ChannelLeft Bank Track -1
ChannelRight Bank Track 1
For comparison, here is the new syntax in a SelectedTrack zone...
BankLeft Bank SelectedTrack -8
BankRight Bank SelectedTrack 8
ChannelLeft Bank SelectedTrack -1
ChannelRight Bank SelectedTrack 1
And here's the full list of supported Bank zones/types...
Bank Track
Bank VCA
Bank Folder
Bank TrackSend
Bank TrackReceive
Bank TrackFXMenu
Bank SelectedTrack
Bank SelectedTrackSend
Bank SelectedTrackReceive
Bank SelectedTrackFXMenu
Bank MasterTrackFXMenu
GoHome, AllSurfacesGoHome
Assign this action to a button to return to the Home Zone and effective reset your Control Surface. If your surface supports feedback, you will see a light engaged when the Home zone is active.
Zone "Buttons"
GlobalView GoHome
ZoneEnd
If you would like all surfaces on your Page to return home with a single CSI action, you can use the AllSurfacesGoHome action to return all Home at once.
Zone "Buttons"
F1 AllSurfacesGoHome
ZoneEnd
GoAssociatedZone
Use the GoAssociatedZone action to activate Associated Zones in CSI such as Sends, Receives, FX Menus, etc. The syntax for this action is GoAssociatedZone folowed by the Associated Zone name. Here is an example below for an MCU/X-Touch style Buttons zone. If your surface supports feedback, you will see a light engaged when the Associated Zone is active.
Zone "Buttons"
Track GoHome
Pan GoAssociatedZone VCA
EQ GoAssociatedZone Folder
Send GoAssociatedZone SelectedTrackSend
Global+Send GoAssociatedZone TrackSend
Plugin GoAssociatedZone SelectedTrackFXMenu
Global+Plugin GoAssociatedZone TrackFXMenu
Instrument GoAssociatedZone SelectedTrackReceive
Global+Instrument GoAssociatedZone TrackReceive
MidiTracks GoAssociatedZone SelectedTrackTCPFX
Inputs GoAssociatedZone MasterTrackFXMenu
GoSubZone, LeaveSubZone
Use the GoSubZone action when you want to create custom SubZones to be called up on-demand. The SubZones need to be listed as SubZones within the surface definition. In the below example, we've got two SubZones, one for a "Marker" zone and another for a "Zoom" SubZone. The syntax to flag the included SubZones and the buttons to activate them would look like this...
Zone "Buttons"
SubZones
"Marker"
"Zoom"
SubZonesEnd
Marker GoSubZone "Marker"
Zoom GoSubZone "Zoom"
The SubZone itself would look like any other standalone .zon file. Also note that once we are in one of those custom SubZones, we need a way to exit the SubZone. You may want to use the same button you used to activate the SubZone in order for it to behave like a toggle. See the example below from the Marker SubZone.
Zone "Marker"
Up Reaper 40613 // Delete marker near cursor
Down Reaper 40157 // Insert marker at current or edit position
Right Reaper 40173 // Go to next marker or project end
Left Reaper 40172 // Go to previous marker or project start
JogWheelRotaryCW Reaper 40173 // Go to next marker or project end
JogWheelRotaryCCW Reaper 40172 // Go to previous marker or project start
Marker LeaveSubZone
ZoneEnd
Click here to learn about FX SubZones.
GoPage, NextPage, PageNameDisplay
If using multiple Pages, the buttons on surface can be assigned to switch between Pages. Use the CSI GoPage action to jump between Pages in CSI. Use NextPage to cycle between Pages. In the below example, I have a Page called Home and another called Mix. Those Pages will point to different zone folders that are configured to function differently based on the page. See Pages for more details about when and how to use Pages in CSI, for now we'll just focus on the actions to change pages.
On my Home page, I may want to utilize the "Channel" button on my surface to enter the Mix Page. Note: this "Buttons.zon" exists on the "HomePage" Page, and is different than the "Buttons.zon" on the "Mix" Page.
Zone "Buttons"
Channel GoPage "Mix" // Activates the Mix page
ZoneEnd
But in order to get back to the HomePage, I probably want to make sure I have the opposite happening when the Mix page is active. Note: this "Buttons.zon" exists on the "Mix" Page, and is different than the "Buttons.zon" on the "HomePage".
Zone "Buttons"
Channel GoPage "HomePage" // Activates the Home page
ZoneEnd
You could also use the NextPage action to just cycle through the Pages in your CSI setup. In a two-page setup this would essentially be a toggle but if you had 3 or more pages it will cycle through them.
Zone "Buttons"
Channel NextPage // Cycles through the list of pages
ZoneEnd
Finally, while not a Navigation Action, the PageNameDisplay action can be assigned to a Display widget in order to show the name of the currently active Page.
MainDisplay PageNameDisplay
ToggleSynchPageBanking
This action will toggle whether or not surface banking stays in sync when you change Pages in CSI. Example: if your surface is banked to show channels 25 to 32 on your HomePage, then you switch to a second page, do you want to maintain the banking position? This is enabled by default. This action will toggle the behavior.
Zone "Buttons"
F8 ToggleSynchPageBanking
ZoneEnd
ToggleScrollLink
This action toggles the behavior where Reaper's MCP will follow CSI's banking and scroll in sync with the surface. Note: as of the August 5, 2022 CSI release, this defaults to Off (previously defaulted to On).
Zone "Buttons"
F7 ToggleScrollLink
ZoneEnd
if you want to have ToggleScrollLink default to "On", you could include it in your Home.zon along with an OnInitialization virtual widget as shown below. Important note: ToggleScrollLink is actually a "Page-level" action. So if you had included "OnInitialization ToggleScrollLink" in two surface zone files, or shared one zone folder between two devices, the action would actually fire twice thus not actually changing the state (changing it from it's default off state, to on, to off again). The current workaround would be to only include this action in one surface home.zon and not to share zone folders between two surfaces if you want ScrollLink enabled by default.
Zone "Home"
OnInitialization ToggleScrollLink
IncludedZones
"Buttons"
"Track"
"SelectedTrack"
"MasterTrack"
IncludedZonesEnd
AssociatedZones
"SelectedTrackFXMenu"
"SelectedTrackSend"
"SelectedTrackReceive"
"TrackSend"
"TrackReceive"
AssociatedZonesEnd
ZoneEnd
ClearFXSlot
ClearFXSlot deactivates the currently mapped FX slot. Very handy if you have an 8-channel surface like an MCU, X-Touch etc., that you use to map FX using FXMenu and want to return to the menu.
Typical usage:
Zone "VST: UAD Harrison 32C (Universal Audio, Inc.)" "Har32C"
Plugin ClearFXSlot
When you press Plugin you will be returned to the FXMenu.
If you would like this included in Auto-Generated FX Zones, you can also add this to your FXEpilogue.zon
Zone FXEpilogue
Plugin ClearFXSlot
ZoneEnd
ClearFocusedFX
Use the ClearFocusedFX action if you're using FocusedFX and find that after unfocusing the FX, that your prior zone is not returning. Example: you're calling up FocusedFX from a Track zone, and after unfocusing the FX, you expect the track zone to return. You would use the ClearFocusedFX action to let CSI know that you're no longer in a FocusedFX state and restore the Track.zon.
Zone "Buttons"
Alt+Plugin ClearFocusedFX
ZoneEnd
ClearFocusedFXParam
If you're calling a separate FocusedFXParam zone and want to clear it and return to the prior zone, you'd use the ClearFocusedFXParam action.
Zone "FocusedFXParam"
Fader1 FocusedFXParam
DisplayUpper1 FocusedFXParamNameDisplay
DisplayLower1 FocusedFXParamValueDisplay
F1 ClearFocusedFXParam
ZoneEnd
ClearSelectedTrackFX
If you're using a SelectedTrackFX setup, and need to clear that zone(s) and return to the prior setup, you would use the ClearSelectedTrackFX action.
Zone "Buttons"
F8 ClearSelectedTrackFX
ZoneEnd