# Appendix B: The <binding> element Adding a binding to a UI control, MIDI handler, or modulator tells the DecentSampler engine that it should take input from a source and use it to change values in another part of the engine. An example of this would be a knob which controls the volume of a group, a CC controller that changes an effect parameter, or an LFO that modulates an effect parameter. In order to set up a binding for a specific source, create a `` element within the source element. In this example, a labeled knob is controlling the volume of the first group of samples (group 0): ```xml ``` Here's a full list of parameters for the `` element: | Attribute | Description | | |:---------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------| | **`type`** | This tells the engine what type of parameter this is. Valid values are: "amp", "effect", "control". | Required | | **`level`** | Valid values are `ui`, `instrument`, `group` | Required | | **`position`** | The specific 0-based index of the element to be modified by this binding. If you are targeting a group, for example, the first group would be 0, the second group would be 1, etc. | Required | | **`controlIndex`** | When a binding is targeting a control, this is the same thing as the `position` attribute. It is a specific 0-based index of the control to be modified by this binding. If you are targeting an group-level effect, this would specified the group under which the effect lives. | Optional | | **`groupIndex`** | When a binding is targeting a group, this is the same thing as the `position` attribute. It is a specific 0-based index of the group to be modified by this binding. If you are targeting an group-level effect, this would specified the group under which the effect lives. | Optional | | **`effectIndex`** | When a binding is targeting an effect, this is the same thing as the `position` attribute. It is a specific 0-based index of the effect to be modified by this binding. | Optional | | **`modulatorIndex`** | When a binding is targeting a modulator, this is the same thing as the `position` attribute. It is a specific 0-based index of the modulator to be modified by this binding. | Optional | | **`tags`** | A comma-separated list of tags to be modified by this binding. This allows you to set values for multiple groups at once by targeting a tag that is assigned to the groups. | Optional | | **`enabled`** | A value that turns the binding on and off. Valid values are: `true`, `false`. | Optional | | **`identifier`** | A string identifying the specific parameter that you wish to change. If you are modulating based on tags, you would put the tag you are targeting here. See Appendix D for example. | Required | | **`parameter`** | A token describing the specific kind of parameter that you wish to change. A list of controller parameters are below. | Required | | **`translation`** | Valid values are `fixed_value`, `linear` and `table`. Explanation of both translation modes is in a separate section below. Default: `linear` | Optional | | **`translationOutputMin`** | This is the min value this binding should send to the target parameter. This is only looked at if translation is set to `linear`. | Optional | | **`translationOutputMax`** | This is the max value this binding should send to the target parameter. This is only looked at if translation is set to `linear`. | Optional | | **`translationReversed`** | Valid values are `true` and `false`. Default: `false`. This is only looked at if translation is set to `linear`. | Optional | | **`translationTable`** | A list of input-output pairs that make up the translation table. The input and output are separated by commas. The groups of coordinates themselves are separated by semi-colons. Default: `0,0;1,1`. You must have at least two coordinates in your list. This is only looked at if translation is set to `table`. | Optional | | **`translationValue`** | The value that should be passed along when `translation` is set to `fixed_value`. | Optional | ## Binding Parameters for Targeting Note Sequences A special set of binding attributes exist for targeting note sequences: | Attribute | Description | Default | Required | |:--------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------|:----------------------------------------------------| | **`seqIndex`** | A 0-based index of a sequence underneath the `` section | None | Required | | **`seqFollowGlobalTempo`** | Whether or not the sequence should follow the global tempo. Valid values are `true` and `false`. If this is set to false, then playback will be hardcoded at 120BPM. This can be useful if you want to assure that sequences will always play back at the same rate regardless of the DAW clock. | `true` | Optional | | **`seqTriggerBehavior`** | What the binding should do with the sequence in question. Valid values are `on` (start playing the sequence), `off` (stop playing the sequence), `midi_key` (special value that will cause the binding to follow a specific MIDI key note binding) | `midi_key` | Optional | | **`seqPlayerIdentifier`** | An identifier used for tracking the state of a sequence. This value can be any sequence of numbers or letters. | None | Required when `seqTriggerBehavior` is `on` or `off` | | **`seqTrackMidiInputVelocity`** | Whether or not the sequence should respect the velocity of the incoming MIDI note. This can only be used when the sequence is being triggered by a MIDI note binding. Value should be a floating point number from 0.0 to 1. | | Optional | | **`seqTranspose`** | Transpose the notes in the sequence by an arbitrary number of half steps. Value should be a floating point number from -36 to 36. | Any sequence of numbers of letters | Optional | | **`seqTransposeWithRootNote`** | Transpose the notes in the sequence relative to the pitch of the incoming MIDI note. This can only be used when the sequence is being triggered by a MIDI note binding. Value should be a floating point number from 0 to 127. | Any sequence of numbers of letters | Optional | | **`seqPlaybackRate`** | The speed of playback. Value should be a floating point number from 0.001 to 10000. | 1.0 | Optional | | **`seqLoopMode`** | Valid values are: `forward`, `reverse`, `random`, `random_no_repeat`, `no_loop` | `forward` | Optional | ## Controllable Parameters This is a list of parameters that can be used in conjunction with the `` element above. NOTE: The table below scrolls to the right. | Description | `type` | `level` | `parameter` | Valid Range | Modulatable | Additional required parameters | |:-----------------------------------------------------|:-----------------------|:------------------------|:--------------------------------|:--------------------------------------------------------------|:------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Global Volume | `amp` | `instrument` | `AMP_VOLUME` | 0.0 - 16.0 | No | N/A | | Global Tuning | `amp` | `instrument` | `GLOBAL_TUNING` | -36.0 - 36.0 | No | N/A | | Global Pan | `amp` | `instrument` | `PAN` | -100 - 100 | No | N/A | | Sample Start (see note 2 below) | `general` | `instrument` or `group` | `SAMPLE_START` | 0 - last sample | No | This value will be in number of raw samples where 0 is the beginning. See note 2 below. | | Sample End (see note 2 below) | `general` | `instrument` or `group` | `SAMPLE_END` | 0 - last sample | No | This value will be in number of raw samples where 0 is the beginning. See note 2 below. | | Loop Start (see note 2 below) | `general` | `instrument` or `group` | `LOOP_START` | 0 - last sample | No | This value will be in number of raw samples where 0 is the beginning. See note 2 below. | | Loop End (see note 2 below) | `general` | `instrument` or `group` | `LOOP_END` | 0 - last sample | No | This value will be in number of raw samples where 0 is the beginning. See note 2 below. | | Amplitude Velocity Tracking | `amp` | `instrument` | `AMP_VEL_TRACK` | 0.0 - 1.0 | No | N/A | | Global Amp Envelope Attack | `amp` | `instrument` | `ENV_ATTACK` | 0.0 - 10.0 | No | N/A | | Global Amp Envelope Attack Curve Shape | `amp` | `instrument` | `ENV_ATTACK_CURVE` | -100 - 100 | No | N/A | | Global Amp Envelope Decay | `amp` | `instrument` | `ENV_DECAY` | 0.0 - 25.0 | No | N/A | | Global Amp Envelope Decay Curve Shape | `amp` | `instrument` | `ENV_DECAY_CURVE` | -100 - 100 | No | N/A | | Global Amp Envelope Sustain | `amp` | `instrument` | `ENV_SUSTAIN` | 0.0 - 1.0 | No | N/A | | Global Amp Envelope Release | `amp` | `instrument` | `ENV_RELEASE` | 0.0 - 25.0 | No | N/A | | Global Amp Envelope Release Curve Shape | `amp` | `instrument` | `ENV_RELEASE_CURVE` | -100 - 100 | No | N/A | | Glide/Portamento Time | `amp` | `instrument` | `GLIDE_TIME` | 0.0 - 10.0 | No | N/A | | Group Enabled / Disabled | `amp` | `group` | `ENABLED` | true, false | | `groupIndex` or `position` contains the 0-based index of the group | | Group Volume | `amp` | `group` | `AMP_VOLUME` | 0.0 - 16.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Group Tuning | `amp` | `group` | `GROUP_TUNING` | -36.0 - 36.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Pan | `amp` | `group` | `PAN` | -100 - 100 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Amplitude Velocity Tracking | `amp` | `group` | `AMP_VEL_TRACK` | 0.0 - 1.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Group Amp Envelope Attack | `amp` | `group` | `ENV_ATTACK` | 0.0 - 10.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Group Amp Envelope Decay | `amp` | `group` | `ENV_DECAY` | 0.0 - 25.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Group Amp Envelope Sustain | `amp` | `group` | `ENV_SUSTAIN` | 0.0 - 1.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Group Amp Envelope Release | `amp` | `group` | `ENV_RELEASE` | 0.0 - 25.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 1 Volume | `amp` | `group` | `OUTPUT_1_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 2 Volume | `amp` | `group` | `OUTPUT_2_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 3 Volume | `amp` | `group` | `OUTPUT_3_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 4 Volume | `amp` | `group` | `OUTPUT_4_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 5 Volume | `amp` | `group` | `OUTPUT_5_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 6 Volume | `amp` | `group` | `OUTPUT_6_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 7 Volume | `amp` | `group` | `OUTPUT_7_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 8 Volume | `amp` | `group` | `OUTPUT_8_VOLUME` | 0.0 - 1 | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 1 Target | `amp` | `group` | `OUTPUT_1_TARGET` | Any of the valid values for `output1Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 2 Target | `amp` | `group` | `OUTPUT_2_TARGET` | Any of the valid values for `output2Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 3 Target | `amp` | `group` | `OUTPUT_3_TARGET` | Any of the valid values for `output3Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 4 Target | `amp` | `group` | `OUTPUT_4_TARGET` | Any of the valid values for `output4Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 5 Target | `amp` | `group` | `OUTPUT_5_TARGET` | Any of the valid values for `output5Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 6 Target | `amp` | `group` | `OUTPUT_6_TARGET` | Any of the valid values for `output6Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 7 Target | `amp` | `group` | `OUTPUT_7_TARGET` | Any of the valid values for `output7Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Output 8 Target | `amp` | `group` | `OUTPUT_8_TARGET` | Any of the valid values for `output8Target` | No | `groupIndex` or `position` contains the 0-based index of the group | | Group Glide/Portamento Time | `amp` | `group` | `GLIDE_TIME` | 0.0 - 10.0 | | `groupIndex` or `position` contains the 0-based index of the group | | Tag Enabled | `amp` | `tag` | `TAG_ENABLED` | true, false | | `identifier` contains the tag name | | Tag Volume | `amp` | `tag` | `TAG_VOLUME` | 0.0 - 16.0 | | `identifier` contains the tag name | | MIDI Note Mapping Enabled | `note` | `midi` | `ENABLED` | Any number | | `noteIndex` that contains the 0-based index of the note within the `` element | | MIDI Note Binding Enabled | `note_binding` | `midi` | `ENABLED` | Any number | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqIndex` | `note_binding` | `midi` | `SEQ_INDEX` | Any whole number | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqLoopMode` | `note_binding` | `midi` | `SEQ_LOOP_MODE` | `forward`, `reverse`, `random`, `random_no_repeat`, `no_loop` | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqTransposeWithRootNote` | `note_binding` | `midi` | `SEQ_TRANSPOSE_WITH_ROOT_NOTE` | 0 - 128 | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqPlaybackRate` | `note_binding` | `midi` | `SEQ_PLAYBACK_RATE` | 0.001 - 10000 | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqTrackMidiInputVelocity` | `note_binding` | `midi` | `SEQ_TRACK_MIDI_INPUT_VELOCITY` | 0.0 - 1.0 | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Note Binding Change `seqTranspose` | `note_binding` | `midi` | `SEQ_TRANSPOSE` | -36 - 36 | | `noteIndex` that contains the 0-based index of the note within the `` element and `bindingIndex` that contains the index of the binding being referenced. | | MIDI Velocity Binding Enabled | `velocity_binding` | `midi` | `ENABLED` | Any number | | `bindingIndex` that contains the index of the binding being referenced. | | Modulator Amount (Depth) | `modulator` | `instrument` | `MOD_AMOUNT` | 0.0 - 1.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | LFO Modulator Rate (or Frequency) | `modulator` | `instrument` | `FREQUENCY` | 0.0 - 22000.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Attack | `modulator` | `instrument` | `ENV_ATTACK` | 0.0 - 10.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Attack Curve Shape | `modulator` | `instrument` | `ENV_ATTACK_CURVE` | -100 - 100 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Decay | `modulator` | `instrument` | `ENV_DECAY` | 0.0 - 25.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Decay Curve Shape | `modulator` | `instrument` | `ENV_DECAY_CURVE` | -100 - 100 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Sustain | `modulator` | `instrument` | `ENV_SUSTAIN` | 0.0 - 1.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Release | `modulator` | `instrument` | `ENV_RELEASE` | 0.0 - 25.0 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Envelope Modulator Release Curve Shape | `modulator` | `instrument` | `ENV_RELEASE_CURVE` | -100 - 100 | | `modulatorIndex` contains the 0-based index of the modulator in question | | Sequence Rate | `note_sequence` | `instrument` | `RATE` | 0.01 - 100 | | `seqIndex` contains the 0-based index of the note sequence in question | | All Notes Off | `general` | `instrument` | `ALL_NOTES_OFF` | true | | | ### UI Parameters NOTE: The table below scrolls to the right. | Description | `type` | `level` | `parameter` | Valid Range | Modulatable | Additional required parameters | |:-----------------------------------------------------|:-----------------------|:------------------------|:--------------------------------|:--------------------------------------------------------------|:------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | UI Background Image Path | `general` | `ui` | `BG_IMAGE` | Text | | | | UI Button State Binding Enabled | `button_state_binding` | `ui` | `ENABLED` | true, false | | `controlIndex` contains the 0-based index of the control in question (see note 1 below), `stateIndex` contains the 0-based index of the state in question, and `bindingIndex` that contains the index of the binding being referenced. | | UI Control Enabled | `control` | `ui` | `ENABLED` | true, false | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Visibile | `control` | `ui` | `VISIBLE` | true, false | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Value | `control` | `ui` | `VALUE` | Any number | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Text | `control` | `ui` | `TEXT` | Text | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Minimum Value | `control` | `ui` | `MIN_VALUE` | Any number | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Maximum Value | `control` | `ui` | `MAX_VALUE` | Any number | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Control Value Type | `control` | `ui` | `VALUE_TYPE` | float, integer, musical_time | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Image Control Path | `control` | `ui` | `PATH` | Text | | `controlIndex` or `position` contains the 0-based index of the control in question (see note 1 below) | | UI Keyboard Coloring Enable / Disable | `keyboard_color` | `ui`. | `ENABLED` | true, false | | `colorIndex` that contains the 0-based index of the color element within the `` element | ### Effects Parameters NOTE: The table below scrolls to the right. | Description | `type` | `level` | `parameter` | Valid Range | Modulatable | Additional required parameters | |:-----------------------------------------------------|:-----------------------|:------------------------|:---------------------------------------------------------------------------------------------|:--------------------------------------------------------------|:------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Effect Enabled (all effects) | `effect` | `instrument` | `ENABLED` | false, true | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Convolution Mix Level | `effect` | `instrument` | `FX_MIX` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Convolution IR File | `effect` | `instrument` | `FX_IR_FILE` | Text | No | `effectIndex` or `position` contains the 0-based index of the effect | | Filter Frequency (for several filters) | `effect` | `instrument` | `FX_FILTER_FREQUENCY` | 0.0 - 22000.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Peak or Notch Filter Q | `effect` | `instrument` | `FX_FILTER_Q` | 0.01 - 18.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Peak or Notch Filter Gain | `effect` | `instrument` | `FX_FILTER_GAIN` | 0.0 - 10.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Low-pass or High-pass Filter Resonance | `effect` | `instrument` | `FX_FILTER_RESONANCE` | 0.0 - 5.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Reverb Wet Level | `effect` | `instrument` | `FX_REVERB_WET_LEVEL` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Reverb Room Size | `effect` | `instrument` | `FX_REVERB_ROOM_SIZE` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Reverb Damping | `effect` | `instrument` | `FX_REVERB_DAMPING` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Chorus/Phaser/Convolution Mix Level | `effect` | `instrument` | `FX_MIX` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Chorus/Phaser Mod Depth | `effect` | `instrument` | `FX_MOD_DEPTH` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Chorus/Phaser Mod Rate | `effect` | `instrument` | `FX_MOD_RATE` | 0.0 - 10.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Phaser Center Frequency | `effect` | `instrument` | `FX_CENTER_FREQUENCY` | 0.0 - 22000.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Phaser/Delay Feedback | `effect` | `instrument` | `FX_FEEDBACK` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Delay Time | `effect` | `instrument` | `FX_DELAY_TIME` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Delay Time Format | `effect` | `instrument` | `FX_DELAY_TIME_FORMAT` | seconds, musical_time | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Delay Stereo Offset | `effect` | `instrument` | `FX_STEREO_OFFSET` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Delay Wet Level | `effect` | `instrument` | `FX_WET_LEVEL` | 0.0 - 1.0 | Yes | `effectIndex` or `position` contains the 0-based index of the effect | | Gain Level | `effect` | `instrument` | `LEVEL` | 0.0 - 8.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Wave Folder Drive Level | `effect` | `instrument` | `FX_DRIVE` | 1 - 100 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Wave Folder Threshold | `effect` | `instrument` | `FX_THRESHOLD` | 1 - 100 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Wave Shaper Drive Level | `effect` | `instrument` | `FX_DRIVE` | 0.0 - 1000.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Wave Shaper Output Level | `effect` | `instrument` | `FX_OUTPUT_LEVEL` | 0.0 - 8.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | | Wave Shaper Drive Boost | `effect` | `instrument` | `FX_DRIVE_BOOST` | 0.0 - 1.0 | Yes | `groupIndex` or `position` contains the 0-based index of the group | ### Bus-related Parameters NOTE: The table below scrolls to the right. | Description | `type` | `level` | `parameter` | Valid Range | Modulatable | Additional required parameters | |:-----------------------------------------------------|:-----------------------|:------------------------|:---------------------------------------------------------------------------------------------|:--------------------------------------------------------------|:------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Bus Volume | `amp` | `bus` | `BUS_VOLUME` | 0.0 - 16.0 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 1 Volume | `amp` | `bus` | `OUTPUT_1_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 2 Volume | `amp` | `bus` | `OUTPUT_2_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 3 Volume | `amp` | `bus` | `OUTPUT_3_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 4 Volume | `amp` | `bus` | `OUTPUT_4_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 5 Volume | `amp` | `bus` | `OUTPUT_5_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 6 Volume | `amp` | `bus` | `OUTPUT_6_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 7 Volume | `amp` | `bus` | `OUTPUT_7_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 8 Volume | `amp` | `bus` | `OUTPUT_8_VOLUME` | 0.0 - 1 | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 1 Target | `amp` | `bus` | `OUTPUT_1_TARGET` | Any of the valid values for `output1Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 2 Target | `amp` | `bus` | `OUTPUT_2_TARGET` | Any of the valid values for `output2Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 3 Target | `amp` | `bus` | `OUTPUT_3_TARGET` | Any of the valid values for `output3Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 4 Target | `amp` | `bus` | `OUTPUT_4_TARGET` | Any of the valid values for `output4Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 5 Target | `amp` | `bus` | `OUTPUT_5_TARGET` | Any of the valid values for `output5Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 6 Target | `amp` | `bus` | `OUTPUT_6_TARGET` | Any of the valid values for `output6Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 7 Target | `amp` | `bus` | `OUTPUT_7_TARGET` | Any of the valid values for `output7Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Bus Output 8 Target | `amp` | `bus` | `OUTPUT_8_TARGET` | Any of the valid values for `output8Target` | No | `busIndex` or `position` contains the 0-based index of the bus | | Effect Settings | `effect` | `bus` | Any of the effect settings that can be addressed at the global level can be addressed here. | Same as their equivalent global-level effect parameterss. | No | `busIndex` contains the 0-based index of the bus, `effectIndex` contains the 0-based index of the effect. | 1. NOTE: The indexes of the parameter list also include UI controls that are not editable, such as `