Commit Graph

84 Commits

Author SHA1 Message Date
raingloom
5b37bfc33a Minor fix ID3 rename_txxx_tags test 2020-09-06 20:56:40 +02:00
Philipp Wolfer
dd2acaf6ee PICARD-1892: Fixed deleting totaldiscs / totaltracks from Vorbis tags
Deleting failed if the file only contained disctotal or tracktotal tags, but not also totaldiscs or totaltracks.
2020-07-20 13:29:54 +02:00
Philipp Wolfer
bbc3f1450f PICARD-1839: Support tagging DSDIFF (DFF) files with ID3 2020-07-14 07:41:15 +00:00
Philipp Wolfer
df8010cf02 PICARD-1826: Consider .ogg files as generic Ogg container files
Fixes e.g. loading Ogg Opus files with .ogg extension, instead of assuming .ogg is always Ogg Vorbis.
2020-05-24 16:34:38 +02:00
Philipp Wolfer
651bbad60d Merge pull request #1534 from phw/PICARD-1812-riff-info
PICARD-1812: Save RIFF INFO tags for WAVE
2020-05-13 19:11:08 +02:00
Philipp Wolfer
d79d142a04 Refactor picard.formats and picard.coverart.providers to avoid circular dependencies 2020-05-13 17:04:11 +02:00
Philipp Wolfer
bb7c45ddf8 PICARD-1812: Tests for loading / saving RIFF INFO tags 2020-05-13 13:50:05 +02:00
Philipp Wolfer
1542d4d7c0 PICARD-1812: Option to remove RIFF INFO from WAVE files 2020-05-13 11:08:07 +02:00
Philipp Wolfer
b8644aad3d PICARD-1812: Options for saving RIFF INFO to WAVE 2020-05-13 11:08:07 +02:00
Philipp Wolfer
0996495cee PICARD-1128: Allow tagging WAVE files with ID3
Requires support in mutagen
2020-05-13 11:06:37 +02:00
Philipp Wolfer
909ea667b8 Check code style of tests with flake8 2020-05-13 11:03:13 +02:00
Philipp Wolfer
f812681092 PICARD-1795: Allow deleting iTunNORM and iTunPGAP tags from ID3 2020-03-28 20:01:58 +00:00
Philipp Wolfer
b2a850c007 PICARD-1788: Fix case-insensitive saving of ID3 TXXX frames 2020-03-06 17:05:04 +01:00
Philipp Wolfer
96e429f83a PICARD-1787: ID3 fix deleting case-insensitive TXXX frames 2020-03-06 17:00:53 +01:00
Philipp Wolfer
880a3c3443 Added ID3 tests for deleting tags in __rename_freetext 2020-03-06 16:45:32 +01:00
Philipp Wolfer
bb4c417d04 PICARD-1786: Fix ID3 deleting multiple TIPL items with same role
Added tests for deleting TIPL entries from ID3, fixed issue of multiple people with same role not getting removed.
2020-03-06 16:45:25 +01:00
Philipp Wolfer
80b1b9ea93 PICARD-1785: Fix deleting ID3 tags with explicit ~id3: syntax 2020-03-06 16:41:26 +01:00
Philipp Wolfer
062e75afb8 Test saving license to ID3 2020-03-06 13:47:38 +01:00
Philipp Wolfer
6e8f4ed5d2 Improve format test coverage 2020-03-06 13:47:38 +01:00
Philipp Wolfer
83be0ae5a3 Added tests for loading unsupported images from tags 2020-03-06 12:46:30 +00:00
Philipp Wolfer
7f6db1bde6 PCIARD-1783: Fixed regex escaping for tag descriptions in Vorbis and APEv2 2020-03-04 07:02:06 +00:00
Philipp Wolfer
57c8fe209a PICARD-1783: Fix deletion of comment, performer and lyrics tags
This adds tests for deleting comment, performer and lyrics tags and fixes various issues with this in ID3, MP4, Vorbis and APEv2.
2020-03-04 07:02:06 +00:00
Laurent Monin
6b5e852a60 Run fix-header on *.py 2020-02-24 10:25:09 +01:00
Laurent Monin
3f25bda3c8 Fix a bunch of flake8 warnings, mostly cosmetic changes 2020-02-21 21:43:40 +01:00
Laurent Monin
0631e5ff28 Move copy_file_tmp() and remove_file_tmp() to PicardTestCase
It helps to reduce code redundancy.
2020-02-08 18:04:39 +01:00
Philipp Wolfer
c52519d91a PICARD-239: Handle tags like "comment" and "comment:" the same
Some of Picard's tag names allow an additional description separated by a colon, e.g. "comment:desc". In case the description part is empty and the tag ends on a colon this is now treated the same as without any colon. So "lyrics" and "lyrics:" are the same tag.

