1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-11-14 13:35:17 +00:00
harbour-sailfin/core
Chris Josten c72c10bad4
core: Split PlaybackManager up into smaller parts
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.
2022-11-05 18:20:23 +01:00
..
codegen Replace not-fully-initializing DTO constructors 2021-09-25 17:07:12 +02:00
dbus Add MPRIS support 2021-08-31 01:29:51 +02:00
include/JellyfinQt core: Split PlaybackManager up into smaller parts 2022-11-05 18:20:23 +01:00
qrc WIP: Playlist support 2021-05-21 15:46:30 +02:00
src core: Split PlaybackManager up into smaller parts 2022-11-05 18:20:23 +01:00
CMakeLists.txt core: Split PlaybackManager up into smaller parts 2022-11-05 18:20:23 +01:00
GeneratedSources.cmake openapi: group endpoints by tag in file 2021-09-01 14:50:02 +02:00
JellyfinQt.qmltypes Make libJellyfinQt a proper qml plugin 2021-09-08 21:36:26 +02:00
openapi.json Initial OpenApi code generator 2021-02-20 23:33:07 +01:00
openapigenerator.d Replace not-fully-initializing DTO constructors 2021-09-25 17:07:12 +02:00
qmldir Make libJellyfinQt a proper qml plugin 2021-09-08 21:36:26 +02:00
README.md Slight improvements to the OpenAPI generator 2021-02-21 00:26:18 +01:00

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.