Skip to content

Configurable features

paradajz edited this page Dec 11, 2024 · 157 revisions

This section lists all possible configurable features on OpenDeck boards. All features on OpenDeck boards are grouped into several blocks. Each block has one or more sections. Configuration can be done either via SysEx configuration or using Web configuration tool.

Global

This configuration block contains parameters applied globally.

MIDI settings

This section allows configuration of several settings related to sending and receiving of MIDI messages. All settings are disabled by default.

  • Standard note off - When enabled, standard MIDI note off will be sent. If disabled, note off is sent as note on event with velocity 0.
  • Running status (DIN MIDI only) - When enabled, MIDI traffic can be reduced. See here for more info. This setting can cause issues on older MIDI gear so it's best to leave it disabled. DIN MIDI state must be enabled in order to use this option.
  • DIN MIDI - When enabled, outgoing MIDI traffic will be sent to DIN MIDI out, and incoming messages will be processed.
  • BLE MIDI - When enabled, outgoing MIDI traffic will be sent via BLE interface, and incoming messages will be processed.
  • DIN to DIN thru - When enabled, all incoming traffic from DIN MIDI will be forwarded to DIN MIDI out.
  • DIN to USB thru - When enabled, all incoming traffic from DIN MIDI will be forwarded to USB MIDI out.
  • DIN to BLE thru - When enabled, all incoming traffic from DIN MIDI will be forwarded to USB BLE out.
  • USB to DIN thru - When enabled, all incoming traffic from USB MIDI will be forwarded to DIN MIDI out.
  • USB to USB thru - When enabled, all incoming traffic from USB MIDI will be forwarded to USB MIDI out.
  • USB to BLE thru - When enabled, all incoming traffic from USB MIDI will be forwarded to BLE MIDI out.
  • Use global MIDI channel - When enabled, specified global MIDI channel will be used for all components. Individual channel settings for components will be ignored.
  • Global MIDI channel - Specifies global MIDI channel which will be used for all components if global channel usage is enabled. Accepted values are 1-17. Channel 17 is a special value indicating "omni" channel setting. When channel 17 is set, all outgoing MIDI traffic will be sent on each channel simultaneously (provided that the traffic is a channel message). As an example, buttons won't just send a single channel message on specific channel, but they will do so for each channel, that is, 16 messages will be sent. For incoming data, channel 17 is akin to ignoring the channel completely, e.g. LEDs will listen to messages on all channels if channel 17 is defined.

Presets

This section contains the following parameters related to presets:

  • Active preset - Currently active preset.
  • Preset preservation - Controls whether or not active preset is preserved after the board is reset. Disabled by default (first preset will be always active on start-up).
  • Disable forced value refresh after preset change - If disabled, all components will resend their values once the preset is changed. Disabled by default.
  • Enable preset change with MIDI Program Change in - When enabled, upon receiving MIDI Program Change message (on any interface and any channel) the board will change the preset to cooresponding program change value.

Buttons

Button block is used to configure buttons connected to OpenDeck boards.

Type

Buttons can be configured as momentary or latching. When momentary type is set, different MIDI messages are sent when button is pressed or released. For example, if note message type is used, on press, note on will be sent with configured velocity, and that same message will be sent with velocity 0 on release. When latching type is set, MIDI note on is sent when button is pressed, and note off is sent when button is pressed again. Depending on message type, this setting can be ignored.

Message type

