Simplify entity equality code and enfore db/metadata split
Use a nuget package to remove boilerplate code that needs careful
update when adding/removing fields. Add tests to enforce that all
fields are allocated to 'UseMetadataFrom' or 'UseDbFieldsFrom' to make
metadata refresh more foolproof.
Fix NRE when tracks are merged because artist wasn't set.
Fix NRE when tracks are merged and the merge target wasn't yet in the database.
* New: Swap to ImageSharp for image resizing to avoid leaks
Stop resizing album images also
* Fixed: MediaCoverModule falls back to fullsize for png and gif too
* Fixed: Look for all image extensions in DeleteBadMediaCovers.cs
On import the album release is adjusted, which triggers an
AlbumEditedEvent which in turn coverts media cover urls to local
urls. The addition of ?lastWrite=xxx broke the calculation of
extenions from the URL. To fix, only set the extension and don't
update the extension if url is changed.
* New: Store all releases for an album and track artists
* Add Overview, links and release date by release
* Tidy up
* Fix metadata refresh errors following musicbrainz edits
This fixes and implements many items on the ArtistIndex Page and ArtistDetailPage
* Create ArtistStatistics Core Module and tie into API.
* Create Members Class and tie into ArtistModel and Artist API resource.
* Finish Out Album API resources and pass to ArtistDetailPage.
* Finish Out Track and TrackFile API resources and pass to ArtistDetailPage.
* Lots of UI work on Artist Detail Page to get Albums and Track list working.
* Add Cover and Disc Image Types to MediaCover Class
* Remove AddSeries UI Flow, since we have replaced with AddArtist (Cleanup)
Add, new setting "Set File Date to Airdate" on the Media Management tab of the Settings page to toggle this feature for new, imported and auto updating media files.
Change, home page "Series Editor" - "Rename" button to "Update Files" and add "Set File Date To Air Date" action button to this modal to add capability of updating legacy media.
Add, non UTC functions given that Windows undesirably adds time to file times set when using UTC.
Fix, the Trakt API response show.air_time_utc contains erroneous data, this is replaced with show.air_time.