THe idea behind the switching was to provide gapless playback, but it
made the code too complicated and to intertwined with QtMultiMedia.
I might attempt to implement it later, but I probably will put the code
in a separate class to make it easier to swap the QtMultiMedia
implementation with a multimedia implementation for a player with better
support for gappless playback.
Loading logic should be extracted from the model, to make
loading the data from other sources, such as a local database for
synchronised items, possible.
- Removed "jellyfin" prefix from files, as they are already in a
directory named Jellyfin
- Split the former "jellyfinitem.{h,cpp}" into multiple files in the DTO
directory, one for each class. The jellyfinitem files started to
become enormous.
- Use forward declarations in headers instead of including files
wherever possible.
- Updated copyright headers
- PlaybackManager now takes ownership of set items
- PlaybackManager can play items just by their itemId, avoids useless
item creation on the QML side of things.
- Allow calling Jellyfin::registerTypes with a different URI
- Minor code cleanup
* [backend]: Websocket now automatically tries to reconnect if connection was lost, up to 3 times.
* [backend]: Move more playback and resume logic to the backend, to avoid having it in multiple places within the QML. Regression: pausing playback sometimes halts the video player for an unknown reason.
* [playback]: Sailfin will try to play without the server transcoding, if possible.
* [ui]: added a debug page in the settings
* [ui] Added: Blurry previews of images before they are loaded
Also fixes a bug where ApiModel would remove items that already started
with a lowecase letter or didn't start with a letter at all.
- Application could not be launched by the invoker because of some
missing compiler flags (-rdynamic -pie)
- Private libraries were not found due to incorrect rpath being set
- Moved the qml list of files for sailfish from qtquick to sailfish
(Stupid mistake I made because my editor doesn't really differentiate
between different files with the same name in different folders)