Track Actions - FunkybotsEvilTwin/CSIWiki GitHub Wiki
Track Actions
The following CSI actions are available for controlling Reaper's track controls. They will receive their context from the Zone Type, whether a "Track" zone (used for controlling multiple channels) or "SelectedTrack" zone.
Tracks
- TrackVolume
- SoftTakeover7BitTrackVolume
- SoftTakeover14BitTrackVolume
- TrackPanAutoLeft
- TrackPanAutoRight
- TrackPan
- TrackPanWidth
- TrackPanL
- TrackPanR
- TrackSelect
- TrackUniqueSelect
- TrackRangeSelect
- TrackSolo
- TrackMute
- TrackRecordArm
- TrackInvertPolarity
- CycleTrackInputMonitor
- TrackInputMonitorDisplay
- TrackNameDisplay
- TrackNumberDisplay
- TrackVolumeDisplay
- TrackPanAutoLeftDisplay
- TrackPanAutoRightDisplay
- TrackPanDisplay
- TrackPanWidthDisplay
- TrackPanLeftDisplay
- TrackPanRightDisplay
- TrackOutputMeter
- TrackOutputMeterAverageLR
- TrackOutputMeterMaxPeakLR
- TrackRecordInputDisplay
- TrackVolumeDB
- TrackPanPercent
- TrackPanWidthPercent
- TrackPanLPercent
- TrackPanRPercent
TrackVolume, TrackVolumeDisplay
TrackVolume is the most commonly used CSI action for controlling TrackVolume. Use this for surfaces with motorized faders or encoders. TrackVolumeDisplay will display the fader volume on your surface. The example shown below shows the syntax for TrackVolumeDisplay could be used with touch sensitive faders to only show the track volume when touching the faders (you could show the Pan level in that display the rest of the time).
Zone "Track"
Touch+DisplayLower| TrackVolumeDisplay
Fader| TrackVolume
ZoneEnd
If you only wanted to see the TrackVolume on the lower display at all times, you could just remove the Touch portion and have this.
Zone "Track"
DisplayLower| TrackVolumeDisplay
Fader| TrackVolume
ZoneEnd
SoftTakeover7BitTrackVolume
If you are assigning TrackVolume to a 7-Bit MIDI fader or an absolute rotary [a knob with defined start and end positions] you can consider using CSI's SoftTakeover7BitTrackVolume in lieu of TrackVolume in order to avoid volume jumps when you move a fader. The "soft takeover" variant will only change the volume once the fader/knob's value passes through the current value in Reaper.
Zone "Track"
Fader| SoftTakeover7BitTrackVolume
ZoneEnd
SoftTakeover14BitTrackVolume
Same as SoftTakeover7BitTrackVolume, only designed for 14-bit MIDI faders/knobs.
Zone "Track
Fader| SoftTakeover14BitTrackVolume
ZoneEnd
TrackPanAutoLeft, TrackPanAutoRight, TrackPanAutoLeftDisplay, TrackPanAutoRightDisplay
TrackPanAutoLeft will control TrackPan or TrackPanL (if using Dual Pans). TrackPanAutoRight will control TrackPanWidth or TrackPanR (if using Dual Pans). This adds considerable convenience in that you can use Stereo Balance Pans or Dual Pans even in the same Reaper project and control them in CSI without having to change zones. The one difference is that the WidgetMode for TrackPanAutoRight must be fixed (i.e. you can't use the Spread mode for PanWidth and Dot mode for PanR - you have to pick one). Note: in the below example, the ToggleChannel action is being used to flip between TrackPanAutoLeft and TrackPanAutoRight on the same widgets without changing zones.
Zone "Track"
RotaryPush| ToggleChannel
Rotary| TrackPanAutoLeft
Rotary| WidgetMode Dot
Toggle+Rotary| TrackPanAutoRight
Toggle+Rotary| WidgetMode Dot
DisplayLower| TrackPanAutoLeftDisplay
Toggle+DisplayLower| TrackPanAutoRightDisplay
ZoneEnd
Note: When using Dual Pans, TrackL and TrackR automation does not get written from a control surface. This appears to require a change to the Reaper API's.
TrackPan, TrackPanDisplay
Use TrackPan for controlling the TrackPan in Reaper. TrackPanDisplay will display the value of the TrackPan action on your surface.
Zone "Track"
DisplayLower| TrackPanDisplay
Rotary| TrackPan 0
ZoneEnd
Now, notice the number after TrackPan...The numbers are for the LED ring displays on the MCU style encoders:
- 0 means a single led -- perfect for Pan
- 1 means fill from right edge - centre single -- fill to left edge perfect for Width or EQ boost/cut
- 2 - left right fill -- good for level
- 3 - spread -- good for Q
TrackPanWidth, TrackPanWidthDisplay
TrackPanWidth is used for controlling the PanWidth control in Reaper.
Zone "Track"
Shift+DisplayLower| TrackPanWidthDisplay
Shift+Rotary| TrackPanWidth 1
ZoneEnd
TrackPanL, TrackPanLeftDisplay
TrackPanL controls the Left channel's pan position when using the Dual Pan option in Reaper. Note: there is a known limitation where automation is not written when using this CSI action.
Zone "Track"
Alt+DisplayLower| TrackPanLeftDisplay
Alt+Rotary| TrackPanL
ZoneEnd
TrackPanR, TrackPanRightDisplay
TrackPanR controls the Right channel's pan position when using the Dual Pan option in Reaper. Note: there is a known limitation where automation is not written when using this CSI action.
Zone "Track"
Control+DisplayLower| TrackPanRightDisplay
Control+Rotary| TrackPanR
ZoneEnd
TrackSelect
Use this action in a Track zone context to select one of the channels in Reaper.
Zone "Track"
Select| TrackSelect
ZoneEnd
TrackUniqueSelect
This action works similar to TrackSelect, but will deselect any other previously selected tracks.
Zone "Track"
Shift+Select| TrackUniqueSelect
ZoneEnd
TrackRangeSelect
Use this action to select the start and end of a range of tracks and have them all selected.
Zone "Track"
Control+Select| TrackRangeSelect
ZoneEnd
TrackSolo
TrackSolo will toggle the Solo state of the track. This action provides feedback of the solo state to the surface.
Zone "Track"
Solo| TrackSolo
ZoneEnd
TrackMute
TrackSolo will toggle the Solo state of the track. This action provides feedback of the mute state to the surface.
Zone "Track"
Mute| TrackMute
ZoneEnd
TrackRecordArm
Use TrackRecordArm to toggle the "Armed" state of the track. This action provides feedback to the surface.
Zone "Track"
RecordArm| TrackRecordArm
ZoneEnd
TrackInvertPolarity
TrackInvertPolarity will invert the polarity of the track. This action provides feedback to the surface. In this example, because most surfaces do not have a dedicated button for this, I'm using the Shift modifier combined with the RecordArm button to fire the action.
Zone "Track"
Shift+RecordArm| TrackInvertPolarity
ZoneEnd
CycleTrackInputMonitor, TrackInputMonitorDisplay
Use CycleTrackInputMonitor to cycle through the various input monitoring modes in Reaper. TrackInputMonitorDisplay is the corresponding display action allowing you to see the current mode.
Zone "Track"
Option+Arm| CycleTrackInputMonitor
Option+DisplayLower| TrackInputMonitorDisplay
TrackNameDisplay
Use TrackNameDisplay on a display widget to show the name of the track in question. Note: if a track is not named in Reaper, it will display "Track 1", "Track 2", etc. On a surface with only 8 characters, "Track 10" may be truncated to just "Track 1". Workaround: properly name your tracks!
Here's TrackNameDisplay used in a typical "Track" zone.
Zone "Track"
DisplayUpper| TrackNameDisplay
ZoneEnd
In the below example, we've got a display widget called "MainDisplay" and want to assign the selected track's name to always appear on that widget. To do this, we can create a SelectedTrack.zon and simply add the following...
Zone "SelectedTrack"
MainDisplay TrackNameDisplay
ZoneEnd
TrackNumberDisplay
Use TrackNumberDisplay on a display widget to display the Reaper track # on your surface. In the below example, we've got a surface that has 4 display rows (FaderPort8/16, SCE-24 or an OSC device). The track number is being displayed on the second row of the display (DisplayUpperMiddle).
Zone "Track"
DisplayUpper| TrackNameDisplay
DisplayUpperMiddle| TrackNumberDisplay
DisplayLowerMiddle| TrackPanDisplay
DisplayLower| TrackVolumeDisplay
ZoneEnd
That's to Navelpluisje for contributing this action!
TrackOutputMeter
Use this action if your surface has two columns of meter LEDs (one for left and one for right channel). By default, CSI will display the left channel (0) on a mono meter.
Zone "Track"
VUMeter| TrackOutputMeter
ZoneEnd
If you have a surface where the meter has right and left channels, you would break those up into two widgets in your .mst and in your Track zone, append the channel number (0=Left, 1=Right) to the end of the TrackOutputMeter action as shown below.
Zone "Track"
VUMeterLeft| TrackOutputMeter 0
VUMeterRight| TrackOutputMeter 1
ZoneEnd
If you have more than just left and right channels (e.g. surround) you can use TrackOutputMeter 2, TrackOutputMeter 3, etc.
TrackOutputMeterAverageLR
Use this action if your surface has a single column LED for metering and you want that meter to show the average of both the left and right channels.
Zone "Track"
VUMeter| TrackOutputMeterAverageLR
ZoneEnd
TrackOutputMeterMaxPeakLR
Use this action if your surface has a single column LED for metering and you want that meter to show the highest peak value of both the left and right channels.
Zone "Track"
VUMeter| TrackOutputMeterMaxPeakLR
ZoneEnd
TrackRecordInputDisplay
The TrackRecordInputDisplay option is meant to show you which input a given channel in a track or selected track zone is set to. Examples: Mno 1 = Mono 1, 1+2 = Stereo inputs 1 and 2, MD All = MIDI All, etc.
Zone "Track"
Option+DisplayLower| TrackRecordInputDisplay
ZoneEnd
TrackVolumeDB
TrackVolumeDB can be used for any network-based (e.g. OSC) surfaces that would expect literal db values on a fader widget.
Zone "Track"
Fader| TrackVolumeDB
ZoneEnd
TrackPanPercent, TrackPanWidthPercent, TrackPanLPercent, TrackPanRPercent
The TrackPanPercent, TrackPanWidthPercent, TrackPanLPercent, and TrackPanRPercent actions can be used for any network-based (e.g. OSC) surfaces that would expect literal pan percentage values.
Zone "Track"
Fader| TrackVolumeDB
PanEncoder| TrackPanPercent
Shift+PanEncoder| TrackPanWidthPercent
Alt+PanEncoder| TrackPanLPercent
Ctrol+PanEncoder| TrackPanRPercent
ZoneEnd