Commit Graph

832 Commits

Author SHA1 Message Date
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
Martchus f687618002 Reduce compiler warnings in Mp4Track code 2019-04-21 18:18:56 +02:00
Martchus bfb460d4fd Preserve empty/zero language in MP4 tracks 2019-04-21 18:15:53 +02:00
Martchus 66895e8e2c Distinguish text and "meta" tracks in MP4 2019-04-19 21:59:46 +02:00
Martchus 48166bde9e Prevent updating tkhd atom to version 1 for compatibility 2019-04-19 21:59:42 +02:00
Martchus 8588edaa2e Write preferably version 0 of mdhd atom for compatibility 2019-04-18 17:56:03 +02:00
Martchus 27d7a182d9 Preserve all child elements within trak element 2019-04-17 17:52:04 +02:00
Martchus ccffe4f1e3 Show children of tref atom 2019-04-16 21:50:00 +02:00
Martchus c09f93c441 Preserve order of atoms within moov tree
Maybe it helps with https://github.com/Martchus/tageditor/issues/45
2019-04-16 21:49:16 +02:00
Martchus da15530f53 Remove obsolete code 2019-04-16 21:49:16 +02:00
Martchus f494420da7 Show children of gmhd atom 2019-04-15 18:21:42 +02:00
Martchus 2d306b1a5f Preserve all children of minf atom
See https://github.com/Martchus/tageditor/issues/45
2019-04-15 18:21:33 +02:00
Martchus 2772a0c1ad Add MP4 testfile with chapters
See https://github.com/Martchus/tageditor/issues/45
2019-03-28 17:54:18 +01:00
Martchus d812e0d3ae Detect VobSub within MP4 2019-03-10 16:40:51 +01:00
Martchus 0452b42bfc Add MediaFileInfo::overallAverageBitrate() 2019-03-10 16:31:47 +01:00
Martchus bd7d5b00d7 Use noexcept directly 2019-02-17 17:14:07 +01:00
Martchus 296e5d11b6 Fix TagValue::toStandardGenreIndex() for empty genre index 2019-02-14 18:18:54 +01:00
Martchus dbce74444a Deprecate unused methods in Id3v2Frame 2019-02-13 21:44:19 +01:00
Martchus e93a7c53b3 Fix warnings in ID3v2Frame 2019-02-13 21:43:56 +01:00
Martchus 3d3bc94e39 Prevent warning "Cannot make an empty frame" 2019-02-13 20:19:46 +01:00
Martchus 3a35ce4b16 Don't treat synchronized lyrics as regular text field 2019-02-13 19:06:35 +01:00
Martchus 5140b76f08 Treat 255 as empty ID3v1 genre index 2019-02-13 18:56:03 +01:00
Martchus 97c1a2100d Apply cmake-format 2019-02-06 18:04:33 +01:00
Martchus da64d455d9 Let CMake generate code for test application 2019-01-13 22:28:26 +01:00
Martchus 602f4f7c8f Improve refs in "Adding new fields" doc 2019-01-10 13:37:13 +01:00
Martchus 1e376f54c3 Document adding new fields
It is an easy task but it is also easy to forget something.
2019-01-05 16:55:28 +01:00
Martchus 8be8355539 Update lastKnownField to fully support album artist 2019-01-05 16:54:06 +01:00
Martchus 59d2156165 Add tagType and tagName to OggVorbisComment 2019-01-02 17:08:29 +01:00
Martchus 3c06590085 Detect float PCM in WAVE container 2019-01-01 23:47:27 +01:00
Martchus 6afcd0f8d3 Support album artist and fix/improve grouping 2019-01-01 23:47:18 +01:00
Martchus f1382bd286 Make message about empty frames only a warning
Empty frames don't cause any trouble in general. They only
*might* indicate that something went wrong.
2018-11-15 22:09:10 +01:00
Martchus a775ee61a2 Remove debug messages that the padding has been reached
This is true for most MP3 files and therefore not really helpful.
2018-11-15 22:07:07 +01:00
Martchus e9526225ea Add testfile for AV1 in MP4
Requires at least ffmpeg 4.1
2018-11-08 14:32:25 +01:00
Martchus 0024d5e115 Make message about parsing AV1 config not supported an info
rather than a critical error
2018-11-08 14:31:35 +01:00
Martchus 438efdedbf Use rmdir() rather than remove() to delete dir 2018-11-02 23:07:50 +01:00
Martchus b7a5683211 Fix compiling tests for 32-bit 2018-11-01 23:25:33 +01:00