Commit Graph

96 Commits

Author SHA1 Message Date
Philipp Wolfer
618c4f2104 PICARD-2780: Fix checking "video" flag in track comparison
The MB API can return "null" for the video flag of a recording. This was
not considered False in the check.
2023-10-28 00:50:19 +02:00
Philipp Wolfer
1e33a4c357 PICARD-2781: Fix matching release type score for releases without type
No type should use the "Other" type weight instead of leading to zero
match score.
2023-10-28 00:50:19 +02:00
Philipp Wolfer
cc59c1df76 On plugin import error unset sys.modules again 2023-09-13 08:18:53 +02:00
Laurent Monin
ee76bf9e51 Improve coverage of artist_to_metadata(), checking for ended/endarea/enddate
- drop redundant test
2023-06-02 15:47:16 +02:00
Laurent Monin
a962f9176e Improve coverage of media_formats_from_node() and medium_to_metadata()
- use a multi-media release (this case wasn't tested at all)
- fuse old and new tests
- drop media.json test file as it was only used there
2023-06-02 15:26:53 +02:00
Philipp Wolfer
26cf9b507e PICARD-711: Add support for series variables
Adds support for variables for release group, release, recording
and work series. The following variables are getting set:

- ~recording_series
- ~recording_series_id
- ~recording_seriescomment
- ~recording_seriesnumber
- ~release_series
- ~release_series_id
- ~release_seriescomment
- ~release_seriesnumber
- ~releasegroup_series
- ~releasegroup_series_id
- ~releasegroup_seriescomment
- ~releasegroup_seriesnumber
- ~work_series
- ~work_series_id
- ~work_seriescomment
- ~work_seriesnumber
2023-05-29 21:42:42 +02:00
Bob Swift
1847b4d068 Refactor to create new RemoteCommands class 2022-11-22 15:54:39 -07:00
Bob Swift
551043ceaf Process command line executable commands through a queue object.
- Implement a queue object to hold the executable command queue
- Implement a command processor thread to parse the command queue
- Implement command file tracking to avoid circular references
- Do not queue additional commands after a `QUIT` has been queued

Still required:

- Block new command execution until current command is complete
- Test for completion must include all sub threads created
2022-11-22 15:54:38 -07:00
Jeffrey Bosboom
069ffb190b Generate disc ID from fre:ac ripping log 2022-09-30 16:41:24 +02:00
Philipp Wolfer
593728e616 PICARD-2550: disc ID lookup from dBpoweramp secure ripping log 2022-09-25 11:53:44 +02:00
Philipp Wolfer
84f1092ff7 PICARD-2507: Include pregap track in medium's totaltracks count 2022-06-26 18:14:22 +02:00
Philipp Wolfer
32fef293e1 PICARD-2480: Detect and ignore data tracks in EAC log files 2022-06-09 17:56:51 +02:00
Philipp Wolfer
d7b80547a4 PICARD-2470: Allow utf-16 encoded EAC log files
EAC seems to save UTF-16 encoded files. There circulate TOC files in UTF-8 encoding, but mostly these are probably the result of copy and pasting the log.

Detect the encoding based on the BOM (which for UTF-16 should always be present).
2022-05-08 12:44:45 +02:00
Philipp Wolfer
aeb1a7d5a8 PICARD-2422: Remove all AcousticBrainz extraction and submission code 2022-02-16 18:16:46 +01:00
Laurent Monin
2f6479747d Update headers 2022-02-07 09:41:57 +01:00
Laurent Monin
203933ff9f Add few tests for translate_artist_names_script_exception 2022-02-03 10:31:54 +01:00
Philipp Wolfer
803055a9f9 PICARD-2410: Implement parsing Whipper ripping log files 2022-01-30 15:34:17 +01:00
Philipp Wolfer
97d01b99df PICARD-1455: Allow disc lookup from EAC / XLD log file 2022-01-25 08:38:14 +01:00
Philipp Wolfer
59ffd90f88 PICARD-2292: Fix detecting instrumnetal for multi-work recordings
A recording with multiple works should only get the language set to "no lyrics" if all performances are instrumental
2022-01-23 18:04:18 +01:00
Philipp Wolfer
e32e116d5e PICARD-2368: Use totalalbumtracks for cluster matching 2021-12-18 17:26:57 +01:00
Philipp Wolfer
8ed8075cea PICARD-2368: When comparing metadata to a release consider the actual medium track count
tracktotal in a file is supposed to have the total number of tracks on the specific medium. Comparing to the total tracks of a release across all medium hence gives wrong results.
2021-12-18 17:26:56 +01:00
Laurent Monin
bd773b56a9 Reformat test json files
Fix spacing, end of lines, overall indentation
With the help of `python3.9 -m json.tool --no-ensure-ascii`
2021-11-26 15:03:14 +01:00
Laurent Monin
14ce07756e Update Copyright headers, with the help of fix-headers.py script 2021-11-10 21:38:54 +01:00
Philipp Wolfer
7fabde2edf PICARD-2288: Add a variable ~workcomment for the work disambiguation 2021-10-07 14:38:59 +02:00
Philipp Wolfer
192db0a729 PICARD-2233: Composer "credited as" must not overwrite composersort
If "credited as" is set on a composer relationship, the credited name gets used both for composer and composersort. This is inconsistent with how target credits get used for artist / artistsort and causes a composersort tag without proper sort name.
2021-09-12 19:40:49 +02:00
Bob Swift
8a4082fee7 Revise artist name translation logic. Add tests. 2021-09-09 12:34:34 -06:00
Gabriel Ferreira
f42f78b0de AcousticBrainz feature extraction and submission support
Co-authored-by: Laurent Monin <github@norz.org>
Co-authored-by: Philipp Wolfer <ph.wolfer@gmail.com>
2021-08-22 12:46:57 +02:00
Philipp Wolfer
d3d596b09a PICARD-2124: Add and fill _releaseannotation variable 2021-02-22 17:34:09 +01:00
Philipp Wolfer
dee1ad5c81 PICARD-1998: Add "director" (for videos) tag
This adds a tag "director" which is filled with the "video director" AR from MB by default.
2021-01-16 15:48:53 +01:00
Philipp Wolfer
a7e0b9f999 PICARD-204: Support for recording-level original release date
Provide variables %_recordingoriginaldate% and %_releaseoriginaldate%.
2021-01-15 17:23:57 +01:00
Philipp Wolfer
60087bfc3b PICARD-2090: Add TIFF support again 2021-01-03 10:06:38 +01:00
Philipp Wolfer
0d01615498 PICARD-2089: Support WebP for cover art images 2021-01-02 12:18:40 +01:00
dukeyin
cbc1bce030 Add unit test for "Use release relationships"
* Added a release-level producer to release.json because the existing release-artist relationships are not used in tagging
* Modified the existing release test to check that the producer tag is the release-level producer when "Use release relationships" is enabled
* Added a release test to check that the producer tag is empty when "Use release relationships" is disabled
2020-07-17 20:01:37 -04:00
Philipp Wolfer
3f9ad5a743 PICARD-1884: Fix tracknumber tag with value 0 not set 2020-07-14 17:03:30 +00:00
Philipp Wolfer
bbc3f1450f PICARD-1839: Support tagging DSDIFF (DFF) files with ID3 2020-07-14 07:41:15 +00:00
Philipp Wolfer
149e02c914 PICARD-1840: For instrumental recordings unset lyricist
Also set language to zxx ("No lyrics"), fixes PICARD-1117
2020-06-17 21:34:02 +02:00
Philipp Wolfer
ac91895629 PICARD-1803: Fixed decamelcasing relationship attributes
EWI must not become E W I
2020-04-17 22:02:10 +02:00
Laurent Monin
6b5e852a60 Run fix-header on *.py 2020-02-24 10:25:09 +01:00
Laurent Monin
3585d40b0b PICARD-1762: fix broken PDF identification
In identify(), comparaison was done against `str` instead of `bytecode`, due to the lack of `b` prefix

ImageInfoTest: add missing test PDF file identification
2020-02-23 13:07:30 +00:00
Philipp Wolfer
7539d8dc23 PICARD-1751: Provide a ~releasecountries variable 2020-02-19 21:55:23 +00:00
Philipp Wolfer
a9cb192f00 PICARD-1646: Consider release types for AcoustId results
Make the release primary and secondary type as provided by AcoustId available to the matching.
2020-01-29 19:25:36 +01:00
Philipp Wolfer
99bf0844ef PICARD-125: Read technical details from AC3 files 2019-10-28 16:08:11 +01:00
Philipp Wolfer
0847ee0a35 PICARD-125: Saving tags for AC3 can be configured
Saving APEv2 tags to AC3 can be disabled, existing tags can be removed.
2019-10-28 16:08:11 +01:00
Philipp Wolfer
39843f1f42 PICARD-125: Support AC3 files with APEv2 tags 2019-10-28 15:45:09 +01:00
Philipp Wolfer
ad0c1d88ef PICARD-1628: Make saving APEv2 to AAC optional
Only some software supports APEv2 tags in AAC files, for some software it even causes issues with length calculation or playback. Let the user configure whether to save APEv2 to AAC, not save APEv2 to AAC or completely remove APEv2 from AAC.
2019-10-28 15:38:47 +01:00
Philipp Wolfer
d304e30dc2 PICARD-1594: Set ~video variable on file loading based on extension
This does not give a 100% coverage of detecting files which include video, but at least those files are supposed to be video files.
2019-09-11 08:49:00 +02:00
Philipp Wolfer
1f19ee4b94 Increased test coverage of format tests 2019-09-07 17:46:23 +02:00
Philipp Wolfer
0f1c4999fa PICARD-1506: Provide empty config for tests
If there is no empty config file Qt seems to initialize the specified config file path with a copy of the application's config.
2019-06-03 14:12:07 +02:00
Laurent Monin
1b1800ae75 Clean up plugin test files
- remove extra space in files
- add a MANIFEST.json to dummyplugin.picard.zip (and remove metadata from python file)
2019-04-18 11:14:48 +02:00
Laurent Monin
76487b0b0b Add tests for _plugin_name_from_path() 2019-04-18 11:14:47 +02:00