The Stream Deck device can be used to connect to a single physical Stream Deck through the Stream Deck application. Key presses on the physical Stream Deck device can be seen in the Device variables. Manager can send commands to the Stream Deck application which passes them onto the physical device (such as changing image or text on a button).
A notion of “pages” is used so multiple arrangements of buttons can be configured and easily switched between. Use a task that executes on project start to set the number of pages and the image/text of each button.
The plugin can be found on the install CD under: [install disk name]\Runtimes for MXMs\StreamDeck\plugin
Run com.elgato.medialon.StreamDeckPlugin [mxmStreamDeck_6.7.2\mxmStreamDeck_6.7.2\streamdeck\ com.elgato.medialon.streamDeckPlugin] to install the plugin into the Stream Deck application on the target computer
Open Stream Deck application and scroll down to the bottom of the right menu, drag and drop the Medialon plugin (under custom) to every button displayed on the left
Open Manager abd add a device and you are ready to go.
Device Setup
IP Address: [String] IP address of the target machine running the Stream Deck application
Port: [Integer] TCP port that the plugin is looking to connect through TCP (leave as 8665 if it has not been changed on the target machine’s Stream Deck plugin setup)
Type: [Enum] model of Stream Deck
Stream Deck Profiles
Steps on how to make pre-configured profiles and then switch to them
Open Stream Deck application, press the maximise down arrow to see the list of profiles and click new profile
Drag and drop the relevent buttons onto the profile to create the Stream Deck
Then go to settings and click on the profiles tab, right click on your profile and press export. Export this file and then double click to install the Profile. This just creates a duplicate of the profile in the Stream Deck, which might be required in order to transfer the profile to another PC.
Go to %appdata%/Roaming/Elgato/StreamDeck/ProfilesV2/"YOUR PROFILE (lastest installed)"/manifest.json. Open the manifest.json file. Go all the way to the end of the file and copy and paste this below before the version tag.
In file browser go to "%AppData%\Roaming\Elgato\StreamDeck\Plugins\com.elgato.medialon.sdPlugin" and open manifest.json. In here go to profiles and add in to the list a new profile object with the name of the profile you choose.
"Icon": "pluginIcon",
"URL": https://www.elgato.com/gaming/stream-deck,
"Version": "1.0.0",
"Profiles":[
{
"Name":"YOUR PROFILE NAME 1",
"DeviceType":0
},
{
"Name":" YOUR PROFILE NAME 2",
"DeviceType":0
},
{
"Name":" YOUR PROFILE NAME 3",
"DeviceType":0
},
{
"Name":" YOUR PROFILE NAME 4",
"DeviceType":0
}
],
"OS": [
{
"Platform": "mac",
"MinimumVersion" : "10.11"
},
]
Now press control + shift + escap, this opens task manager and press end task on Stream Deck
Restart Stream Deck application, open Manager and call the SetProfile() command and pass in the name of that profile.
Device Commands
SetText
Used to set the text of a specific button on the Stream Deck.
page: [Int] page in which the button text is changing.
row: [Int] the row posistion of the button that the text is changing on.
column: [Int] the column posistion of the button that the text is changing on.
text: [string] the new text of the button.
SetImage
Used to set the image of a specific button on the Stream Deck.
page: [Int] page in which the button image is changing.
row: [Int] the row posistion of the button that the image is changing on.
column: [Int] the column posistion of the button that the image is changing on.
path: [string] the path on the local machine of the image the button is being set to.
SetButtonType
Used to set the type of a specific button on the Stream Deck.
page: [Int] page in which the button text is changing.
row: [Int] the row posistion of the button that the text is changing on.
column: [Int] the column posistion of the button that the text is changing on.
type: [enum] can either be standard or a toggle button.
SetButtonAction
Used to set the action of a specific button on the Stream Deck.
page: [Int] page in which the button text is changing.
row: [Int] the row posistion of the button that the text is changing on.
column: [Int] the column posistion of the button that the text is changing on.
action: [enum] can either be next page, previous page, first page, last page.
SetPageCount
Used to set the amount of pages on the Stream Deck.
amount: [Int] number of pages.
GoToPage
Used to switch pages on the Stream Deck.
page: [Int] page to load on the Stream Deck.
SetProfile
switches the current profile to the one passed in
profile: [String] profile to load
Device Variables
Status
[Enum] Connetion status of the mxm with the Stream Deck application plugin.
“DISCONNECTED”: means that the mxm and plugin are not connected
“CONNECTED”: means that the mxm and plugin are connected
CurrentPage
[Int] the current page that the Stream Deck is showing
PageCount
[Int] the amount of pages that have been made
Button_n_n
[int] the state in which the button is in at the location of n,n. 1 means the button is being pressed.
In version 6.7.3 of the MxM, the format of the variable names is: .Button_[ROW]_[COLUMN] example: StreamDeck.Button_2_5 is the status of the second row, fifth column.
Revisions
V 6.7.0
Initial version.
V 6.7.1
Fixed: setting page to 0 made the Manager crash
Fixed: connection to Stream Deck SDK took a long time after running Manager
V 6.7.2
Added: ability to switch profiles through the Stream Deck SDK
V 6.7.3
Fixed: setting page to 0 for Stream Deck XL (the first page was not being reset to the correct amount of buttons)
Modified: Stream Deck changed the way Profiles where installed, updated documentation