6 releases (3 stable)
1.0.2 | Mar 28, 2023 |
---|---|
1.0.1 | Mar 26, 2023 |
0.1.2 | Mar 8, 2023 |
#1304 in Hardware support
36 downloads per month
44KB
1K
SLoC
Rusty Patio (Unofficial Rust Stream Deck SDK)
This repository contains core functionality to allow users to create plugins for the Elgato Stream Deck, in Rust.
How to Use
Install via cargo:
cargo add rusty-patio
Next, you need to get the arguments sent via the Stream Deck when it runs your plugin binary, connect to it, and then handle the events received.
// Create a new instance of the arguments that are received by the Stream Deck
let args = StreamDeckArgs::new();
// Connect to the Stream Deck
let client = connect_streamdeck(&args).await;
// Handle the Events
match client {
Ok(mut client) => {
while let Some(event) = client.received_events.recv().await {
match event {
EventReceived::WillAppear(event) => {
let _ = client.transmitter.log_message(format!("WillAppear Fired: {:?}", event)).await;
}
// the rest of the events you want to handle
}
}
}
}
Example
The exmaple directory in this repo contains a ready-to-run example counter plugin. All you have to do is run the build script for your platform, then drop that generated .sdPlugin
directory into your Stream Deck Plugins directory.
Windows
- Run the
build.ps1
script - Copy the directory
target/com.example.rp-example.sdPlugin
to%AppData%/Elgato/StreamDeck/Plugins
- Restart your Stream Deck software, and add the "Basic Counter" under "Custom" to a button, and press the button!
macOS
- Run the
build.sh
script - Copy the directory
target/com.example.rp-example.sdPlugin
to~/Library/Application Support/com.elgato.StreamDeck/Plugins
- Restart your Stream Deck software, and add the "Basic Counter" under "Custom" to a button, and press the button!
⚠ Note: This repository is in its early stages, and as such there may be bugs. If you find any, please open an issue or PR!
Dependencies
~4.5–6.5MB
~121K SLoC