MayaPosch/NymphCast

Integration with Plasma Bigscreen

ivanrancic opened this issue · 5 comments

This is more an opinion than a specific request.

PB and NC seem like a natural pair just as Chromecast and Google/Android TV go together.
Becoming maybe even an official part of KDE software has the benefit of reaching wider audience by being advertised along with PB, Plasma Desktop and Plasma Mobile.

I saw that you're working on EmulationStation interface; what do you think about (also) a better integration with PB's settings, media player and browser? Plasma (and PB) also have KDE Connect (smartphone/desktop integration app) which already has controls (among other things) for TV interface (maybe of use for NC's TV apps?).

I'm not sure how suitable NC is when it comes to local game streaming but Plasma is also on Steamdecks so there's that too.

I'm sure there are many more other possible intersections but this is just to start things rolling.

Anyway, I love what you're doing and what KDE is and I'm thankful for both.

Thank you :)

I have indeed added EmulationStation as a way to get a GUI in place for stand-alone operation going (and use of emulators, etc.). Plasma Bigscreen seems interesting, though from a glance at the website I'm not exactly sure on which level it'd best integrate. Would it be an 'app' for it, or something else? I'd love to hear your views on this.

I could also not tell whether Plasma Bigscreen will work on BSDs, MacOS, Windows, etc.

Well I guess your current merger with EmulationStation would be the app-like option. My proposal was also to consider using Bigscreen's elements as equivalents to those offered by ES; thus NC settings would live inside PB's settings, music and videos would be played through Plank (PB's video player) and so on. Though PB does lack a photo viewer with explicitly TV interface currently.

Also to consider NC's client app's possible place within KDE Connect app.

Stuff like that.

I'm not sure about those other OS's.

Right now at postmarketOS we already ship NymphCast with Plasma Bigscreen. It runs automatically and it'll fullscreen over anything displayed by Plasma Bigscreen when something is cast to it. It works well, but yeah some integration would be nice.

I would consider NymphCast an app on Plasma Bigscreen. I don't need it to play it's videos through PB's native video player app, I don't see how that's useful honestly. I would however like to configure any settings NymphCast has via PB's settings screen. Even just turning it on and off would be nice to have there.

However personally I see more usefulness of integration into Plasma Mobile. Being able to cast anything to your TV running either standalone NymphCast or it with PB from your Linux phone would be awesome. The current desktop app works but isn't mobile friendly at all, and for a native experience it would need it's interface to be written in QML in combination with for example KDE's Kirigami.

@PureTryOut I have begun putting together a QML-based version of the NC Player that can be used across all desktop and mobile platforms, just like the Qt Widgets-based version. I expect to have updates on that next month.

Will give Plasma Bigscreen a try to, to see what the current experience there is like, too :)

AIIX commented

@MayaPosch any updates on the QML video playback component? would like to get at the very least QML based video playback made available in the next version of bigscreen, where one can choose to stream a video file from android, if I understand correctly, there are two different components involved here, one the server that chooses to play a file and the other the player, so would be first nice to get playback working over a stream over a qml component, if available, and if not what part of repository can you provide an over view of what the player side should be targeting in regards to your code, is there an example ?

As Plasma-Bigscreen is more of TV interface that might benefit of receiving an input stream, I would rather try integrating the player side first with controls that work bi-directionally looking at the UI of the android application that acts as the server.