Syncplay / syncplay

Client/server to synchronize media playback on mpv/VLC/MPC-HC/MPC-BE on many computers
http://syncplay.pl/
Apache License 2.0
2.11k stars 214 forks source link

Expand Protocol: Syncplay URN #264

Closed Slider-Whistle closed 4 years ago

Slider-Whistle commented 4 years ago

As per the IRC URI scheme (https://en.wikipedia.org/wiki/Internet_Relay_Chat#URI_scheme): syncplay://<host>[:<port>]/[<room>[?<maybe password?>]]

Also, I think that a default room (configured as a server property?) and port might be a good idea, so a user can enter just the command syncplay "sync.example.com" and immediately be in the correct room, which would be ideal for self-hosted, single-channel servers.

Et0h commented 4 years ago

A Syncplay URI/URN scheme seems fine if it works on all platforms. If someone wanted to code it then it could be a nice discrete project for them, but at least for now I've not got much time for Syncplay development.

Having a default room is something that could work for private servers, but isn't something I would want to see on the public server. However, if you know enough to know which server to join then you will also know which room to join, so it is not essential - and on private server without room isolation enabled you can see what rooms are currently in use and join them easily enough.

Slider-Whistle commented 4 years ago

I know programs can register new types in Windows as long as they use some kind of installer (in this case, I guess it'd either be a commandline option to make one or an .exe would get bundled in), and on Linux distributions with XDG-compliant programs. I think Chrome and Firefox handle URIs and what programs to open them with theirselves. It's basically a shortform for the address and what options you want too, so being able to type "program programurl" is pretty much as good as being able to click a link/shortcut (does anyone use shortcuts these days?) to open the program.

I don't necessarily want all of these dumb, demanding ideas implemented immediately, I just wanted to see whether they'd be okayed, or if they go too much against the spirit of the protocol, in case some other hypothetical figure decides to implement syncplay from the ground up. Sorry for the late responses.

Et0h commented 4 years ago

If it needs some kind of installer then that does result in a two-tier system for those using the portable version of Syncplay.

Et0h commented 4 years ago

Given the complexity of making this work cross-platform and with portable versions of Syncplay I do not think this would be a good fit for Syncplay. If in the future someone can figure out how to do it across all platforms and versions of Syncplay and are willing to do so then let me know. For now I have added it to https://syncplay.pl/about/ideas/ under the heading of "Probably adds too much complexity to be worth it".

daniel-123 commented 4 years ago

For future reference, I found how it could be implemented on Linux: https://unix.stackexchange.com/questions/497146/create-a-custom-url-protocol-handler