Commit Graph

56 Commits

Author SHA1 Message Date
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
Philipp Wolfer
b11b07160d Fixed up left-over Python 2 unicode string declarations 2019-09-26 10:58:54 +02:00
Philipp Wolfer
05ffd72884 tests: use assertIn and assertNotIn 2019-09-13 22:09:36 +02:00
Philipp Wolfer
663d04f5cf Run full APE tests for AAC files 2019-09-13 09:37:45 +02:00
Philipp Wolfer
c6d091eb0a Merge pull request #1269 from phw/PICARD-1594-is_video_audio_scripting
PICARD-1594: Add $is_video() and $is_audio() scripting functions
2019-09-11 11:48:41 +02: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
6aef76e76c PICARD-1586: Do not actively prevent the standard ReplayGain tags for Opus.
Those tags are still supported by some software, and it should be the decision of the ReplayGain tool and / or user which tags to write.
2019-09-11 00:34:35 +02:00
Philipp Wolfer
103b7315e9 Test unsupported tag is really unsupported 2019-09-08 13:33:19 +02:00
Philipp Wolfer
1f19ee4b94 Increased test coverage of format tests 2019-09-07 17:46:23 +02:00
Philipp Wolfer
69716178eb PICARD-1591: Error tolerant loading of metadata_block_picture 2019-09-06 18:17:47 +02:00
Philipp Wolfer
feec4cb299 Do not use file as variable name 2019-09-06 10:47:07 +02:00
Philipp Wolfer
c07168f734 PICARD-1586: Preserve case for ReplayGain tags in ID3, MP4, ASF 2019-09-06 10:47:07 +02:00
Philipp Wolfer
a7faed5cca PICARD-1586: Test proper deletion of case insensitive tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
9d0e1232c6 PICARD-1586: ReplayGain tags case-insensitive for ASF and MP4 2019-09-06 10:47:07 +02:00
Philipp Wolfer
ec777be2cc PICARD-1586: ReplayGain tags case-insensitive for ID3 2019-09-06 10:47:07 +02:00
Philipp Wolfer
a4990746a7 PICARD-1586: Support R128_* tags only for Opus
Test other formats for not supporting it.
2019-09-06 10:47:07 +02:00
Philipp Wolfer
9ab4aefc49 PICARD-1586: Support Opus R128_*_GAIN tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
5b53af16df PICARD-1586: Added basic tag mapping for ReplayGain tags 2019-09-06 10:47:07 +02:00
Philipp Wolfer
0860529159 Activated inactive tests 2019-09-04 15:20:52 +02:00
Philipp Wolfer
dc0ec84401 isort: Consistently use two blank lines after import 2019-04-04 08:35:23 +02:00
Philipp Wolfer
dd4da2aa47 Updated isort config to put test imports in separate section 2019-04-04 08:32:22 +02:00
Philipp Wolfer
05fc98c64a Run isort over all files 2019-04-03 21:19:12 +02:00
Philipp Wolfer
7cf3945272 Removed unused imports 2019-03-29 10:55:28 +01:00
Philipp Wolfer
63cb114080 Always run tagger.run_cleanup for PicardTestCase 2019-03-29 08:59:14 +00:00
Philipp Wolfer
ea9ad532b2 PICARD-1497: Mark invalid Apev2 keys as unsupported tags 2019-03-28 22:52:59 +01:00
Philipp Wolfer
dd12220e1e PICARD-1497: Mark invalid Vorbis keys as unsupported tags 2019-03-28 22:52:59 +01:00
Laurent Monin
0724e8fb26 metadata.delete('tag') -> del metadata['tag'] 2019-03-28 13:39:51 +00:00
Philipp Wolfer
10f896d327 Formats test code cleanup
Addressed review comments
2019-03-28 14:18:14 +01:00
Philipp Wolfer
12548bb638 Added tests for ASF utility functions 2019-03-28 11:45:42 +01:00