StreamDeck Midi plugin
Generic Midi Dial configuration.
Overview
The plugin can respond to three possible usages of the dial; rotate, press and rotate while pressed. Separate actions can be assigned for each type of use, and the editor is divided into three sections to visualize this. In addition, the plugin can respond to display tap, both as an alternative to pressing the dial and as a separate action for screen tap.
In each section, you define what Midi command will be sent when activated (if any) and how the value should be visualized on the display when the midi command is sent or received.
Please note that if the plugin is in a stack, the "dial press" action is reserved for switching to the following plugin in the stack, and the plugin is never notified that the dial is pressed. Due to this, the following restriction is in place when the plugin is in a stack:
- The "Dial press action" will never be activated by a dial press. You can, however, configure a state icon on the display and trigger the action by tapping the display. This will work even when the plugin is in a stack.

Example scenario
Let me give you a quick example to give you a sense of what you can do with a single dial.
- Configure the "Dial rotate" action to send a CC that controls the master volume, and to display a volume fader on the display, optionally with a suiting dB value display.
- Configure the "Dial rotate while pressed" action to send a CC that controls the pan of the master channel and to display a horizontal bar indicating the pan position, optionally with a +/- percentage.
- Configure the "Dial press" action to send a CC that controls the mute of the master channel and to display a state icon that shows the current mute state.