The following are supported message types:

  • Notes (default setting)
  • Notes / Off only - Only note off will be sent. Sent on press only - button type is ignored.
  • Program change - Sent on press only - button type is ignored.
  • Program change, increment - Every press of the button will increase the value of program for specified channel. Sent on press only - button type is ignored.
  • Program change, decrement - Every press of the button will decrease the value of program for specified channel. Sent on press only - button type is ignored.
  • Program change offset, increment - Every press of the button will increase the value of internal program change offset. This offset is then applied to configured program for specific button or encoder, e.g. if button 0 sends Program Change 0 and offset is 1, the sent value will be 1 instead of configured 0. This option makes it possible to shuffle through entire program range with just few buttons. No message is sent - button type is ignored.
  • Program change offset, decrement - Same behaviour as above, only the offset is decremented.
  • CC - Sent on press only - button type is ignored.
  • CC with 0 reset - Same as CC but on release (depending on button type) CC with value 0 will be sent.
  • CC / 0 only - Sends only configured controller number with value 0. Sent on press only - button type is ignored
  • MMC Play - Sent on press only - button type is ignored.
  • MMC Stop - Sent on press only - button type is ignored.
  • MMC Pause - Sent on press only - button type is ignored.
  • MMC Record - Recording start message will be sent on first press and recording stop message on second. Sent on press only - button type is ignored.
  • Real Time Clock - Sent on press only - button type is ignored.
  • Real Time Start - Sent on press only - button type is ignored.
  • Real Time Continue - Sent on press only - button type is ignored.
  • Real Time Stop - Sent on press only - button type is ignored.
  • Real Time Active Sensing - Sent on press only - button type is ignored.
  • Real Time System Reset - Sent on press only - button type is ignored.
  • Change OpenDeck preset - No MIDI message is being sent. Sent on press only - button type is ignored.
  • None - No MIDI message is being sent.
  • Multi Value IncReset Note - Each successive press will send MIDI note with increasing velocity. In this mode, velocity value is treated like step value by which each next sent velocity value is summed. For example, if velocity is set to 32, first sent MIDI note will have velocity 32, then 64, then 96 etc. Once the value reaches 127, next press will start from configured velocity (step) value. Sent on press only - button type is ignored.
  • Multi Value IncDec Note - Similar to Multi Value IncReset Note mode - once the velocity reaches maximum value, next presses will decrement the value until 0 is reached. This is more akin to how the actual multi-position switches behave. Sent on press only - button type is ignored.
  • Multi Value IncReset CC - Same as Multi Value IncReset Note, only CC message is sent instead of Note.
  • Multi Value IncDec CC - Same as Multi Value IncDec Note, only CC message is sent instead of Note.

MIDI ID

Each button can have assigned any MIDI ID between 0-127. By default, button has same MIDI ID as its index (button 0 has ID 0, button 1 has ID 1 etc.). This ID represents different value depending on message type:

  • Notes - ID is MIDI note number
  • Program change - ID is MIDI program number
  • CC - ID is MIDI CC number
  • MMC - ID is MMC channel number
  • Real Time - ID is ignored
  • Change OpenDeck preset - ID is preset being activated when the button is pressed

Value

