Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: custom fields can be set by plugins for all library items
This is probably the most egregiously disgusting commit, so for that, I apologize. It turns out that creating custom fields required or prompted *a lot* of code changes in order to integrate properly. Thus, summing this commit up as a single "feature" seems laughable, but I couldn't be bothered to properly split it up. I'll try to summarize all the main changes though: 1. Use json in sqlite to allow any plugin to set custom fields. These fields can be queried, edited, accessed, etc. transparently from other fields. 2. Musicbrainz ids were moved to custom fields. This is because I want core fields to solely be anything that is fundamental to a track, album, or extra. Custom fields are for any plugin-specific fields, like in this case, musicbrainz ids. 3. Add custom duplicate detection for items in the library. Because we previously used musibrainz's release-ids for duplicate detection, I added the ability for any plugin to add constraints to whether or not a library item was considered "unique" from another. 4. New duplicate detection and resolution. Duplicate detection, now based off of core and custom constraints, happens automatically whenever an item is changed or added to the library. This functionality, along with the existing duplicate prompt, was moved into a separate 'duplicate' plugin. I'm sure there's even more that happened here that I forgot about. Moving musicbrainz ids to custom fields prompted a full database schema rewrite rather than a migration, so this commit is not compatible with any before it. I'm hoping this will be the last database breaking change, and that we can rely on migrations going forward to ensure backwards compatability from this point on.
- Loading branch information
Showing
55 changed files
with
2,652 additions
and
1,623 deletions.
There are no files selected for viewing
This file contains 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
This file was deleted.
Oops, something went wrong.
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
######### | ||
Duplicate | ||
######### | ||
Handles detection and resolution of duplicate items in the library. | ||
|
||
Duplicate items will automatically be detected upon any library additions or changes, and the user will be asked how they'd like to resolve the duplicates. | ||
|
||
************* | ||
Configuration | ||
************* | ||
The ``duplicate`` plugin is enabled by default. |
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,6 +11,7 @@ These are all the plugins that are enabled by default. | |
:maxdepth: 1 | ||
|
||
add | ||
duplicate | ||
edit | ||
import | ||
info | ||
|
This file contains 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
This file contains 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
Oops, something went wrong.