The default value display shows the value for the "rotate" CC. The value for the "rotate while pressed" CC is shown while that action is performed, and the value will linger for 1.5 seconds after you have stopped turning the dial, after which time the "rotate" CC value is restored on the display.
Worth mentioning here is that the "Dial press" action is only triggered on dial release, provided that you have not turned the dial since it was pressed. If you press the dial, rotate it and then release it, the "Dial press" action will not be triggered.
Dial rotate action
- Control Change commands
-
Control Change commands with increasing, or decreasing values are sent when you rotate the dial. Select the CC number and channel (1-16) to use, the min and max values (0-127) to be sent when the dial is rotated and the step size with which the value should be incremented/decremented for each physical step of the dial. Set step size = 0 for a variable step size where you make minor adjustments if you turn the dial slowly and accelerated adjustments if you turn the dial fast.
The default operation is to send increasing values when you turn the dial clockwise and decreasing values when the dial is turned counterclockwise. If you need a dial that works in reverse (sending decreasing values when you turn clockwise), please enter a negative step size.
- NRPN commands
-
NRPN commands are configured in the same way as CC commands, with the difference that both the controller and the value range from 0-16.383.
- Control Change (CW/CCW) commands
-
Control Change commands with static values are sent when you rotate the dial, and different commands can be sent on clockwise and counterclockwise rotations. For each physical step of the dial, the same command is sent. This is used for functions where the commands signal steps in a direction rather than an absolute value. When Control Change (CW/CCW) is selected, the dial is endless.
- Display - Fader
-
You can choose from a built-in set of fader designs or add your own design. Please check the page for dial fader image files for more details on custom faders.
You can enter a title that will be displayed superimposed over the fader, and you can set the text and background colors to make the title visible against the fader background.
A value can be displayed above the fader, and you can show the raw Midi value, a percentage (0 to 100% or -50- to 50%), a preconfigured pan value, a value from a translation file or a dB value. Some built-in dB files are available, and you can add your own dB configuration as described on the Fader DB Files page. You can set the text color for the value but no background color.
Since the fader and the title occupy the same space, you can select what will happen when the fader handle and the title "collide".
- If you select to move the title, it will be located on the left side of the fader when the handle is on the right half, and vice-versa.
- If you select to hide the title, it will be located on the left side of the fader when the handle is on the right half and hidden when the handle is on the left half.
- If you select to do nothing, it will be stationary on the left side of the fader, even when the handle occupies the same space.
- Display - V-pot
-
You can choose from a built-in set of V-pot designs or add your own design. Please check the page for V-pot image files V2 for more details on custom faders.
You can choose to have the V-pot displayed in half or full size.
The value display options are the same as described for the fader above, and you can set the text color. The value is displayed outside the V-pot. You can enter a title that will be displayed superimposed over the center of the V-pot and set the text color to make the title visible against the V-Pot.
You can choose to have the V-pot displayed in half or full size.
The V-pot state can be displayed with a ring around the centerpiece. A portion of the ring will be displayed, according to the selected option:
- If the active span indication is From min to max (volume), the ring will be visible from the leftmost position (= midi value 0) to the current midi value.
- If the active span indication is From midpoint (pan), the ring will be visible from the center position (= midi value 64) to the current midi value (left or right).
- If the active span indication is From midpoint (spread), the ring will be visible from the center position (= midi value 0) to both sides with a total span at midi value 127.
- If the active span indication is At current value, the ring will be visible only at the current midi value.
- If the active span indication is None, the ring will not be visible.
For text display, you can show the raw Midi value, a percentage (0 to 100% or -50- to 50%) or a dB value. Some built-in dB files are available, and you can add your own dB configuration as described on the Fader DB Files page.
- Command/Channel
-
You can select to send the same commands as when rotated, send different Control Change commands when you rotate the dial while pressed or have no action.
If you select to send a different CC you can select the CC number and channel (1-16) to use.
- Range and step size
-
If you select "Same as above", the only available property is the step size. This configuration is targeted at giving the rotation action coarse control with larger steps and the rotation while pressed fine control with smaller steps.
Select the min and max values (0-127) to be sent when the dial is rotated and the step size with which the value should be incremented/decremented for each physical step of the dial. Set step size = 0 for a variable step size where you make minor adjustments if you turn the dial slowly and accelerated adjustments if you turn the dial fast.
The default operation is to send increasing values when you turn the dial clockwise and decreasing values when the dial is turned counterclockwise. If you need a dial that works in reverse (sending decreasing values when you turn clockwise), please enter a negative step size.
- Display options
-
You can select not to have any graphical display for this action or choose between two bar types. In the picture, the upper one is the "pan" bar, where a triangle marks the current value (pan position). The lower bar is the "volume" bar filled from the left to indicate the current value.
For text display, you can show the raw Midi value, a percentage (0 to 100% or -50- to 50%), a preconfigured pan value, a value from a translation file or a dB value. Some built-in dB files are available, and you can add your own dB configuration as described on the Fader DB Files page.
- Command
-
You can send Control Change, Note On/Off, or Program Change commands when the dial is pressed, or when the left half of the screen is tapped. Additional options depend on which command type you select.
If the action is placed in a stack, the action will never be triggered by a dial press, but you can define a state icon to be displayed on the display, and the action can be triggered by tapping the left side of the screen.
- State icon
-
In the top left corner of the dial's display, you can enable a state icon that shows the current state of the selected command. Select the icons/images you want to have displayed for the On and Off states. Images can be of any size; they will be resized to fit in the space (40x40px, or 90x90 if large icons are selected). The selected icon is displayed on the button.
Clicking on one of the Select buttons will open a file browse dialog where you navigate to and select the image you want. If you want to use icons from the icon library, you need to navigate to where the image files for the icon library are located.
- Windows: "%appdata%\
Elgato\ StreamDeck\ IconPacks" - macOS: "~/Library/
Application Support/ com.elgato.StreamDeck/ IconPacks"
- Windows: "%appdata%\
- Control/Key/Program & Channel
-
Select the Control, Key or Program you want to control with a dial press, and select the Midi channel.
- Control Change and Note options
-
Control Change and Note actions can be defined as either Push actions or Toggle actions. A Push action will always send the On value when the dial is pressed. A Toggle action alternates between the On and Off values when the dial is pressed. Note actions will send a Note On command when sending the On value and a Note Off command when sending the Off value.
Set the values that should be sent for On and Off for the command.
The checkbox determine how received values affect the action state:- If the checkbox is checked all received values on and above the defined On value will set the action in the On state; values below the defined On value will set the action in the Off state.
- If the checkbox is cleared, the action is set in the On state only when the exact defined On value is received; all other values will set the action in the Off state.
- Program Change options
-
Apart from the common parameters explained above, there are no additional options when selecting Program Change. Program Change commands have no additional parameters; either you send a Program Change command or you do not. You cannot set Program Change On or Off, so when Program Change is selected, a dial press is, by definition, a Push action, and the same program number will be sent every time.
- Command
-
The right screen tap action works precisely as the dial press action; you can send Control Change, Note On/Off, or Program Change commands when the right half of the screen is tapped. Additional options depend on which command type you select.
- State icon
-
In the top righ corner of the dial's display, you can enable a state icon that shows the current state of the selected command. Select the icons/images you want to have displayed for the On and Off states. Images can be of any size; they will be resized to fit in the space (40x40px, or 90x90 if large icons are selected). The selected icon is displayed on the button.
Clicking on one of the Select buttons will open a file browse dialog where you navigate to and select the image you want. If you want to use icons from the icon library, you need to navigate to where the image files for the icon library are located.
- Windows: "%appdata%\
Elgato\ StreamDeck\ IconPacks" - macOS: "~/Library/
Application Support/ com.elgato.StreamDeck/ IconPacks"
- Windows: "%appdata%\
- Control/Key/Program & Channel
-
Select the Control, Key or Program you want to control with a dial press, and select the Midi channel.
- Control Change and Note options
-
Control Change and Note actions can be defined as either Push actions or Toggle actions. A Push action will always send the On value when the dial is pressed. A Toggle action alternates between the On and Off values when the dial is pressed. Note actions will send a Note On command when sending the On value and a Note Off command when sending the Off value.
Set the values that should be sent for On and Off for the command.
The checkbox determine how received values affect the action state:- If the checkbox is checked all received values on and above the defined On value will set the action in the On state; values below the defined On value will set the action in the Off state.
- If the checkbox is cleared, the action is set in the On state only when the exact defined On value is received; all other values will set the action in the Off state.
- Program Change options
-
Apart from the common parameters explained above, there are no additional options when selecting Program Change. Program Change commands have no additional parameters; either you send a Program Change command or you do not. You cannot set Program Change On or Off, so when Program Change is selected, a dial press is, by definition, a Push action, and the same program number will be sent every time.