Each button can have assigned any MIDI velocity (for notes) or control value (for CC messages) between 1 and 127 for press (release velocity is always 0 and it isn't configurable).

Channel

Each button can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1.

Encoders

This block is used to configure encoders connected to digital inputs on OpenDeck boards.

Enable/disable

Enables or disables encoder. All encoders are disabled by default, since enabling single encoder disables two buttons.

Invert

Encoders send different values when rotating in different directions. Those values can be inverted using this option. Disabled by default.

Acceleration

Disabled by default for all encoders. If enabled, acceleration is used if encoding mode is set to Control Change (both 7 and 14-bit variants), Pitch Bend or 7/14-bit NRPN. Acceleration can be set to the following values:

  • Disabled
  • Slow
  • Medium
  • Fast

Message type

The following are supported message types:

  • 7Fh01h - Sends CC message with value 1 in one direction, and value 127 in other direction.
  • 3Fh41h - Sends CC message with value 63 in one direction, and value 65 in other direction.
  • Single Note with variable value - Sends single Note message with continuous range (0-127), with positive increments by one in one direction, and negative in other.
  • Single Note with repeated value, both directions - Sends single Note message with repeated (fixed) value in both directions.
  • Single Note with repeated value in single direction / value 0 in other - Sends single Note message with repeated (fixed) value in one direction and with value 0 in other.
  • Two Note with repeated value, both directions - Sends two Note messages, one for each direction, with fixed value in both directions.
  • Program change - Increments program on current encoder channel in one direction, and decrements it in other direction.
  • CC 7-bit - Sends CC message with continuous range (0-127), with positive increments by one in one direction, and negative in other.
  • CC 14-bit - Also called "High resolution MIDI" in Ableton. Sends CC message with continuous range (0-16383), with positive increments by one in one direction, and negative in other. Sent as two CC messages with second having ID offset of 32 (ie. if CC ID is set to 0, second message will have CC ID set to 32). When used, ID must be set lower than 96, otherwise no data will be sent.
  • Pitch bend - Sends Pitch Bend message with continuous range (0-16383), with positive increments by one in one direction, and negative in other.
  • NRPN/7-bit - This message type is sent as three CC messages with first two being NRPN number (0-16383) and third one being CC value (0-127), with positive increments by one in one direction, and negative in other.
  • NRPN/14-bit - This message type is sent as four CC messages with first two being NRPN number (0-16383) and last two being CC value (0-16383), with positive increments by one in one direction, and negative in other.
  • Change OpenDeck preset - switches between OpenDeck presets with positive increments by one in one direction, and negative in other.

MIDI ID 1

Each encoder can have assigned any MIDI ID between 0-127. By default, encoder has same MIDI ID as its index (encoder 0 has ID 0, encoder 1 has ID 1 etc.).

MIDI ID 2

Second MIDI ID used when the encoder is configured to send two messages, one for each direction.

Channel

Each encoder can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1.

Pulses per step

Amount of pulses encoder generates per step. Default value is 4 for all encoders.

Remote CC sync

When enabled, received CC value will be assigned to encoder if the following criteria is met:

  • Encoder is in continuous CC mode
  • Received MIDI channel is the same as the one configured on encoder, unless "omni" channel is used in which case incoming channel is ignored
  • Received MIDI ID is the same as the one configured on encoder

Disabled by default for all encoders.

Lower limit

Default lower limit is 0. Used only for continuous messages.

Upper limit

Default upper limit is 127/16383 (depending on the message type). Used only for continuous messages.

Repeated value

Note value to send when the encoder is configured in one of the fixed value modes.

Analog

Analog block is used to configure components connected to analog section on OpenDeck boards.

Enable/disable

All analog inputs are disabled by default. Before using any component connected to analog input, input must be enabled first.

Invert

Potentiometers connected to OpenDeck boards send CC values 0-127, depending on their position. This setting can invert that range for any analog input. Disabled by default.

Message type

The following are supported message types:

  • Control change (7-bit) - Sends CC message with control value being 0-127 depending on applied voltage, that is, potentiometer position. This is default option.
  • Control change (14-bit) - Also called "High resolution MIDI" in Ableton. Sends CC message with continuous range (0-16383) depending on applied voltage, that is, potentiometer position. Sent as two CC messages with second having ID offset of 32 (ie. if CC ID is set to 0, second message will have CC ID set to 32). When used, ID must be set to lower than 96, otherwise no data will be sent.
  • Note - Sends note message with velocity being 0-127 depending on applied voltage, that is, potentiometer position.
  • FSR - Used for FSR sensors. This type sends note message with velocity being applied pressure on FSR (0-127).
  • Button - Acts like normal button. When analog input is set to this type, further configuration is done in button block with button index being last button index + analog input index, ie. if maximum number of buttons is 64, and analog input 0 (1 in web configurator) is configured as button, that button is configured in button block with button index 65 (or 66 in web configurator). Every other analog input setting is ignored once this option is enabled.
  • NRPN/7-bit - This message type is sent as three CC messages with first two being NRPN number (0-16383) and third one being CC value (0-127).
  • NRPN/14-bit - This message type is sent as four CC messages with first two being NRPN number (0-16383) and last two being CC value (0-16383).
  • Pitch Bend - Type used to send pitch bend messages with 14-bit range (0-16383).

MIDI ID

Each analog input can have assigned any MIDI ID between 0-127. By default, analog input has same MIDI ID as its index (analog input 0 has ID 0, analog input 1 has ID 1 etc.).

Lower limit

Default lower limit is 0. When any other lower limit is used, the range gets scaled.

Upper limit

Default upper limit is 127/16383 (depending on the message type). When any other upper limit is used, the range gets scaled.

Channel

Each analog input can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, channel messages will be sent on all channels at once. Default value is channel 1.

Lower ADC offset

Specifies lower offset percentage (0-100) which is used to calculate minimum ADC value upon which MIDI values will be based. Useful for inputs which cannot reach minimum ADC value. If for example, the board has nominal ADC range 0-4095, setting this value to 10 will calculate MIDI values based on 409-4095 range (assuming the upper offset is 0), that is, lower 10% of ADC range will be cut off. Set to 0 by default.

Upper ADC offset

Specifies upper offset percentage (0-100) which is used to calculate maximum ADC value upon which MIDI values will be based. Useful for inputs which cannot reach maximum ADC value. If for example, the board has nominal ADC range 0-4095, setting this value to 10 will calculate MIDI values based on 0-3685 range (assuming the lower offset is 0), that is, upper 10% of ADC range will be cut off. Set to 0 by default.

LEDs

This block is used to configure LEDs connected to OpenDeck boards.

Global parameters

This section is used to configure various global settings related to LEDs. Those settings are:

  • Start-up animation - Enables or disables start-up animation. If enabled, all LEDs will slowly fade in, stay on for 2 seconds, and then slowly fade out when board is powered on. This option is disabled by default.
  • Fade time - Sets LED fading time. Value can range from 0 to 10. Fade time is specified value multiplied by 10. This value is set to 0 by default, which means that fading is disabled. Note: Available only on official OpenDeck board v1.
  • Blinking via MIDI clock - When this option is enabled, MIDI clock messages are used to sync clock pulses to LED blinking speed. Once the MIDI clock stops, all LEDs stop blinking as well (they will stay at the last state there were in before the clock has stopped and will continue blinking if the MIDI clock starts again). When disabled, MIDI clock is ignored and timer is used to control the LED blinking.
  • Use MIDI Program Change Offset - When enabled, current internal program change offset is added to configured LED activation ID if the LED control type is Program change. For example, if LED is configured to indicate Program 0, current offset is 1, program switches to 1 and this option is enabled, the LED will turn on. Useful when using only few LEDs to indicate larger program change range.

Activation ID

Sets activation ID (Note, CC number or program value) which will control the LED.

RGB LED enable/disable

Enables or disables RGB LED. Enabling RGB LED disables 3 single-color LEDs. All RGB LEDs are disabled by default. RGB LED is enabled by specifying single LED index which gets converted to RGB LED index in firmware. When RGB LED is enabled, MIDI channel, local control and activation ID parameters from requested single LED index are copied to other two LEDs (RGB LED is three normal LEDs handled as one LED in firmware). For instance, RGB LED 1 is actually single LED 1, 9 and 17. As an example, LED 1 has assigned MIDI channel 1, LED 9 has MIDI channel 2 and LED 17 has MIDI channel 3. If RGB LED enable command is requested for LED 17, LEDs 1, 9 and 17 will all have MIDI channel 3. Same is valid for local control and activation ID parameters.

Control type

Specifies the mode in which LEDs are being controlled. See LED control section for more details.

Activation velocity

Note velocity or CC value which will turn on single-color LED. By default this value is set to 127 for all LEDs. When RGB LEDs are used, velocity table is used instead.

MIDI channel

Each LED can have assigned any MIDI channel for MIDI messages (1-17). Channel 17 is "omni" channel. If "omni" channel is specified, incoming MIDI channel will be ignored. Default value is channel 1.

Display

This block is used to configure display connected to OpenDeck boards.

Settings

This section has the following settings:

  • Display controller - Specifies controller used on display. Currently only SSD1306 controller is supported.
  • Display resolution - Specifies display resolution. Currently supported resolutions are 128x64px and 128x32px.
  • MIDI event time - Specifies time in seconds the last MIDI event will stay on the display if MIDI event retention isn't enabled. If value 0 is set, it will be interpreted as infinite message duration, that is, last sent/received MIDI message will stay on display until it's powered off.
  • Octave normalization - Used to increase or decrease octave display when note display is used instead of MIDI note number.
  • I2C address - Sets the I2C address of the display.

Features

This section controls various display settings:

  • Display enabled - Controls whether the display usage is enabled or not.
  • Welcome message on startup - If enabled, "Welcome!" text will be displayed one character at the time when the board is powered on.
  • Version info on startup - If enabled, firmware and board version will be displayed when the board is powered on. If welcome message is enabled as well, this info will be displayed after that message.
  • Alternate note display - When disabled, MIDI notes will be displayed as numbers (0-127). Otherwise, note/octave notation will be used instead (ie. C#4). Disabled by default.

Touchscreen

This block is used to configure touchscreen connected to OpenDeck boards.

Settings

This section has the following settings:

  • Display enabled - Specifies whether the usage of touchscreen is enabled or disabled.
  • Touchscreen model - Specifies touchscreen model/manufacturer. Only Nextion is supported currently.
  • Brightness - Specifies touchscreen brightness. The following values are available:
    • 10%
    • 25%
    • 50%
    • 75%
    • 80%
    • 90%
    • 100%
  • Initial screen - Specifies the screen index which will be shown once the board is powered on. Changing this setting will also automatically switch to selected screen.

Icon X position

This section is used to specify X position of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon Y position

This section is used to specify Y position of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon width

This section is used to specify width of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon height

This section is used to specify height of touchscreen icon on display. Touchscreen resolution should be taken into account here.

Icon on screen

This section is used to specify screen on which icon in on state is located. Values 0-15 are allowed.

Icon off screen

This section is used to specify screen on which icon in off state is located. Values 0-15 are allowed.

Page switch enabled

This section is used to specify whether the specific touchscreen icon/button can be used to switch to another page on screen.

Page switch index

This section is used to specify page to which specific touchscreen icon/button should switch to if page switching functionality for this icon/button is enabled. Values 0-15 are allowed.

Clone this wiki locally