| Age | Commit message (Collapse) | Author |
|
Fix System.NullReferenceException when people's role is null (10.11.z)
Original-merge: 5a9a8363f45ed34b2db1f8f59c2be69ff458f8ab
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
|
|
processed (#14851)
|
|
|
|
|
|
|
|
|
|
Fix PeopleHelper.AddPerson Exceptions due to bad meta-data extracts.
|
|
Jellyfin implemented ARTISTS multivalue tag but did not implement the equivalent ALBUMARTISTS multivalue tag. This change adds ALBUMARTISTS support. If present and PreferNonstandardArtistsTag is set, ALBUMARTISTS will be used in preference to ALBUMARTIST. As with ARTISTS, the intent is to offer support for multiple album artists without affecting software that does not read ALBUMARTIST as a multivalued tag.
Example album before/after:
ALBUM : Amici e Rivali
ARTIST : Lawrence Brownlee / Michael Spyres
album_artist : Lawrence Brownlee
ARTISTS : Lawrence Brownlee;Michael Spyres
ALBUMARTISTS : Lawrence Brownlee;Michael Spyres
Before ALBUMARTISTS support, Jellyfin reports:
Album Artist: Lawrence Brownlee [hyperlinked]
On each track Artist: Lawrence Brownlee, Michael Spyres
After ALBUMARTISTS support, Jellyfin reoprts:
Album Artist: Lawrence Brownlee [hyperlinked], Michael Spyres [hyperlinked]
On each track Artist: none shown (no other artists in source metadata)
This is ideal as both key artists are hyperlinkable from their albums.
References to other products implementing ALBUMARTISTS:
- Navidrome: https://www.navidrome.org/docs/usage/tagging-guidelines/#handling-multiple-artists-and-collaborations
- Kodi: https://kodi.wiki/view/Music_tagging#albumartists
- MusicBrainz Picard: https://picard-docs.musicbrainz.org/en/variables/variables_basic.html (_albumartists tag)
|
|
|
|
|
|
metadata (#14077)
|
|
|
|
|
|
Rework chapter management
|
|
|
|
|
|
Clone fallback audio tags instead of use ATL.Track.set
Original-merge: 9eb2044eae50c69be4cb3830887bdd5da15ee920
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
* Add recording metadata provider
* Add recording MBID
* Save recording MBID during probing
* Set recording ID in probe result normalizer
* Add recording external media type
* Reimplement after changes in upstream
* Rename variable
* Rename variable
* Revert "Set recording ID in probe result normalizer"
This reverts commit 9dd18c8aba3f970a5816a13a33acf3d58b0e440f.
* Fix setting provider ID
* Simplify code
* Fix comment
* Add missing using
|
|
|
|
|
|
|
|
Correctly handle audio number tag fallbacks
Original-merge: 117d2082aa4f46f470c361c39f4a2189014260ee
Merged-by: joshuaboniface <joshua@boniface.me>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
|
|
|
|
Don't fall back to ffprobe results for multi-value audio tags
Original-merge: f97f38585b69c7d810b5708a3c9d822a3ac545b6
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
* Remove useless checks and dead code
* Enable adaptive bitrate streaming again
* Disable adaptive bitrate streaming by default
|
|
* spelling: anamorphic
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: associated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: channelinfo
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: eagerly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: enumerable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: greater than/less than
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: greater
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: lineup
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: logs out
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: names
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: paging
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: playlist
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: sanitized
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* spelling: saving
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
---------
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Only set first MusicBrainz ID for audio tags
Original-merge: e2434d38c54b90070bc4eaffa7e3c5cdd9934602
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The API requires an array type and does not support runtime generated default value. Use server side helper function to sanitize it into char.
|
|
Because the Nfo files emit the collections as they are in-memory, the
files are not stable in format, genres, tags, albums, people, etc. are emitted in random orders. Add ordering of the collections when emitting the Nfo files so the file remains stable (unchanged) when underlying media information doesn't change.
In the process of this, it became clear that most of the providers and probes don't trim the strings like people's names, genre names, etc. so did a pass of Trim cleanup too.
Specific ordering: (alphabetical/numeric ascending after trimming blanks and defaulting to zero for missing numbers)
BaseItem: Directors, Writers, Trailers (by Url), Production Locations, Genres, Studios, Tags, Custom Provider Data (by key), Linked Children (by Path>LibraryItemId), Backdrop Images (by path), Actors (by SortOrder>Name)
AlbumNfo: Artists, Album Artists, Tracks (by ParentIndexNumber>IndexNumber>Name)
ArtistNfo: Albums (by Production Year>SortName>Name)
MovieNfo: Artists
Fix Debug build lint
Fix CI debug build lint issue.
Fix review issues
Fixed debug-build lint issues.
Emits the `disc` number to NFO for tracks with a non-zero ParentIndexNumber and only emit `position` if non-zero.
Removed the exception filtering I put in for testing.
Don't emit actors for MusicAlbums or MusicArtists
Swap from String.Trimmed() to ?.Trim()
Addressing PR feedback
Can't use ReadOnlySpan in an async method
Removed now-unused namespace
|
|
|
|
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Co-authored-by: Cody Robibero <cody@robibe.ro>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|