Martchus
8ad28f857b
Allow extending important classes without ABI break
...
This allows to make ABI breaks less often while still
being able to extend many aspects of the library.
2023-05-16 22:20:48 +02:00
Martchus
6ed968f5e6
Update major version to 12
2023-05-16 22:00:35 +02:00
Martchus
a167e0702e
Ignore iso_639-2.json
2023-05-11 22:59:09 +02:00
Martchus
405631625f
Fix typo
2023-05-08 11:15:53 +02:00
Martchus
6fb16d72eb
Avoid unqualified call to `std::strncpy()`
2023-05-07 21:45:47 +02:00
Martchus
111d6190cb
Avoid some of the warnings from MSVC
2023-05-07 21:45:15 +02:00
Martchus
0a2b948f26
Detect APE tags, emit according messages and update README
...
It is likely not worth adding support for APE tags at this point.
However, it still makes sense to acknowledge the presence of them
despite not being actually supported to avoid possible confusion.
With this change, APE tags at the beginning of the file will be
dropped when applying changes as the container offset is updated
when skipping the tag. I suppose that makes sense considering
putting those tags at the beginning is not recommended anyways.
The diag messages and README have been updated accordingly.
2023-05-06 13:04:01 +02:00
Martchus
9e4d221bb1
Bump minor version
2023-05-06 12:51:16 +02:00
Martchus
ea6b474e8c
Add container format name for ID3v2
2023-05-06 11:12:08 +02:00
Martchus
10a6b10658
Fix typos
2023-05-06 11:07:31 +02:00
Martchus
25166e4cb4
Bump patch version
2023-05-06 11:00:52 +02:00
Martchus
7d9d5c8408
Detect zstd compressed files
2023-03-05 22:37:14 +01:00
Martchus
21edf75047
Ease setting up build by downloading iso_639-2.json automatically
2023-03-04 19:00:24 +01:00
Martchus
d80736743b
Use `pubsetbuf` only with `libstdc++`
...
This usage of the function seems only to work as intended with that
standard lib. With `libc++` and the MSVC standard lib the call has no
effect.
2023-02-28 21:06:52 +01:00
Martchus
981db492e4
Avoid unqualified calls to `std::move`
2023-02-20 19:54:42 +01:00
Martchus
15d74bbfb0
Add media format entry for H.266
2023-02-18 21:43:16 +01:00
Martchus
3272d9c511
Bump minor version
2023-02-18 21:42:38 +01:00
Martchus
522aa4359e
Avoid use of platform-specific `unistd.h` header
2023-02-11 13:55:04 +01:00
Martchus
cb93d6900c
Apply clang-format
2023-02-03 13:31:40 +01:00
Martchus
a9c4bca679
Fix broken doc comment
2023-02-03 12:45:44 +01:00
Martchus
ca6abe31a0
Fix compilation with MSVC
...
Apparently the move c'tor isn't available unless explicitly specified
leading to errors when `SegmentData` is used in `std::vector`.
2023-02-02 00:28:01 +01:00
Martchus
205b119416
Use `std` more consistently in `matroskacontainer.cpp`
2023-02-02 00:24:49 +01:00
Martchus
338011e3eb
Add missing headers to `matroskaseekinfo.h`
2023-02-02 00:21:37 +01:00
Martchus
7873db611a
Add copy c'tor for `AbortableProgressFeedback` to fix compilation with MSVC
2023-02-01 14:36:11 +01:00
Martchus
dc4e4082e0
Use `std::filesystem::resize_file` instead of POSIX function
...
* Avoid platform-specific code
* Fix build with MSVC
2023-02-01 14:05:32 +01:00
Martchus
937631e5c4
Update copyright notice
2023-01-17 18:33:49 +01:00
Martchus
6a07d60649
Avoid message "Parsing tags not implemented …" for MPEG audio frames
...
This info message that is generated for e.g. MP3 files without ID3 tags is
misleading.
2023-01-08 21:11:57 +01:00
Martchus
edc7aa06c9
Bump patch version
2023-01-08 21:10:04 +01:00
Martchus
04e6996ce3
Use the output file path when making an MP4 file also if no rewrite required
...
Otherwise the `--output-files` option of the tag editor will be ignored
when editing an MP4 file and no rewrite is required.
Note that the condition is already this way in `MediaFileInfo::makeMp3File()`
and `MatroskaContainer::internalMakeFile()`.
2023-01-02 20:04:42 +01:00
Martchus
766e7657b5
Preserve explicitly "undefined" language of MP4 tracks
2023-01-02 19:50:30 +01:00
Martchus
8d4c315611
Improve error messages about missing mandatory MP4 atoms
2023-01-02 19:18:07 +01:00
Martchus
3193df8e3f
Fix reading duration from MP4's track header atom
...
* Skip 4 bytes reserved space correctly
* See https://github.com/Martchus/tageditor/issues/98
2023-01-02 19:16:45 +01:00
Martchus
0347ca73eb
Avoid using deprecated OpenSSL functions in testsuite
2023-01-02 01:56:58 +01:00
Martchus
dbdfd015bb
Bump patch version
2023-01-02 01:55:53 +01:00
Martchus
93da1f1e25
Create ID3v2 tag for AIFF files within `createAppropriateTags()`
...
Wikipedia says an ID3v2 tag can be added and other software seems to be
able to cope with it.
2022-08-17 23:11:20 +02:00
Martchus
bfe6ce8c1e
Support detecting AIFF format
2022-08-17 23:06:09 +02:00
Martchus
49c6b61e0c
Streamline coding style of date time related tests
2022-08-13 16:05:39 +02:00
Martchus
6333aaa84b
Adapt DateTime test to latest changes
2022-08-13 16:04:56 +02:00
Martchus
4ac97910e9
Revert "Adapt tests to recent changes" partially
...
* In accordance with revert of 44fea6c8c2
.
* This partially reverts commit 965ee4ab4b
.
2022-08-13 15:43:28 +02:00
Martchus
0cc9271a7f
Revert "Omit default components when formatting date time"
...
* This hack is no longer required as it is now possible to preserve
what date time parts are specified.
* This reverts commit 44fea6c8c2
.
2022-08-13 15:43:28 +02:00
Martchus
b50de3cf4f
Preserve present parts when converting old record date fields
2022-08-13 15:43:28 +02:00
Martchus
f0d8a6efa7
Set only present parts when setting recording time of ID3 <= v2.3
...
See https://github.com/Martchus/tageditor/issues/86
2022-08-13 14:47:49 +02:00
Martchus
74f6d2b6ac
Fix reference to ID3v2 field in error message
2022-08-13 14:43:43 +02:00
Martchus
4aff37b788
Support `CppUtilities::DateTimeExpression` in `TagValue`
2022-08-13 14:42:51 +02:00
Martchus
d6a2903749
Fix namespace in documentation of TagDataType
2022-08-13 12:30:59 +02:00
Martchus
99bb786eeb
Improve comments about `lRecordingTime`-mapping
2022-08-12 19:41:15 +02:00
Martchus
6da62db035
Add mapping for BPM in Vorbis Comments
2022-08-12 00:37:25 +02:00
Martchus
63c76e6ca4
Bump minor version
2022-08-12 00:36:59 +02:00
Martchus
f068c44172
Prevent adding fields with an invalid ID
...
When there's no mapping for the specified known field, `fieldId()` returns
an invalid field ID. It should not be passed to `setValues()` as we would
otherwise attempt to create an invalid field.
2022-08-12 00:32:17 +02:00
Martchus
df27013c2f
Avoid misleading log message
...
"Writing frames" should just be "Writing data" because whatever the file
contains might not be (some kind of) frames.
2022-08-12 00:07:02 +02:00