mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-12-22 22:15:17 +00:00
Chris Josten
c72c10bad4
The PlaybackManager was a giant class that handled UI bindings, fetching stream URLS, playback logic. It now has been split up into: - ViewModel::PlaybackManager, which handles UI interfacing and allowing to swap out the Model::Playback implementation on the fly. - Model::PlaybackManager, which is an interface for what a PlaybackManager must do, handling queues/playlists, and controlling a player. - Model::LocalPlaybackManager, which is an Model::PlaybackManager implementation for playing back Jellyfin media within the application. - Model::PlaybackReporter, which reports the current playback state to the Jellyfin server, for keeping track of played items. - Model::Player, which handles playing back media from an URL and the usual play/pause et cetera. In a future commit, this would allow for introducing a Model::RemoteJellyfinPlaybackManager, to control other Jellyfin instances. |
||
---|---|---|
.. | ||
codegen | ||
dbus | ||
include/JellyfinQt | ||
qrc | ||
src | ||
CMakeLists.txt | ||
GeneratedSources.cmake | ||
JellyfinQt.qmltypes | ||
openapi.json | ||
openapigenerator.d | ||
qmldir | ||
README.md |
Jellyfin-Qt
This folder contains the core library containing most of the non-interface UI logic and platform-independent parts.
Code generation.
Parts of the code (notably the data models) are generated from the OpenApi description provided by the
Jellyfin server. The code generator uses the D programming language
and expects to be run through DMD. Make sure both a D compiler and DMD are installed.
Afterwards, on Unix-like systems, marking the "script" as executable and running it should be enough. On Windows,
one probably needs to run dub.exe openapigenerator.d
, but I haven't verified it myself.