Commit Graph

832 Commits

Author SHA1 Message Date
Martchus af325db8ab Improve "Usage" documentation
* Move example code to a different file and build it as part of the tests
  to make sure it actually compiles
* Add notes about the CMake find module and pkg-config module
2021-12-20 23:26:38 +01:00
Martchus def74db180 Prefer pixel size over display size when computing 'XXXXp' specification 2021-12-07 21:30:26 +01:00
Martchus ea8e70c807 Update/improve build instructions 2021-12-05 18:32:47 +01:00
Martchus 18d054a600 Fix warnings about unused variables 2021-12-05 17:49:54 +01:00
Martchus cb52a1521e Fix compilation with libc++ 2021-12-05 17:49:36 +01:00
Martchus 4900d7dc7e Bump patch version 2021-12-05 17:42:50 +01:00
Martchus 5e3fa563e1 Fix warning about shadowing variable 2021-10-26 15:54:57 +02:00
Martchus fd5e9bf950 Fix crashes due to wrong parameter passing
The refactoring to use `std::string_view`
(see 64d98f5530) caused this regression
(see https://github.com/Martchus/tageditor/issues/75). We must specify the
size because the buffers used here are not null-terminated.
2021-10-26 15:54:30 +02:00
Martchus 0ebad97a6d Increase minor version 2021-09-11 23:58:30 +02:00
Martchus e277070e9c Use `std::filesystem` in backup helper code
* Fix applying changes to symlinks so that the target is modified in any
  case (and not just if a rewrite isn't necessary)
* Avoid using `std::rename` and `std::remove` because they might not work
  under Windows when the path contains non-ASCII characters
* Simplify code, remove `isRelative()`
2021-09-11 23:54:49 +02:00
Martchus 8a48914bcc Use `std::filesystem` in `createBackupFile`
* Drop platform-specific code
* Avoid using ANSI WinAPI function
2021-09-11 21:52:49 +02:00
Martchus 751ace8810 Bump minor release 2021-08-25 19:07:14 +02:00
Martchus 0a9c979756 Add documentation for `TagField<ImplementationType>::idToString()` 2021-08-25 19:05:38 +02:00
Martchus 5a1cb3d86f Add v11 FIXME to move MatroskaContainer::m_maxFullParseSize to MediaFileInfo 2021-08-25 19:04:51 +02:00
Martchus 14b4185023 Normalize known Matroska tag fields so they can be recognized despite different casing
* Do this by default with an opt-out; changing only known fields should not
  be very intrusive
* Fix recognizing known fields when only the case differs, see
  https://github.com/Martchus/tageditor/issues/72
2021-08-25 18:53:20 +02:00
Martchus dd787e2f2a Extend Ogg related tests
* Test writing trailing zero lacing value if required
* Test adding cover
2021-08-18 22:48:17 +02:00
Martchus ee9aeb00b4 Write zero lacing value in Ogg header if Vorbis comment size divisible by 255
See https://github.com/Martchus/tageditor/issues/70
2021-08-16 19:22:15 +02:00
Martchus 0b47186e57 Deprecate certain unused Ogg functions which are likely not generally useful 2021-08-16 18:44:48 +02:00
Martchus 932687f93d Improve warnings when parsing Vorbis comments 2021-08-16 18:37:44 +02:00
Martchus 18d4a5e8de Allow aborting Ogg parsing 2021-08-15 23:33:01 +02:00
Martchus 10f781951c Allow aborting Ogg writing 2021-08-15 23:31:20 +02:00
Martchus 7341f53c12 Fix warnings about implicit cast 2021-08-15 21:25:41 +02:00
Martchus e39a5470af Add better context to error messages when restoring the original file fails 2021-08-14 13:52:21 +02:00
Martchus 89e0cd0bff Use `pathForOpen()` in backup helper where it was missing 2021-08-14 13:51:43 +02:00
Martchus c1ecc03617 Use if-else instead of try-catch when finding track for Ogg page 2021-08-14 13:50:44 +02:00
Martchus 617e36f27c Add more details in warning about missing Ogg pages 2021-08-14 13:49:55 +02:00
Martchus 0b0127aab7 Prevent warning about missing Ogg pages when skipping pages for all streams 2021-08-14 13:49:37 +02:00
Martchus dd2b75d845 Try to re-sync Ogg parser when invalid bytes are detected 2021-08-14 13:42:08 +02:00
Martchus c9f6ae77e2 Emit progress information while applying changes to Ogg file 2021-08-13 21:00:14 +02:00
Martchus 6cd16dcdfc Ensure `currentParams` is set before dereferencing when applying OGG changes 2021-08-13 20:41:30 +02:00
Martchus 339995edf5 Prevent dropping Ogg pages which have been omitten during parsing when applying changes
See https://github.com/Martchus/tageditor/issues/69
2021-08-13 20:41:30 +02:00
Martchus 9dfeb76209 Prevent warning about assigned value never being read 2021-08-13 20:08:40 +02:00
Martchus b11869f837 Fix saving Ogg files when path is using URL scheme `file://` 2021-08-13 18:11:21 +02:00
Martchus 2fda0a505d Prevent showing warning about encoding wrongly when making ID3v1 fields
Due to the fallthrough the warning would be printed in any case when using
UTF-8 and not only if the BOM is actually written (as there are non-ASCII
characters). This problem became apparent when using the tageditor's CLI
with `--id3-init-on-create` to create an ID3v1 tag from ID3v2. Of course it
doesn't help if there are actually non-ASCII characters present.
2021-08-08 01:20:39 +02:00
Martchus f39e8b4d8c Avoid useless cases when assigning tag size (which is now std::uint64_t) 2021-08-08 00:05:11 +02:00
Martchus 62e32f085e Extend documentation of Tag::size() 2021-08-08 00:04:28 +02:00
Martchus 3f5d5e3098 Add functions to return only tags which have actually been parsed 2021-08-08 00:04:12 +02:00
Martchus e095c7d87d Fix check for comment of Matroska test file 2021-07-06 17:19:58 +02:00
Martchus cef4dc0bb7 Apply clang-format 2021-07-06 16:38:52 +02:00
Martchus 0e97b96ea8 Bump patch version (10.0.0 -> 10.0.1) 2021-07-03 11:42:13 +02:00
Martchus 0c3d593924
Merge pull request #18 from jonaski/spelling
Fix spelling and typos
2021-07-02 11:16:37 +02:00
Jonas Kvinge ea23d71e8a Fix spelling and typos 2021-07-02 11:12:39 +02:00
Martchus 72631f5110 Remove Windows-specific notes covered by c++utilities 2021-05-31 20:40:03 +02:00
Martchus 9da53e6d82 Allow one to disable the automatic handling of ID3v2 record fields 2021-05-13 16:07:06 +02:00
Martchus ad6c3baf85 Remove macros to configure default parsing behavior
The macro FORCE_FULL_PARSE_DEFAULT doesn't seem to be set anywhere anyways
at this point.
2021-05-13 15:33:27 +02:00
Martchus 32cd02217b Replace boolean fields in MediaFileInfo with flag enums 2021-05-13 15:30:22 +02:00
Martchus 0e29c98b9f Use flagenumclass.h to implement operators for VorbisCommentFlags 2021-05-13 15:28:56 +02:00
Martchus 2448bcd456 Fix TagValue::convertDescriptionEncoding() 2021-05-09 18:37:31 +02:00
Martchus 87357af974 Fix handling empty ID3v2 record date fields to avoid year "0001" in this case 2021-05-09 12:15:57 +02:00
Martchus a6ca3183b3 Fix reading empty ID3v1 fields 2021-05-09 12:15:00 +02:00