Commit Graph

605 Commits

Author SHA1 Message Date
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
Martchus f5bd1dc4e8 Use unsigned int as underlying type for enums 2018-03-21 20:30:51 +01:00
Martchus cbb54d5aeb Allow custom writing application 2018-03-20 21:41:05 +01:00
Martchus 3e85eba00f Apply clang-format 2018-03-14 17:56:37 +01:00
Martchus 281d3e7952 Workaround GGC bug 66297 2018-03-13 22:06:32 +01:00
Martchus ca0b8e4d8c Improve coding style 2018-03-11 22:28:15 +01:00
Martchus 706c410edb Clear description encoding of TagValue 2018-03-11 22:27:55 +01:00
Martchus 59024a66a0 Don't clear field before parsing by default 2018-03-11 22:27:12 +01:00
Martchus 8d91886b14 Improve test output for TagValues 2018-03-11 22:24:57 +01:00
Martchus ed9939dc74 Support 'file://' protocol prefix 2018-03-11 19:15:13 +01:00
Martchus b47705ff81 Refactor MediaFileInfo::createAppropriateTags() 2018-03-11 18:57:22 +01:00
Martchus dabd18102e Remove out-commented code for nested tags 2018-03-11 16:15:46 +01:00
Martchus b35fc2ff0d Improve some structure layouts 2018-03-11 16:14:42 +01:00
Martchus 0215b89057 Improve Id3v2Frame 2018-03-11 16:03:22 +01:00
Martchus a26b98dcd7 Improve TagValue
* Make more functions inline
* Fix use of std::size_t
2018-03-11 15:16:09 +01:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +01:00
Martchus 27600642f1 Sort file names 2018-03-07 01:14:28 +01:00
Martchus a0986ad4a9 Fix style issues 2018-03-07 01:11:42 +01:00
Martchus efa67d6a1a Improve siblingById() and subelementByPath()
* Use 2 functions instead of flag parameter
* Support const correctness
2018-03-07 00:30:08 +01:00
Martchus 091fa1daf7 Use "..." to implement subelementByPath 2018-03-07 00:16:20 +01:00
Martchus 88edd43f8c Document usage, especially error handling 2018-03-06 23:50:40 +01:00
Martchus a5813f742e Re-add the WIP AAC parser
So it is considered when refactoring.
2018-03-06 23:17:35 +01:00
Martchus 0e15c74103 Move everything into namespace TagParser 2018-03-06 23:09:15 +01:00
Martchus c875af0ce9 Use CPPUNIT_ASSERT_EQUAL 2018-03-06 22:44:01 +01:00
Martchus 36511fcc13 Add progress feedback and diagnostics replacing status provider 2018-03-06 22:44:01 +01:00
Martchus 652e4809b4 Use unordered_map in MatroskaCuePositionUpdater
std::unordered_map should be faster than std::map
2018-03-06 22:44:01 +01:00
Martchus e705de3704 Handle Mkv files with unknown element sizes correctly
Those elements are still assumed to fill the max available
space. However, if it turns out one "child" is more likely
a sibling, the wrong assumption is fixed.
2018-03-06 22:44:01 +01:00
Martchus 5ed20c7e8e Add function to determine Mkv element level by ID
Does not cover all element IDs but should be more
than sufficient for its purpose.
2018-03-06 22:44:01 +01:00
Martchus 8e66378b81 Add method to get last child of file element 2018-03-06 22:44:01 +01:00
Martchus 611ae0916a Add methods to get n-th parent of file element 2018-03-06 22:44:01 +01:00
Martchus 90dccb2bd9 Add method to determine level of file element 2018-03-06 22:44:01 +01:00
Martchus 99227816b6 Allow specifying whether the size of an element is unknown 2018-03-06 22:44:01 +01:00
Martchus 038d30587c Uniform spelling of Matroska IDs 2018-03-06 22:44:01 +01:00
Martchus 7a02e8a325 Uniform/simplify typedefs in templates
* Begin type names with capital letter
* Remove typedefs for implementation type
* Remove useless/obsolete comments
* Simplify relevant code
2018-03-06 22:44:01 +01:00