MCPcopy Index your code
hub / github.com/XeroxDev/YTMD-StreamDeck

github.com/XeroxDev/YTMD-StreamDeck @v2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.3.0 ↗ · + Follow
157 symbols 259 edges 29 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Thumbnail

1. Table of content

2. Badges

Forks Stars Watchers Contributors

Issues Issues closed

Issues-pr Issues-pr closed PRs welcome

Release

Awesome Badges

3. What is this Plugin?

This Stream Deck Plugin allows you to control the YouTube Music Desktop App

[!NOTE] we only support version 2.x.x and above, if you are using an older version, please update to the latest version.

4. Support / Feedback

You found a bug? You have a feature request? I would love to hear about it here or click on the "Issues" tab here on the GitHub repositorie!

You can also join my discord here

5. Actions

  • Play / Pause Track
  • Next Track
  • Previous Track
  • Like Track
  • Dislike Track
  • Volume Mute
  • Volume Down
  • Volume Up
  • Track Info
  • Shows a scrolling text for album, title and author
  • Shows the thumbnail of the track
  • Shuffle
  • Repeat
  • NONE
  • ALL
  • ONE

6. How to use it?

[!NOTE] This is just a simplified version, please visit the official documentation for a more detailed guide.

  1. Install the YouTube Music Desktop App.
  2. Install the Plugin from Releases or from the official Stream Deck Store.
  3. Add Play/Pause action
  4. Insert, if not already correct, the settings to YTMDesktop (eg. Host and Port)
  5. Make sure the YTMDesktop App and the Companion Server is running
  6. To start the companion server, click at the top right of YTMDesktop on the settings gear
  7. Go on the left side on the "Integrations" tab
  8. Enable the "Companion Server"
  9. Turn on "enable companion authorization" under the Companion Server
  10. Press the Authorize button in the Play/Pause action settings
  11. Compare the authorization code displaying by the plugin with the one displaying in the YTMDesktop App
  12. If they match, confirm the authorization in the YTMDesktop App
  13. You are ready to go! (Steps 6-9 are only needed once/when the plugin isn't authorized)

7. How to contribute?

Just fork the repository and create PR's.

[!NOTE] We're using release-please to optimal release the plugin. release-please is following the conventionalcommits specification.

Extension points exported contracts — how you extend this code

GlobalSettingsInterface (Interface)
(no doc)
src/interfaces/global-settings.interface.ts
LocalizationInterface (Interface)
(no doc)
src/interfaces/localization.interface.ts
VolumeSettings (Interface)
(no doc)
src/interfaces/context-settings.interface.ts
PlayPauseSettings (Interface)
(no doc)
src/interfaces/context-settings.interface.ts
PlaylistSettings (Interface)
(no doc)
src/interfaces/context-settings.interface.ts

Core symbols most depended-on inside this repo

getLangString
called by 27
src/ytmd-pi.ts
setConnectionStatus
called by 8
src/pis/features/global-settings.pi.ts
setAuthStatusMessage
called by 6
src/pis/features/global-settings.pi.ts
getScrollingText
called by 3
src/actions/song-info.action.ts
ensureSocketClient
called by 3
src/pis/features/global-settings.pi.ts
updatePlaylistSelect
called by 3
src/pis/features/play-playlist.pi.ts
t
called by 3
src/pis/services/pi-i18n.ts
getCompanionConnector
called by 3
src/pis/services/companion-singleton.ts

Shape

Method 107
Class 37
Function 7
Interface 5
Enum 1

Languages

TypeScript100%

Modules by API surface

src/ytmd-pi.ts15 symbols
src/actions/song-info.action.ts13 symbols
src/actions/play-pause.action.ts13 symbols
src/pis/features/play-playlist.pi.ts12 symbols
src/pis/features/global-settings.pi.ts12 symbols
src/actions/vol-change.action.ts11 symbols
src/actions/play-playlist.action.ts9 symbols
src/actions/like-dislike.action.ts7 symbols
src/actions/shuffle.action.ts6 symbols
src/actions/repeat.action.ts6 symbols
src/actions/next-prev-action.ts6 symbols
src/actions/mute.action.ts6 symbols

For agents

$ claude mcp add YTMD-StreamDeck \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact