Commit Graph

132 Commits

Author SHA1 Message Date
Martchus d48722f26c Fix unity builds
* Define `CHRONO_UTILITIES_TIMESPAN_INTEGER_SCALE_OVERLOADS` consistently
  with all necassary changes
* Avoid ambiguity between enum members and certain class/struct names
2024-01-30 23:31:15 +01:00
Martchus 0f669c88a7 Bump minor version 2023-12-29 16:50:19 +01:00
Martchus 5aef3f84ee Bump patch version 2023-10-31 20:07:02 +01:00
Martchus 8a6cffad95 Bump minor version 2023-07-29 16:02:14 +02:00
Martchus 54a87cd32c Avoid CMake deprecation warning by bumping version 2023-07-23 20:59:19 +02:00
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