butter-desktop icon indicating copy to clipboard operation
butter-desktop copied to clipboard

Headless Server mode

Open mishoboss opened this issue 8 years ago • 8 comments

First, great project and I'm really excited about it. However there is one thing that is a personal show-stopper for me - butter is a desktop app. I would really love to see the Plex client-server architecture. Is there a plan to decouple core from views and wrap only the views in nw/electron? This way the core could be run in another machine, advertise itself via bonjour/mdns/zeroconf/whatever and different clients (desktop/iOS/Android) find it and use it as a server. I see there is a "Remote Control" section in Settings. What is the idea there?

mishoboss avatar Mar 10 '16 06:03 mishoboss

currently there is no plan as we lack man power, but i'd love to see that happen. that said it's going to be much easier once we cleanup and move to react views.

xaiki avatar Mar 10 '16 12:03 xaiki

Let's hope this will happen. I really think client-server is the right architecture for such project, especially in 2016. What is the "Remote Control" section in Settings?

mishoboss avatar Mar 10 '16 12:03 mishoboss

the remote control is currently half broken, but it's a JSON-RPC server. In the past, android, iOS and web remotes have been developped for butter.

It basically gives you a remote API to control butter from that API instead of keyboard/mouse, with calls such as "select cover", "watch trailer", "change subtitle", etc.

vankasteelj avatar Mar 10 '16 14:03 vankasteelj

So we kinda already have the communication part! :)

mishoboss avatar Mar 10 '16 15:03 mishoboss

it only exchanges JSON though, so you might adapt it to exchange metadata and streaming links to the server, but atm you still need to "see" Butter to know what you're doing with the remote. It was designed to allow to control butter from your smartphone while mirroring the screen to your TV.

vankasteelj avatar Mar 10 '16 15:03 vankasteelj

I was just looking for such an issue. Love to see this implemented. I may look into this, to contribute some parts :)

Wouter0100 avatar Mar 10 '16 17:03 Wouter0100

@Wouter0100 please do, currently all is done though the backbone messaging api, if you properly forward all App.vent.trigger() between client and server it (should?) work flawlessly.

xaiki avatar Mar 10 '16 17:03 xaiki

I would be interested in this as well. Also, there is already yify-pop, which tries to solve just this problem.

pierrebeaucamp avatar Mar 19 '16 00:03 pierrebeaucamp