1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-04-25 04:52:25 +00:00
Commit graph

25 commits

Author SHA1 Message Date
Chris Josten 0180aeaab1 build: produce static libraries
This also adds the constructor to the plugin class, as it should now be
called to register the qml types.

Dynamic linking mostly has its problem on Sailfish OS, as it creates
larger binaries and RPMs. Since this is the only application consuming
it, I see no benefit in using it.
2025-03-12 20:43:17 +01:00
Chris Josten b257fe60aa Discover remote sessions
Adds a way of discovering remote sessions and in Jellyfin the UI.
2023-01-02 20:05:41 +01:00
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
Chris Josten b8933ddca4 Move QObject-wrapping code into templates
Previously, this pattern was copy-pasted in a few places. This is
undesirable, so the code has been moved into templates.

Fixes #30
2022-08-24 17:00:14 +02:00
Chris Josten 64ad37707c Make libJellyfinQt a proper qml plugin 2021-09-08 21:36:26 +02:00
Chris Josten 1453cbbc63 Add basic settings framework
This settingsframework uses mlite5 on SailfishOS and other platforms
with the mlite library present, because I believe DConf is neat. For
platforms that do not have DConf and mlite present, it falls back to a
quickly put together implementation that uses QSettings as a backend.

Implementing an settings item is simply done by subclassing the
Jellyfin::QObjectSettingsWrapper.
2021-09-02 15:34:32 +02:00
Chris Josten 54235f298e Add MPRIS support
Besides MPRIS support, this also adds support for hasPrevious() and
hasNext() in several parts to determine whether the
player/playlist/shuffler has a previous or next item.
2021-08-31 01:29:51 +02:00
Chris Josten 1aae311b9b Add track selection back 2021-08-23 01:48:19 +02:00
Chris Josten e04ec364c1 Add UserLoader back + misc regression fixes 2021-08-18 00:04:27 +02:00
Chris Josten 7b6c272aa9 Rewire more of Sailfish frontend into new backend
This should encompass most simple things, besides some larger, trickier
things, like the video streams and the now-broken userdata
2021-08-11 23:35:33 +02:00
Chris Josten 86672be051 WIP: Add playlists/queues and add support for Sailfish back 2021-07-31 15:06:17 +02:00
Chris Josten fbc154fb56 WIP: Playlist support 2021-05-21 15:46:30 +02:00
Chris Josten 9abee12658 Resolved remaining issues with ApiModel 2021-03-29 17:10:25 +02:00
Chris Josten 89fef6d7f4 WIP: Code cleanup, trying to debug Q_ENUM not visible from QML 2021-03-29 14:27:37 +02:00
Chris Josten 729e343661 WIP: HttpLoader seems to work, Model still borked 2021-03-28 04:00:00 +02:00
Chris Josten e421adf733 WIP: Reimplementation of ListModels. 2021-03-26 21:27:35 +01:00
Chris Josten 2360b261f7 WIP: logic rewrite
WIP: adding loaders
2021-03-24 20:04:03 +01:00
Chris Josten b9b08ab384 Make model code compileable
This disables some application level logic, but I'm going to rewrite
that using Lager anyway.
2021-03-20 16:29:31 +01:00
Chris Josten 17d4b2c24b WIP: extract loading logic from model
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.
2021-03-05 15:34:10 +01:00
Chris Josten 40d8793bd8 WIP: autogenerate models based on OpenAPI 2021-02-21 05:02:05 +01:00
Chris Josten 4ed6a8a42d Slight improvements to the OpenAPI generator 2021-02-21 00:26:18 +01:00
Chris Josten 895731ae38 Big C++ refractor
- 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
2021-02-17 19:42:10 +01:00
Chris Josten e4e35c03d4 Add (optional) firejail support 2021-02-17 02:28:37 +01:00
Chris Josten 727e50cae1 Updated build system to fix issues
- 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)
2020-10-26 00:14:46 +01:00
Chris Josten 228bcfb685 Switched to a sane build system (CMake) 2020-10-25 19:58:02 +01:00