Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

43 Commits

Repository files navigation

openaction-rs

A Rust crate for creating plugins for the OpenAction API (backwards-compatible with the Stream Deck SDK)

use openaction::*;use serde::{Deserialize,Serialize};#[derive(Serialize,Deserialize,Default,Clone)]#[serde(default)]structCounterSettings{value:u32,}structCounterAction;#[async_trait]implActionforCounterAction{constUUID:ActionUuid = "com.example.counter.counter";typeSettings = CounterSettings;asyncfnkey_up(&self,instance:&Instance,settings:&Self::Settings,) -> OpenActionResult<()>{letmut clone = settings.clone();
clone.value = settings.value + 1;
instance.set_settings(&clone).await?;
instance.set_title(Some(clone.value.to_string()),None).await}}#[tokio::main]asyncfnmain() -> OpenActionResult<()>{{use simplelog::*;ifletErr(error) = TermLogger::init(LevelFilter::Debug,Config::default(),TerminalMode::Stdout,ColorChoice::Never,){eprintln!("Logger initialization failed: {}", error);}}register_action(CounterAction).await;run(std::env::args().collect()).await}

About

A Rust crate for creating plugins for stream controller devices with the OpenAction API

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages