Commit Graph

22 Commits

Author SHA1 Message Date
Martchus 87aea59735 Change mapping of publisher for ID3v2
TPUB is likely better be mapped to the recently added publisher field. Note
that MP4 and Matroska have a distinct record label field.
2022-04-10 00:06:20 +02:00
Martchus 8cd115c69d Adapt tests to use KnownField::RecordDate instead of KnownField::Year 2021-02-01 17:22:57 +01:00
Martchus 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +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 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 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00
Martchus 13bccb12f0 Enable all tests under Windows
Since workingCopyPath() has now been implemented under
Windows it is possible to enable the entire testsuite.
2018-10-07 21:58:15 +02:00
Martchus e75a8d25c5 Adjust values()/setValues() to handle multiple values per text frame
See https://github.com/Martchus/tagparser/issues/10
2018-07-12 12:34:38 +02:00
Martchus 1a97d91b27 Preserve multiple strings in ID3v2 text frames 2018-07-12 12:34:38 +02:00
Martchus 5b8ce47270 Use CPPUNIT_ASSERT_EQUAL in OverallTests::checkMp3TestMetaData() 2018-07-01 22:20:44 +02:00
Martchus d64084ec78 Refactor formatting list of values 2018-07-01 22:11:34 +02:00
Martchus 943123afa1 Warn about ID3v2 text frame with multiple strings
First step to support multiple strings within ID3v2 text
frame.

See
* https://github.com/Martchus/tagparser/issues/10
* https://github.com/Martchus/tageditor/issues/38
2018-07-01 02:04:29 +02:00
Martchus b58eac9302 Use CPPUNIT_ASSERT_EQUAL in tests where possible 2018-04-30 19:00:22 +02:00
Martchus d856fb4c75 Use std::numeric_limits 2018-03-21 20:40:51 +01:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +01:00
Martchus 36511fcc13 Add progress feedback and diagnostics replacing status provider 2018-03-06 22:44:01 +01:00
Martchus 6eb8eaab11 tests: Check whether no cricical notifications or warnings occurred 2017-09-14 18:16:00 +02:00
Martchus b03273da44 Allow setting track meta-data
Currently applying is only implemented for
MP4 tracks (only ID, name and language).
2017-06-06 23:26:20 +02:00
Martchus cbc32890fa Test conversion to ID3v2.4 2017-05-21 00:09:09 +02:00
Martchus 44de1e6b7a tests: Move format specific flags from header 2017-05-20 23:37:33 +02:00
Martchus e925e15533 Improve handling of Unicode and BOM in ID3v2
* Convert UTF-8 text fields automatically to UTF-16
  when version is ID3v2.3 or below
  -> so conversion from ID3v2.4 to ID3v2.3 or below
     doesn't require manual conversion of possibly
     UTF-8 encoded fields
* Don't use magic numbers for ID3v2 encoding byte
* Don't warn about UTF-16 Big Endian with BOM
2017-05-20 23:34:45 +02:00
Martchus 2ed7ea800d Improve overall tests
* Move code for each format in an own file
* Use enum for test mode flags instead of magic
  numbers
2017-05-20 21:19:55 +02:00