XeroxDev / YTMD-StreamDeck

This Stream Deck Plugin allows you to control the YouTube Music Desktop App (https://github.com/ytmdesktop/ytmdesktop)
MIT License
55 stars 17 forks source link

[FEATURE]: YTMD v2 Support #85

Closed ElectricalBoy closed 7 months ago

ElectricalBoy commented 1 year ago

Consent

Feature

Context: https://github.com/ytmdesktop/ytmdesktop/issues/1139

YTMDesktop (YTMD) has announced v2 (see above) and v2 is in active development. The changes of v2 include a backwards-incompatible companion server. This implies that the current version of the plugin would be incompatible with YTMD v2. This is a feature request for YTMD v2 support.

Solution

YTMD v2 compatibility of this plugin

Alternatives

N/A

Anything else?

API documentation of the new companion server

XeroxDev commented 1 year ago

Hey and thank you for opening this issue!

I'm already aware of this and am active following the development (that's why there wasn't an update in quite a time). After they implemented an (suffice) working server, I'll updating this plugin as well and will only support v2+ in the future.

I'll keep this issue open until the switch happened. Thanks again!

/label +good +hold +critical

ZoinktheBoink commented 8 months ago

Hey man, love this plugin. Any word from the devs regarding the perpetuity of the API?

https://github.com/ytmdesktop/ytmdesktop/wiki/v2-‐-Companion-Server-API-v1

XeroxDev commented 8 months ago

Hey man, love this plugin. Any word form the devs regarding the perpetuity of the API?

https://github.com/ytmdesktop/ytmdesktop/wiki/v2-‐-Companion-Server-API-v1

Thanks for the feedback! I'll contact the developer of YTMDesktop soon and ask if the endpoints / new api is still subject to change.

Depending on the response I'll keep waiting or start developing the new version.

Tbh: I'm not the biggest fan of the authorization change, especially because it's a private / (sub-) local service and not a public one (IMO it's a bit redundant and over-engineered / overkill for such an application :D This just adds more complexity for the developers and users)

jared-craig commented 8 months ago

Any word on when this will be updated to work with v2.0? Thanks!

XeroxDev commented 8 months ago

Any word on when this will be updated to work with v2.0? Thanks!

Sure. I already posted an announcement on Sunday on my discord server but I've forgotten to do it also here. I'm sorry! This is what I wrote:

image

But now I can say a bit more: I've already developed a new library for the new server. I just need to test it a bit further and then I can implement it in the plugin itself, build the updated artifact and send it to elgato. After that, it should be on the store very soon!

ZoinktheBoink commented 8 months ago

But now I can say a bit more: I've already developed a new library for the new server. I just need to test it a bit further and then I can implement it in the plugin itself, build the updated artifact and send it to elgato. After that, it should be on the store very soon!

This is great news, thanks @XeroxDev.

XeroxDev commented 8 months ago

Hey everyone!

I believe v2 support is done! I won't publish it today though (it's 10:45 PM for me)

But I've created an artifact in the Pull Request. See: https://github.com/XeroxDev/YTMD-StreamDeck/pull/98#issuecomment-1928147293

Like mentioned there, you can, if you want, also build it yourself!

Feel free to test it and send feedback here (as long as the issue is still open :D)

For an updated "How to use" / README, refer to https://github.com/XeroxDev/YTMD-StreamDeck/blob/feat/v2/README.md as long as it's not merged yet.

Hope y'all have a good day/noon/evening/night or what ever time you've lol!

digihash commented 8 months ago

Hey everyone!

I believe v2 support is done! I won't publish it today though (it's 10:45 PM for me)

But I've created an artifact in the Pull Request. See: #98 (comment)

Like mentioned there, you can, if you want, also build it yourself!

Feel free to test it and send feedback here (as long as the issue is still open :D)

For an updated "How to use" / README, refer to https://github.com/XeroxDev/YTMD-StreamDeck/blob/feat/v2/README.md as long as it's not merged yet.

Hope y'all have a good day/noon/evening/night or what ever time you've lol!

Thanks a lot @XeroxDev! This plugin together with YTMD makes it so easy to control music. I just tested the build version in #98 (comment) and it works perfectly :)

jared-craig commented 8 months ago

Hmm. I was using the new artifact just fine but it stopped working for me after I restarted YTMD. It's still listed under authorized companions, and I've even re-authorized. It was working great, but now it seems broken for me.

XeroxDev commented 8 months ago

Hmm. I was using the new artifact just fine but it stopped working for me after I restarted YTMD. It's still listed under authorized companions, and I've even re-authorized. It was working great, but now it seems broken for me.

Mh... That's weird.. I tried to reproduce it but everything worked for me.

I tried the following things:

First:

  1. Have StreamDeck and YTMDesktop started (and authorized/connected)
  2. Close YTMDesktop
    • Play/Pause shows warn icon (triangle)
  3. Wait for a few seconds
  4. Open YTMDesktop
    • Play/Pause shows success icon (green circle with check)

Second:

  1. Have both closed
  2. First start Stream Deck
    • Play/Pause shows warn icon (triangle)
  3. Start YTMDesktop
    • Play/Pause shows success icon (green circle with check)

And of course vice versa.

And everything worked.

Could you tell me what you did? Or what you did different?

jared-craig commented 8 months ago

Hmm. I was using the new artifact just fine but it stopped working for me after I restarted YTMD. It's still listed under authorized companions, and I've even re-authorized. It was working great, but now it seems broken for me.

Mh... That's weird.. I tried to reproduce it but everything worked for me.

I tried the following things:

First:

  1. Have StreamDeck and YTMDesktop started (and authorized/connected)
  2. Close YTMDesktop

    • Play/Pause shows warn icon (triangle)
  3. Wait for a few seconds
  4. Open YTMDesktop

    • Play/Pause shows success icon (green circle with check)

Second:

  1. Have both closed
  2. First start Stream Deck

    • Play/Pause shows warn icon (triangle)
  3. Start YTMDesktop

    • Play/Pause shows success icon (green circle with check)

And of course vice versa.

And everything worked.

Could you tell me what you did? Or what you did different?

Restarting the Stream Deck application seemed to fix the issue without any other steps taken. Thanks.

ZoinktheBoink commented 8 months ago

But I've created an artifact in the Pull Request. See: #98 (comment)

Works like a charm, well done!

XeroxDev commented 7 months ago

Hey! I've finally created the release! I will immediately contact elgato, so they can also release it the plugin store.

I'll also unpin this issue now. Have fun listening everybody!