Commit Graph

567 Commits

Author SHA1 Message Date
Martchus 0d4d3da41e Add script to update enum comments 2020-04-22 22:09:00 +02:00
Martchus 0e66b34d48 Add human readable representation of certain IDs as comments 2020-04-22 22:08:02 +02:00
Martchus 6c8f237087 Show warning when reading/writing ID3v2 frames not matching the tag version 2020-04-22 19:48:27 +02:00
Martchus c9e0f82519 Add missing exports in id3v2frameids.h 2020-04-22 19:15:54 +02:00
Martchus 8f3eae59f1 Add more time-related ID3v2 IDs 2020-04-22 19:14:34 +02:00
Martchus 248a6555f3 Add links to upstream documentation of field IDs for the different formats 2020-04-22 18:43:41 +02:00
Martchus 25b567913b Detect Dolby Digital Plus in Matroska files 2020-03-18 17:48:23 +01:00
Martchus fb4633ad36 Add specific diag msg when abort saveing mkv while parsing orig file 2019-12-30 23:53:53 +01:00
Martchus 40a96c1fd4 Use 64 KiB buffer to copy file elements 2019-12-30 23:51:54 +01:00
Martchus b2c02e9acc Fix childs -> children 2019-12-30 22:54:11 +01:00
Martchus 49798ae3a8 Improve wording in Mp4Container 2019-12-15 19:44:44 +01:00
Martchus eabc9c4438 Use 'override' in all TestFixture classes 2019-12-15 19:44:07 +01:00
Martchus 7043c3d2a9 Don't suppress IO errors when writing files
* Close or flush streams explicitely so writing is not
  deferred
    * to catch errors in the right place
    * to avoid suppressing errors completely when writing
      would be deferred to the destructor invocation
* Improve comments
2019-12-15 19:43:16 +01:00
Martchus a59a01cfe9 Prevent warning when adding album artist to MP4
Prevents "making MP4 tag field aART: It was not possible to
find an appropriate raw data type id. UTF-8 will be assumed."
2019-10-09 18:03:34 +02:00
Martchus 9299c58c22 Detect VP9 in MP4 2019-09-25 22:05:25 +02:00
Martchus eb9ab514eb Detect Opus and FLAC in MP4 2019-09-25 21:52:44 +02:00
Martchus fe67abcfeb Fix old namespaces being mentioned in the documentation 2019-09-04 18:47:54 +02:00
Martchus 6e9b39726d Add conversion from ISO-639-2/B codes to language names 2019-08-17 20:56:09 +02:00
Martchus 2725bad686 Add options for TagValue comparison
* Support case-insensitive comparision
* Allow ignoring meta-data
2019-08-12 20:24:27 +02:00
Martchus 85eb71cd20 Use helper for flag enum from c++utilities 2019-08-12 20:22:57 +02:00
Martchus b09e7535bc Support lyrics in Vorbis/FLAC 2019-08-12 00:29:08 +02:00
Martchus 53fd299a10 Set project() on top-level
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:08:53 +02:00
Martchus 86b980f609 Apply clang-format 2019-06-20 22:56:59 +02:00
Martchus 4ad9ceb68c Fix warning in AacSbrInfo 2019-06-20 22:56:49 +02:00
Martchus c8973c742c Remove unused functions of MatroskaSeekInfo 2019-06-17 19:11:20 +02:00
Martchus 480857b1b6 Parse "SeekHead" elements referenced by "Seek" elements
Follow at least one level of indirection by default
2019-06-17 19:11:00 +02:00
Martchus 0c2056c2f9 Refactor WaveFormatHeader::parse() 2019-06-16 18:06:31 +02:00
Martchus 48ee8023b2 Remove useless remarks 2019-06-16 18:04:31 +02:00
Martchus ed816a322d Rename Id2v2 frame ID "grouping" to "albumArtist" 2019-06-16 17:45:49 +02:00
Martchus 0af4044a50 Remove deprecated functions of Id3v2Frame 2019-06-16 17:43:58 +02:00
Martchus df9d869911 Fix const-corretness in Id3Genres::genreNames() 2019-06-16 17:42:14 +02:00
Martchus 8e71612cac Fix types in out-commented code 2019-06-16 17:41:48 +02:00
Martchus 9a5c78b725 Don't consider UTF-8 an encoding which can be used in ID3v1
UTF-8 within ID3v1 is still supported relying on the presence of
the BOM. However, the library should not advise that to tag editing
clients.
2019-06-14 18:07:59 +02:00
Martchus c9e1dde70b Adapt to changes in c++utilities 2019-06-12 20:40:45 +02:00
Martchus 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +02:00
Martchus 736b4caeeb Document handling different types and encodings 2019-06-01 23:20:01 +02:00
Martchus 5114a3ea08 Treat differently encoded values not necessarily as different
That an automatic conversion happens for different types but not
for different encodings was always a bit odd.

This makes writing tests easier and comparing values within the
tag editor does not rely on choosing a particular encoding.
2019-06-01 23:01:53 +02:00
Martchus a8e20c5ef4 Allow converting the description encoding 2019-06-01 22:57:01 +02:00
Martchus 7885b99f72 Add TagValue::isNull() 2019-06-01 22:55:16 +02:00
Martchus c28ded1bca Allow instantiating TagValue from TimeSpan and DateTime 2019-06-01 22:54:44 +02:00
Martchus f042d216fd Do not completely refuse on UTF-8 in ID3v1
since it is apparently used by some software.

But
* Write at least a BOM so it can be interpreted later
  correctly as UTF-8
* Print a warning
* Keep proposing Latin-1

The tag editor should allow to configure which encoding
is used and whether the BOM is used and which encoding is
assumed when parsing a file.
2019-06-01 22:53:59 +02:00
Martchus a4665456d6 Fix warnings in Id3v2Frame 2019-06-01 22:26:16 +02:00
Martchus 69c72909e8 Fix some Doxygen warnings 2019-06-01 15:07:48 +02:00
Martchus 8c88298fe8 Fix TagValue::operator== if 0 byte contained 2019-06-01 12:33:24 +02:00
Martchus e8bc94906a Apply cmake-format 0.5.1 2019-06-01 12:32:17 +02:00
Martchus 73adf26401 Fix conversion from PositionInSet to integer
Even though there was already a test verifying that it is
not possible.
2019-06-01 12:18:05 +02:00
Martchus b9bc756521 Adapt to workingCopyPathMode() removal 2019-05-11 19:01:16 +02:00
Martchus c17db5f2f6 Apply cmake-format and clang-format 2019-05-04 21:03:09 +02:00
Martchus 3288d49d62 Support 'file://' URLs also when saving 2019-05-04 16:04:37 +02:00
Martchus 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00