Program Change setup

Overview

Use the Program Change action to send Program Change messages, optionally accompanied by Bank Select messages. The options available in the editor are dependent on the selected button type.

Channel

Select the Midi channel that should be used. When you change the Midi channel for one button, the change affects that button only, but the new Midi channel selected will be the default channel for all new buttons that will be created from that point on.

Please note that the Midi channels are numbered 1-16 (normal for humans), but the Midi protocol uses 0-15 (normal for computers). If your daw/device uses 0-15 numbering, please subtract 1 from the channel in the dropdown list.

Button type

Select how the button should interact with the device/daw:

  • A Push Button will send a program change command, optionally accompanied by a bank select command when pressed.

  • A Cycle Button cycles through a distinct set of program change commands defined in a configuration file. Cycle buttons do not send bank select commands.

Program / Bank

(Only visible if button type is "Push")

Select the program that should be triggered, optionally with accompanying bank number(s). When you change the program or bank, the program change command will immediately be sent to the connected daw/midi device so you can verify that the expected action is taken. The program/bank commands sent only include the numbers of the program and bank; the actual result of the commands is determined by the device/daw that receives the commands.

If "Send Bank Select" is marked, the value in the Coarse field will be sent as a Control Change 0 message, and the value in the Fine field will be sent as a Control Change 32 message. If you want the plugin only to send the Coarse or the Fine command (not both), leave the other command empty (=blank).

 

  • By default, the program dropdown list includes program names as defined in the General Midi standard, but if these names are irrelevant to your configuration, you can change them to other names (please see Option files for more details).

Cycle step

(Only visible if button type is "Cycle")

A cycle button depends on a configuration file ("Translation file") that defines the steps the button should cycle through. Each time the button is pressed, it moves to the next configured item in the configuration file, sends the Midi value and displays the translated value on the button and (optionally) a button image for that specific value.

The End behavior dropdown defines the behavior when the button comes to the last item in the configuration file.

  • Stop: No more increments are made; it is "stuck" on the last item in the list, and each time the button is pressed, the same value is sent (as defined in the last item in the list).

  • Loop: It will loop around and start over from the other side of the list.

  • Bounce: It will change direction and go back through the list in the direction it came from.

The Manual direction switch dropdown defines if you should be able to switch direction manually and, if so, by what method.

  • Never: You cannot switch directions manually.

  • When held longer than...: The button will switch direction if you hold the button longer than the number of milliseconds defined.

  • When double pressed within...: The button will switch direction if you press the button twice within the defined number of milliseconds.

Please note that a button with End behavior=Bounce will always switch direction when it reaches the end of the list, regardless of this Manual switch direction setting. A Cycle button will show a value on the button as defined by the translation file. Each item in the list can have a unique display in terms of text and image. Please see Translation files for more details.

When a new Cycle button is defined, it will always start on the first item in the configuration file and move "up" (i.e., every press move to the next item in the list).

  • Direction indicators can be superimposed on the button image; please see the Translation files page for details.

Midi Out port

Select the Midi Out port that should be used. If available, the default port "StreamDeck2Daw" is selected when you create a button, but you can select any other port if required.

Midi In port

(Only visible if button type is "Cycle")

Select the Midi In port that should be used. If available, the default port, "Daw2StreamDeck," is selected when you create a button, but you can select any other port if required. Messages on Midi In are primarily used to show the state (text and image) of the button and will set the "current value", which might affect the next button press.

Icon

Initially, the same icons are set for all midi actions. You can choose whatever icons you like, but a set of Midi-related icons are bundled with the plugin (please see the  Installation section for details).

If a translation file is used, you can have unique icons for every step defined in the translation file. If you want to use that feature, you must not define any icon for the action in the Stream Deck editor. Please see Translation files for more details.