feat: add Jellyfin media source integration - #910
Merged
Merged
Conversation
- Implemented Jellyfin media source functionality, allowing users to connect to Jellyfin servers for music streaming - Added localization strings for Jellyfin settings in multiple languages - Created JellyfinMediaSource class to handle authentication, media fetching, and syncing - Updated MediaSourceManager to support adding and managing Jellyfin sources - Enhanced player and track logic to accommodate Jellyfin tracks and their metadata - Introduced UI components for managing Jellyfin servers in the settings view Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
- Client now verifies cached session and uses that if possible to avoid unnecessary reauth - Moved audio metadata storing from localStorage to metadata files like on local files to have an unified design as well as to avoid localStorage space constraints - Client startup performs only incremental sync with the help of timestamping, sync button performs full library sync - Sync upserts tracks instead of removing everything and reinserting, tracks persists thru app relaunch Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
… populated - This fixes a bug in jellyfin source, where the tracks would share same hash as the path was not yet computed properly and thus skewing analytics - Also both jellyfin and subsonic had either access token or password embedded in the path and thus made the hash persistency flaky, so their hashing was altered Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Fixes regression from previous hashing update: Populating track data before hashing prevents server data, such as isFavourited from making it to the track info, running hashing right after obtaining the id prevents this as that satisfies the algorithm needs but doesn't override any of the data Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Adds a toggle for jellyfin media source to report playback status back to the server Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
This adds support for bit depth as well as sample rate fetching Signed-off-by: Niko Huuskonen <niko.huuskonen.00@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v24Signed-off-by: Niko Huuskonen niko.huuskonen.00@gmail.com