Save item to database before providers run to prevent FK errors
Original-merge: c491a918c2
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
Fix movie titles using folder name when NFO saver is enabled
Original-merge: f8e012582a
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
Fix playlist DateCreated and DateLastMediaAdded not being set
Original-merge: 078f9584ed
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
Fix series DateLastMediaAdded not updating when new episodes are added
Original-merge: abfbaca336
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
Add season number fallback for OMDB and TMDB plugins
Original-merge: 618ec4543e
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
* Correct Album Artists merge logic and Artist equality checks
Correct Album Artists merge logic in MetadataService that causes empty
metadata sources to overwrite populated Album Artists arrays. This impacted
People-to-BaseItem relationships and caused orphaned records in Peoples.
Correct equality checks to be case-sensitive so Jelly metadata exactly
matches file metadata.
* use StringComparer.Ordinal
---------
Co-authored-by: Evan <evan@MacBook-Pro.local>
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)
* Add API support for ELRC word-based lyrics
Adds support for word-based timestamps from within ELRC files.
* Create TimeTags object
* redo TimeTag implementation
Change TimeTag to long, redo TimeTag implementation
Make timestamp not nullable
Update MediaBrowser.Model/Lyrics/LyricLine.cs
Make TimeTag list IReadOnlyList
Remove nullable Timestamp
Update TimeTag description
Co-Authored-By: Cody Robibero <cody@robibe.ro>
* Changes to LyricLineTimeTag
Moved TimeTag to LyricLineTimeTag
Change "timestamp" to "start" for consistency
Change plural "TimeTags" to "Cues"
Change comments
* Change LyricLineTimeTag to LyricLineCue, include info about end times
* Remove width
* Remove width tag
* Rewrite cue parser and add tests
---------
Co-authored-by: Cody Robibero <cody@robibe.ro>