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
Martchus
e8bc94906a
Apply cmake-format 0.5.1
2019-06-01 12:32:17 +02:00
Martchus
c17db5f2f6
Apply cmake-format and clang-format
2019-05-04 21:03:09 +02:00
Martchus
7efa7a0d5a
Adapt to c++utilities v5
2019-05-04 16:04:21 +02:00
Martchus
0452b42bfc
Add MediaFileInfo::overallAverageBitrate()
2019-03-10 16:31:47 +01:00
Martchus
5140b76f08
Treat 255 as empty ID3v1 genre index
2019-02-13 18:56:03 +01:00
Martchus
97c1a2100d
Apply cmake-format
2019-02-06 18:04:33 +01:00
Martchus
da64d455d9
Let CMake generate code for test application
2019-01-13 22:28:26 +01:00
Martchus
1e376f54c3
Document adding new fields
...
It is an easy task but it is also easy to forget something.
2019-01-05 16:55:28 +01:00
Martchus
6afcd0f8d3
Support album artist and fix/improve grouping
2019-01-01 23:47:18 +01:00
Martchus
0024d5e115
Make message about parsing AV1 config not supported an info
...
rather than a critical error
2018-11-08 14:31:35 +01:00
Martchus
bdf9d99262
Bump version 8.0.0 => 8.0.1
2018-10-29 17:31:06 +01:00
Martchus
534cb2a6f7
Prepare parsing AV1 config
2018-08-23 23:18:57 +02:00
Martchus
c4adad4297
Detect AV1 in IVF stream
2018-07-28 14:56:00 +02:00
Martchus
d434c4e299
Remove legacy API
2018-07-12 12:34:38 +02:00
Martchus
1a97d91b27
Preserve multiple strings in ID3v2 text frames
2018-07-12 12:34:38 +02:00
Martchus
403df73c1c
Bump minor release
2018-07-01 23:07:37 +02:00
Martchus
a065412d98
Add support for disk position in ID3v2.0
2018-06-02 23:08:38 +02:00
Martchus
38da0c796b
ID1v1: Allow conversion from int/string to position
2018-05-31 00:21:54 +02:00