clapper
clapper copied to clipboard
Add separate controls mode
It would be quite useful if there were a mode that separated the controls in their own window. Especially when watching movies on external displays like a projector, it would be neat to have them not distracting other viewers.
For this purpose Clapper provides WebSocket communication. Although its currently considered unstable API (syntax might change without notice). Can be used to write another app (or web app) to control player over network from the same or even different device (including smartphone). With that in place, no point for split window functionality.
I do have plans to do a simple website that does this myself at a later point in time if nobody else will do this earlier.
For example, you can enable the "Control player remotely" option. Open some WebSocket test website like this one: WebSocket Client (I picked this as its open-source github pages hosted).
Connect to: ws://127.0.0.1:6446/websocket (use same port set in Clapper prefs). Should connect, play some video and send message with text: {"action":"toggle_play"}. You also receive state_changed messages back from Clapper in real time there.
BTW: for the control from the same device MPRIS is another option.
Well with MPRIS there is also GSConnect for remote control option. Possibilities are endless here it seems.
Yes, there are lots of possibilities to control media streams from elsewhere, but in any case there will still be the overlay controls. I wish there was a way to move them for example on another screen, so that they would only be visible to the one who can use them. Then they would not interrupt other viewers while maintaining full control for the presenter. And an additional separate window mode is probably much easier to use than other external ways like WebSockets.
will still be the overlay controls (...). I wish (...) visible to the one who can use them
If only one person interacts with the player using different controls panel, then the one on the player will hide itself during viewing, no?
What you are asking here for will probably not be implemented as part of the player, as I would like the UI and its related logic to remain simple. It is possible to make another app (thus have another window) with controls only and use one of the mentioned by me earlier methods to control the player (with those separate controls). It may be a GTK4 app too, as libsoup can do WebSocket connection, then you would basically have what you asked for, no?