Skip to content

Latest commit

 

History

History

README.md

My Stream Timer for Stream Deck

This folder contains the Stream Deck 2.x plugin built with Elgato's official TypeScript SDK.

Prerequisites

  • Node.js 24 or newer
  • Stream Deck 7.1 or newer
  • My Stream Timer installed for app-backed actions

Develop

npm ci
npm run build
npm run link
npm run watch

Enable developer mode with npx streamdeck dev to inspect property inspectors at http://localhost:23654/. Plugin logs are written to com.refractored.mystreamtimer.sdPlugin/logs.

Quality checks

npm run lint
npm run typecheck
npm test
npm run build
npm run validate

Package

npm run pack

The installer is written to dist. Tagged releases use v<version>-streamdeck, for example v2.0.0-streamdeck.

The release workflow reruns every quality check, stamps the four-part manifest version, packages the installer, writes a SHA-256 checksum, and creates a GitHub Release. Upload that same installer to Elgato Maker Console for Marketplace review; the official Stream Deck CLI does not currently provide a documented Marketplace publish command.

Marketplace assets

Regenerate the white action-list icons and Marketplace media from the repository root:

./MyStreamTimer.StreamDeck/marketplace/generate-assets.ps1

The script preserves the colorful 72 px and 144 px key images, converts only the category and action-list icons to Elgato's required white-on-transparent treatment, and writes the 288 px app icon, 1920 x 960 thumbnail, and three 1920 x 960 gallery images to marketplace.

Actions

  • App Timer Start controls any Countdown, Count Up, or Current Time output through the mystreamtimer:// protocol.
  • App Timer Control supports add/subtract minutes or seconds, pause, resume, reset, and stop. Current Time supports start and stop.
  • Stream Deck Start starts or restarts a Countdown, Count Up, or Current Time text-file timer.
  • Stream Deck Control controls the matching file timer by its configured output folder and file name. Countdown and Count Up support pause, resume, reset, and stop; Current Time supports start and stop.

File timer output defaults to Documents/MyStreamTimerStreamDeck/countdown.txt. The inspector's Copy output file path control copies the precise resolved path. Runtime files are written outside the packaged plugin so the installer remains compatible with Marketplace DRM integrity checks.

Release

Create and push a release tag from the repository root:

./scripts/create-release-tags.ps1 v2.0.0 -StreamDeck -Push

After the GitHub Release is created:

  1. Install the attached .streamDeckPlugin on Windows and macOS.
  2. Verify App Timer and Stream Deck actions.
  3. Upload the same installer to Maker Console without selecting automatic publication.
  4. Download and test the DRM-processed build, then submit it for Marketplace review.

Clean-break upgrade

Version 2 uses a new official plugin UUID and action model. Existing buttons from the legacy StreamDeckLib plugin must be removed and re-added.