harbour-sailfin/qtquick
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
..
SailfinStyle Add login page 2021-03-07 16:26:13 +01:00
assets/img QtQuick background test 2021-02-16 18:01:17 +01:00
qml core: Split PlaybackManager up into smaller parts 2022-11-05 18:20:23 +01:00
src Add support for server-side notifications 2021-09-09 02:18:10 +02:00
CMakeLists.txt WIP: logic rewrite 2021-03-24 20:04:03 +01:00
SailfinStyle.qml Add login page 2021-03-07 16:26:13 +01:00
qml.qrc Add support for server-side notifications 2021-09-09 02:18:10 +02:00
qmldir Add login page 2021-03-07 16:26:13 +01:00
qtquickcontrols2.conf WIP: Add playlists/queues and add support for Sailfish back 2021-07-31 15:06:17 +02:00
test.rcc Repair broken userdata. 2021-08-17 16:43:17 +02:00