https://github.com/killerboss2019/ytmd_sdk
https://github.com/killerboss2019/ytmd_sdk
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/killerboss2019/ytmd_sdk
- Owner: KillerBOSS2019
- License: gpl-3.0
- Created: 2024-06-05T19:16:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-13T00:22:04.000Z (about 1 year ago)
- Last Synced: 2025-02-20T13:47:47.716Z (8 months ago)
- Language: Python
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Youtube Music Desktop SDK
Simple SDK for controlling [Youtube Music Desktop App](https://ytmdesktop.app/).## Installation
`pip install ytmd-sdk`## Example
```python
from YTMDSDK import Events, YTMD, Parser
from time import sleepytmd = YTMD("touchportalytmd", "TouchPortalYTMD", "1.0.0")
key = ytmd.authenticate() # get token key and sets it at same time
# ytmd.update_token("token") # if you already have a token key you can set it like thisdef on_connect():
print("Connected to YTMD")def on_disconnect():
print("Disconnected from YTMD")def on_error(data):
print("Error from YTMD: " + data)def on_state_update(data):
parser = Parser(data)
print("Player: " + str(parser.player_state))
print("Player State: " + parser.player_state.state)
print("Player video progress: " + str(parser.player_state.video_progress))
print("Player volume: " + str(parser.player_state.volume))
print("Player muted: " + str(parser.player_state.muted))
print("Player ad playing: " + str(parser.player_state.adPlaying))
print("Player auto play: " + str(parser.player_state.auto_play))
print("Player is generating: " + str(parser.player_state.isGenerating))
print("Player is infinite: " + str(parser.player_state.isInfinite))
print("Player repeat mode: " + parser.player_state.repeatMode)
print("Player selected item index: " + str(parser.player_state.selectedItemIndex))
print("Player queue: " + str(parser.player_state.queue))ytmd.register_event(Events.connect, on_connect)
ytmd.register_event(Events.disconnect, on_disconnect)
ytmd.register_event(Events.error, on_error)
ytmd.register_event(Events.state_update, on_state_update)ytmd.connect()
sleep(60)
```## Change Log
```
- 1.0.0: Initial release
```## Bugs and Suggestions
If you have any bugs or suggestions, feel free to open an issue or a pull request.