Handling this in Metadata makes this change immediately available in scripting and to all formats. Script using both forms will still work.
2020-01-26 17:07:42 +01:00
Philipp Wolfer
8f745f1a0d PICARD-1711: Fix deleting lyrics tag from ASF, APE, ID3 files 2020-01-23 12:10:15 +01:00
Philipp Wolfer
4d85c2e31f PICARD-1589: Support language for ID3 comments.
Adds syntax "comment:{language}:{description}" in addition to existing "comment:{description}" for comment tag names.
2020-01-23 07:57:41 +01:00
Zenara Daley
30fee6e38f PICARD-1521: Add TOFN to ID3 metadata (#1401)
* Add TOFN to ID3 metadata

Co-authored-by: Andrew Wiggins <xandrewwiggins@gmail.com>
Co-authored-by: Wyll Brimacombe <wyll.brimacombe@gmail.com>
Co-authored-by: Raunaq Gupta <raunaqg10@gmail.com>
Co-authored-by: Matt Ehrler <mehrler12@gmail.com>

* Add internal tag name; check for expected value in test

Co-authored-by: Andrew Wiggins <xandrewwiggins@gmail.com>
Co-authored-by: Wyll Brimacombe <wyll.brimacombe@gmail.com>
Co-authored-by: Raunaq Gupta <raunaqg10@gmail.com>
Co-authored-by: Matt Ehrler <mehrler12@gmail.com>
2019-12-09 23:38:22 +01:00
Philipp Wolfer
a78e857834 isort import sorting fixes 2019-11-26 13:11:08 +01:00
Philipp Wolfer
229116f95a Merge pull request #1306 from phw/PICARD-125-ac3
PICARD-125: Support for raw AC3 / EAC3 files
2019-11-19 09:45:08 +01:00
Philipp Wolfer
a1ea068946 PICARD-1672: Flag MP4 files with the hdvd tag as video 2019-11-18 10:31:44 +01:00
Philipp Wolfer
0e42482f5f PICARD-1662: Do not save too large images to FLAC 2019-11-17 15:42:29 +01:00
Philipp Wolfer
19f6ebc6e1 Fixed deprecation warning in ASF tests 2019-11-13 01:12:29 +01:00
Philipp Wolfer
6d5c8df0b4 PICARD-1098: MP4 custom tag names must be valid latin-1 2019-11-04 15:41:35 +01:00
Philipp Wolfer
5318b4c3fe PICARD-1098: Support custom tags for MP4
Custom tags are saved to "----:com.apple.iTunes:REPLAYGAIN_ALBUM_GAIN" + tag_name. tag_name is treated cases insensitive, but casing is preserved.
2019-11-04 15:41:35 +01:00
Philipp Wolfer
0854b91c90 PICARD-1592: Preserve case for APEv2 tags
When reading APEv2 tags case insensitive, preserve existing casing.
2019-11-04 08:18:41 +01:00
Philipp Wolfer
fc432e5ce4 PICARD-1629: Better length calculation for AAC with APEv2
For AAC files with APEv2 tags the length calculation was off, since the size of the APEv2 block was used in the estimate. Now the length of the APEv2 block gets taken out of the length estimate.
2019-10-31 10:38:18 +01:00
Philipp Wolfer
0776741f5a PICARD-125: AC3 codec is now stored in info.codec 2019-10-28 16:12:45 +01:00
Philipp Wolfer
29a9ee7fd0 PICARD-125: Use AC3 implementation from mutagen
Use a simplified fallback in case mutagen.ac3 is not available.
2019-10-28 16:12:45 +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
e1688f95ce AAC: Refactored code, moved mutagen specific code to mutagenext 2019-10-28 15:38:47 +01:00
Philipp Wolfer
acb31b7ebe PICARD-1652: Use TAK implementation from mutagen if available
Fallback to our existing more simple implementation.
2019-10-28 08:47:06 +01:00
Philipp Wolfer
965ee9bbce PICARD-1592: APEv2 tag case insensitive reading
According to specification APEv2 tags should be read case insensitive. Previously Picard only read tags for which there was no explicit mapping case insensitive, but treated all explicitly mapped tags case sensitive.
2019-10-26 19:34:00 +02:00
Philipp Wolfer
e8a22de919 ASF: Improved error handling for unpack_image
Improvements to unpack_image taken from https://github.com/quodlibet/quodlibet/blob/master/quodlibet/quodlibet/formats/wma.py#L228
2019-10-17 19:02:30 +02:00
Philipp Wolfer
3352e7e86e PICARD-1643: Fixed saving performer tags to Vorbis and APEv2
Tags in the format of performer:instrument were not saved to Vorbis and APEv2 tags if instrument contained non-ASCII characters.
2019-10-16 18:43:36 +02:00
Philipp Wolfer
fb20b00418 PICARD-1630: Always save FLAC picture blocks after Vorbis comments
If FLAC picture blocks are located before the Vorbis comments, Windows cannot read the tags. By ensuring the pictures are always located after the Vorbis comments the FLAC metadata will be visible and editable in Windows Explorer.
2019-10-14 11:38:03 +02:00