-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
plugin cd: Replace ccdb with libdiscid+musicbrainz (#824)
* Add musicbrainzngs * Put all the linux-specific code into a new module * This module directly accesses the kernel using ioctl * Completely rewrite it for readability * Main module: * Add platform detection * Add metadata provider hierarchy * Add a new module for parsing discid data * Add a new module for parsing musicbrainzngs data based on discid * Main module [WIP]: * Disable threading support for now * incomplete discid+musicbrainzngs parsing missing special cases * linux_cd_parser: * Add code for reading MCN * Fix track number format * cleanup * discid_parser: * Read extra features like mcn and isrc if possible * Fix track number format * Save more data to track metadata * musicbrainzngs_parser.py: * implement cdstub parsing * improve disc parsing * calculate priorities from how good the data matches the disc * implement hierarchical priority and filter * filter available data based on priorities * discid_parser.py: * Split read function out to make it accessible from __init__.py * __init__.py: * Add more ideas * Improve data provider logic * make musicbrainzngs parser rely on discid * musicbrainzngs_parser.py: * Pre populate tracks from discid_parser * This includes low-level fields such as MCN, ISRC, FreeDB ID, Musicbrainz ID, tracknumber, length * Add links to documentation * Simplify user agent initialization * Fetch more fields from musicbrainz: * isrcs -> improve detection of right metadata set * artist-credits -> include track specific artists or multiple artists * improve parser syntax for readability * change log level, remove some debugging code and comments * fetch cover image * Move setting of musicbrainz_albumid to discid_parser * Introduce and fix multi-threading * Both disc I/O and fetching metadata from the internet happens async now. * Add option to disable metadata fetch from internet * Improve callbacks, always invoke them * Rationale: Needed to be able to abort progress indication * Save isrc tag in a way compatible to Picard * Set musicbrainz useragent each time before making an api call since we're using it for multiple plugins. Co-authored-by: Christian Stadelmann <dev@genodeftest.de>
- Loading branch information
1 parent
70fa4d1
commit 82c69f7
Showing
11 changed files
with
1,075 additions
and
198 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 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 |
---|---|---|
@@ -1,7 +1,7 @@ | ||
Version='4.1.2' | ||
Authors=['Aren Olson <reacocard@gmail.com>'] | ||
Name=_('CD Playback') | ||
Description=_('Adds support for playing audio CDs.\n\nRequires UDisks2 to autodetect CDs\nRequires cddb-py (%s) to look up tags.') % 'http://cddb-py.sourceforge.net/' | ||
Description=_('Adds support for playing audio CDs.\n\nRequires UDisks2 to autodetect CDs\nRequires python-libdiscid (%s) and python-musicbrainzngs (%s) to look up tags.') % ('https://pypi.org/project/python-libdiscid/', 'https://pypi.org/project/musicbrainzngs/') | ||
Category=_('Devices') | ||
Platforms=['linux'] | ||
RequiredModules=['dbus'] |
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
Oops, something went wrong.