Commit Graph

438 Commits

Author SHA1 Message Date
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 262b823030 Disable (so far) unused unsignedCb 2018-06-05 22:40:02 +02:00
Martchus bfe8979812 Fix 2 refs in documentation 2018-06-03 21:00:49 +02:00
Martchus 6944f858c4 Fix some warnings in AAC parser 2018-06-03 20:59:38 +02:00
Martchus 74671b5a6d Exclude unfinished AAC stuff from documentation 2018-06-03 20:41:23 +02:00
Martchus 3265e0bea4 Fix documentation which was still using the old namespace 2018-06-03 20:38:32 +02:00
Martchus b7d47cd374 Extend tests for utilities 2018-06-03 20:32:52 +02:00
Martchus 27d3acad9a Document progress feedback 2018-06-03 20:32:35 +02:00
Martchus a7066c27e1 Document diagnostics 2018-06-03 20:32:15 +02:00
Martchus ddff764aa3 Make c'tors of ProgressFeedback public 2018-06-03 19:40:27 +02:00
Martchus 3c29430790 Extend TagValueTests to cover recent fixes 2018-06-03 19:20:02 +02:00
Martchus 60c757dcf6 Add c'tor overload to TagValue to prevent conversion to string 2018-06-03 19:04:48 +02:00
Martchus 8756c8b267 Use std::size_t in TagValue consistently 2018-06-03 18:58:23 +02:00
Martchus a065412d98 Add support for disk position in ID3v2.0 2018-06-02 23:08:38 +02:00
Martchus e87f788dce Prevent multiple heap allocations in MatroskaEditionEntry::label() 2018-06-02 23:05:04 +02:00
Martchus b665d2557a Fix missing break in MatroskaChapter::internalParse() 2018-06-02 23:05:04 +02:00
Martchus 0a640c9f7f Fix warnings, mostly about implicit int conversions
This should fix all non-erros, leaving only warnings which
are indeed potential problems.

The following warnings should be safe to ignore:

* Conversions of various offsets from uint64 to
  std::streamoff/int64 are safe because such offsets have
  been obtained via tellg() and other functions
  returning std::streamoff in the first place.
* It also works vice-versa since tellg() should not
  return negative offsets with exceptions enabled.
* Conversions from char to unsigned char are also ok.
* Unused diag arguments can be ignored (those might be
  useful later).
* Annotate all intended fallthoughs.
2018-06-02 23:04:53 +02:00
Martchus 404e4f751f Improve comments and accessing the value in Id3v2FrameMaker 2018-06-02 19:34:07 +02:00
Martchus 710b7b420a Prevent writing float/e-notation to Id3v2 duration field 2018-06-02 19:31:39 +02:00
Martchus 878b3a3c4e Make diag msg on conversion error in Id3v2FrameMaker more specific 2018-06-02 19:29:43 +02:00
Martchus ba23b49d39 Ensure iostream is included in id3v2tag.cpp 2018-06-02 19:27:29 +02:00
Martchus f1656faa96 Fix TagValue::to{TimeSpan,DateTime}() for UTF-16 2018-06-02 19:23:07 +02:00
Martchus 09c1c6a232 Improve coding style in TagValue 2018-06-02 19:22:26 +02:00
Martchus fd1864c3df Make error messages in TagValue more specific 2018-06-02 19:21:15 +02:00
Martchus bf7428d066 Fix warnings, improve coding style 2018-05-31 00:25:32 +02:00
Martchus a3bf8267ac Fix treating short and long ID3v2 frame IDs as equal 2018-05-31 00:25:06 +02:00
Martchus 047e9f7fd0 ID3v2: Warn if specified string is no valid position 2018-05-31 00:23:01 +02:00
Martchus 38da0c796b ID1v1: Allow conversion from int/string to position 2018-05-31 00:21:54 +02:00
Martchus 221409fdcf Make Vorbis Comments consistently case insensitive 2018-05-13 20:41:26 +02:00
Martchus 8887ae81cf Don't use exception in MatroskaTag::internallyGetKnownField() 2018-05-13 20:40:30 +02:00
Martchus 2431889b64 Apply clang-format 2018-05-13 00:25:14 +02:00
Martchus c377524850 Fix FieldMapBasedTag<ImplementationType>::knownField() 2018-05-13 00:25:02 +02:00
Martchus 7d65a91900 Update patch version 2018-05-08 18:47:03 +02:00
Martchus 62999e0be6 Fix usage of enable_if with GCC 8
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.

Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:52:38 +02:00
Martchus b58eac9302 Use CPPUNIT_ASSERT_EQUAL in tests where possible 2018-04-30 19:00:22 +02:00
Martchus e29f9bd4f8 Fix warnings in MediaFileInfo, make safe casts explicit 2018-04-30 19:00:02 +02:00
Martchus 1889afef8f Take over track parsing status when parsing FLAC tags 2018-04-30 18:59:17 +02:00
Martchus 9cbc708a56 Apply clang-format 2018-04-29 21:15:34 +02:00
Martchus ce4bd73037 Fix setting "isLast" flag when making FLAC header 2018-04-29 21:14:28 +02:00
Martchus 01a0c730ba Make operators for VorbisCommentFlags constexpr 2018-04-29 21:14:02 +02:00
Martchus 388945d2b4 Add diag message when padding not supported 2018-04-29 21:13:30 +02:00
Martchus 9b83cc37f6 Handle case when Vorbis Comment exceeds max. size in FLAC stream 2018-04-29 19:45:20 +02:00
Martchus 30553c947c Fix warnings and improve style in makeMp3File() 2018-04-29 18:58:41 +02:00
Martchus ae65ad0408 Fix removing tags from FLAC files 2018-04-29 18:17:24 +02:00
Martchus 96010768f0 Improve documentation in MediaFileInfo 2018-04-29 18:11:15 +02:00
Martchus b76c334606 Apply clang-format 2018-04-29 17:19:33 +02:00
Martchus 0f0260fb77 Fix parseTags() for FLAC, consider tags unsupported if container unknown
FLAC stores tags on track level. Hence we must parse the
tracks here in order to parse the tags. This hasn't been taken
into account when refactoring the tag editor CLI leading to
https://github.com/Martchus/tageditor/issues/36.

So let's handle these format specific details in the tagparser
library which will now internally parse tracks when calling
parseTags() on FLAC files.

This also fixes the weird behavior to consider tags supported
although the container format is unknown.
2018-04-29 17:18:17 +02:00
Martchus d856fb4c75 Use std::numeric_limits 2018-03-21 20:40:51 +01:00
Martchus 20b4cc833f Reorder enums 2018-03-21 20:31:29 +01:00