Martchus
92345027fb
Use generic `toInt()` function which relies less on compiler optimizations
2023-05-18 00:52:28 +02:00
Martchus
6ed968f5e6
Update major version to 12
2023-05-16 22:00:35 +02:00
Martchus
9e4d221bb1
Bump minor version
2023-05-06 12:51:16 +02:00
Martchus
25166e4cb4
Bump patch version
2023-05-06 11:00:52 +02:00
Martchus
3272d9c511
Bump minor version
2023-02-18 21:42:38 +01:00
Martchus
edc7aa06c9
Bump patch version
2023-01-08 21:10:04 +01:00
Martchus
dbdfd015bb
Bump patch version
2023-01-02 01:55:53 +01:00
Martchus
4aff37b788
Support `CppUtilities::DateTimeExpression` in `TagValue`
2022-08-13 14:42:51 +02:00
Martchus
63c76e6ca4
Bump minor version
2022-08-12 00:36:59 +02:00
Martchus
b4d9a3aeb8
Bump patch version
2022-08-02 21:40:24 +02:00
Martchus
ed0fcad420
Bump minor version
2022-07-20 16:57:01 +02:00
Martchus
d17f04864d
Move TagType into separate header
...
So it can be used in different places without creating a dependency loop.
2022-06-20 21:21:11 +02:00
Martchus
46014def51
Add data type for ID3v2's Popularimeter field
...
See https://github.com/Martchus/tageditor/issues/84
2022-06-18 14:33:30 +02:00
Martchus
1457dec990
Map "popularity meter" of ID3v2 tags to the generic rating field
...
See https://github.com/Martchus/tageditor/issues/84
2022-06-15 23:50:15 +02:00
Martchus
b27c82ef8c
Bump patch version
2022-05-23 19:55:12 +02:00
Martchus
4da00f8b75
Add more field mappings
2022-04-09 23:36:39 +02:00
Martchus
01813e7879
Add missing official Matroska tag field IDs
2022-04-05 21:54:04 +02:00
Martchus
a5830319b1
Avoid requiring OpenSSL package in CMake find module
...
as it is only required for unit tests
2022-04-03 23:20:43 +02:00
Martchus
526352e016
Increment patch version
2022-03-15 21:51:38 +01:00
Martchus
503fb725a2
Improve handling time values of MP4 files
...
* Cache result of `verifyPresentTrackHeader()` instead of running the code
unnecassarily multiple times
* Do not tamper with existing/raw values by default to avoid
inconsistencies through rounding errors and possibly fix
https://github.com/Martchus/tageditor/issues/80
* Avoid conversions to double (depending on the time scale rounding errors
might still occur)
2022-02-15 23:22:48 +01:00
Martchus
d390e8c9cf
Deduplicate code for computing timing values of MP4 track
2022-02-15 21:22:07 +01:00
Martchus
31c1bb47e6
Add missing `TrackFlag…` Matroska IDs
2021-12-30 22:49:06 +01:00
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
4900d7dc7e
Bump patch version
2021-12-05 17:42:50 +01: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
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
3f5d5e3098
Add functions to return only tags which have actually been parsed
2021-08-08 00:04:12 +02:00
Martchus
0e97b96ea8
Bump patch version (10.0.0 -> 10.0.1)
2021-07-03 11:42:13 +02:00
Martchus
abd4fbb868
Allow to specify location of JSON document for ISO-639-2
2021-01-20 21:59:34 +01:00
Martchus
cae88246ec
Generate code for ISO-639-2/B mapping from iso-codes package
2021-01-20 21:45:14 +01:00
Martchus
6b469f1c26
Add Locale class to deal with differently specified languages/countries
...
Different media/tag formats specify languages and countries
differently. This change introduces a Locale class to keep track
of the format being used. So far there are no automatic conversions
implemented so it is entirely up to the user to pass valid values using
a format which matches the one required by the media/tag format.
This change also adds support for Matroska's IETF elements so at least the
raw value can be read, written and is preserved.
2020-12-16 17:48:08 +01:00
Martchus
4cc2dbd9e6
Use flags instead of tons of boolean fields in AbstractTrack
2020-12-16 17:48:08 +01:00
Martchus
aa23750307
Make many constructors explicit to avoid unintended implicit conversions
2020-12-05 20:48:57 +01:00
Martchus
9a5d366ce0
Vorbis comment: Turn "YEAR" into "DATE" (unless "DATE" exists)
...
"DATE" is an official field and "YEAR" only an inofficial one but present
in some files. In consistency with MediaInfo and VLC player it is treated
like "DATE" here.
2020-11-25 01:39:57 +01:00
Martchus
e7ce9e7ced
Improve documentation
2020-11-05 19:52:09 +01:00
Martchus
3a0b6c24dd
Include more details into track description
...
* Usually the profile and level are interesting and don't take much space
* Add also a short description if it is too long after all
2020-10-01 19:58:03 +02:00
Martchus
16f4d2165c
Do not incorrectly abbreviate MPEG-4 ASP as H.263
...
Unlike MPEG-4 AVC and H.264, MPEG-4 ASP and H.263 are not identical.
2020-10-01 19:09:01 +02:00
Martchus
8f3eae59f1
Add more time-related ID3v2 IDs
2020-04-22 19:14:34 +02:00
Martchus
248a6555f3
Add links to upstream documentation of field IDs for the different formats
2020-04-22 18:43:41 +02:00
Martchus
25b567913b
Detect Dolby Digital Plus in Matroska files
2020-03-18 17:48:23 +01:00
Martchus
7043c3d2a9
Don't suppress IO errors when writing files
...
* Close or flush streams explicitely so writing is not
deferred
* to catch errors in the right place
* to avoid suppressing errors completely when writing
would be deferred to the destructor invocation
* Improve comments
2019-12-15 19:43:16 +01:00
Martchus
a59a01cfe9
Prevent warning when adding album artist to MP4
...
Prevents "making MP4 tag field aART: It was not possible to
find an appropriate raw data type id. UTF-8 will be assumed."
2019-10-09 18:03:34 +02:00
Martchus
eb9ab514eb
Detect Opus and FLAC in MP4
2019-09-25 21:52:44 +02:00
Martchus
fe67abcfeb
Fix old namespaces being mentioned in the documentation
2019-09-04 18:47:54 +02:00
Martchus
6e9b39726d
Add conversion from ISO-639-2/B codes to language names
2019-08-17 20:56:09 +02:00
Martchus
53fd299a10
Set project() on top-level
...
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:08:53 +02:00