Martchus
acfb9ef219
Handle TRACKTOTAL/DISCTOTAL/PARTTOTAL fields in Vorbis Comments
...
* Move those fields into their corresponding
TRACKNUMBER/DISCNUMBER/PARTNUMBER fields after parsing so they are
accessible via just one field as PositionInSet which is in line with
other tag formats and also how other software like VLC expect the total
to be specified
* NOT implemented yet: Move those fields optionally back into separate
fields when serializing
2024-02-28 21:36:06 +01:00
Martchus
e6bb98d6e6
Improve dealing with muxing/writing application of Matroska files
...
* Allow reading the current muxing/writing application
* Allow to preserve the original muxing/writing application instead of
always overriding
2023-08-08 17:18:02 +02:00
Martchus
5745632af7
Move `maxFullParseSize()` to `MediaFileInfo` as non-static member
2023-05-16 23:11:53 +02:00
Martchus
c5cd20682d
Determine "effective size" via file info instead of track implementations
...
This allows removing duplicated code from the track implementations to take
APE tags into account.
2023-05-16 22:39:26 +02:00
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
10a6b10658
Fix typos
2023-05-06 11:07:31 +02: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
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
3f5d5e3098
Add functions to return only tags which have actually been parsed
2021-08-08 00:04:12 +02:00
Jonas Kvinge
ea23d71e8a
Fix spelling and typos
2021-07-02 11:12:39 +02:00
Martchus
32cd02217b
Replace boolean fields in MediaFileInfo with flag enums
2021-05-13 15:30:22 +02:00
Martchus
92e80a9286
Improve passing paths
...
* Use `std::string_view` instead of `const std::string &`
* Add overloads taking `std::string &&` for re-using existing strings
2021-04-23 22:16:43 +02:00
Martchus
65597fd71e
Add API to allow aborting overall/expensive parsing functions
...
* Not really implemented within the various code paths of the parsers at
this point; this commit mainly adds the API.
* Adjust example in README
2021-02-04 23:21:50 +01:00
Martchus
64d98f5530
Use std::string_view where it makes sense
2021-01-30 21:53:06 +01:00
Martchus
aa23750307
Make many constructors explicit to avoid unintended implicit conversions
2020-12-05 20:48:57 +01:00
Martchus
5f39e377dc
Use std::size_t consistently
2020-11-25 17:54:30 +01:00
Martchus
5ad00a083c
Adapt to changes in c++utilities
2019-06-10 23:11:39 +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
a2ff0f418f
Fix typo occured -> occurred
2018-07-23 14:44:06 +02:00
Martchus
e81c6bb169
Implement small TODOs for v8
2018-07-12 12:34:38 +02:00
Martchus
a87ad5f5ec
Don't use global variable for backup directory
2018-07-12 12:34:38 +02:00
Martchus
e29f9bd4f8
Fix warnings in MediaFileInfo, make safe casts explicit
2018-04-30 19:00:02 +02:00
Martchus
f5bd1dc4e8
Use unsigned int as underlying type for enums
2018-03-21 20:30:51 +01:00
Martchus
cbb54d5aeb
Allow custom writing application
2018-03-20 21:41:05 +01:00
Martchus
b47705ff81
Refactor MediaFileInfo::createAppropriateTags()
2018-03-11 18:57:22 +01:00
Martchus
b35fc2ff0d
Improve some structure layouts
2018-03-11 16:14:42 +01:00
Martchus
c0336ed4bb
Apply clang-format
2018-03-07 01:17:50 +01:00
Martchus
0e15c74103
Move everything into namespace TagParser
2018-03-06 23:09:15 +01:00
Martchus
36511fcc13
Add progress feedback and diagnostics replacing status provider
2018-03-06 22:44:01 +01:00
Martchus
43c843ca6b
Fix track count if no single track or container present
2017-08-17 19:08:54 +02:00
Martchus
0485d6b5c6
Add method to generate technical summary
2017-08-17 19:08:54 +02:00
Martchus
fd138f65ca
Add method to find available languages
2017-08-17 19:08:54 +02:00
Martchus
9c3f596699
doc: Cross-reference methods for tag/index pos
2017-05-22 23:53:38 +02:00
Martchus
0e6f16e2fe
Document defaults of padding constraints
2016-11-18 17:09:26 +01:00
Martchus
6717062ca2
Allow checking tag position
...
Only implemented for MP4 so far
2016-11-15 22:48:38 +01:00
Martchus
0cf30edbff
Fix decoration for static builds
2016-08-29 15:43:05 +02:00
Martchus
d5c8086230
Improve misc details
2016-08-05 01:46:31 +02:00
Martchus
dce5a98b8a
Change usage of DECLARE_ENUM macro
2016-07-11 21:33:19 +02:00
Martchus
7e058f289c
Improve API doc
2016-06-15 22:53:39 +02:00
Martchus
415e68972a
Improve handling of targets
2016-05-26 01:59:22 +02:00
Martchus
53f0903c3b
Add tests for FLAC files
2016-05-21 22:11:08 +02:00
Martchus
a84ac37dbe
Add support for raw FLAC streams
2016-05-16 20:56:53 +02:00
Martchus
8d8322948d
Add convenience methods for ID3 tag conversion
2016-05-11 22:37:40 +02:00
Martchus
6c6ab0e301
improved file handling
...
- don't override backup files
- allow saving files at a different location
- reduce code duplication for restoring backups
2016-05-01 20:02:44 +02:00
Martchus
899e2a97fe
small improvements
...
- fixed some mostly ID3/MP3 related bugs
- added convenience methods/operators
2016-03-18 21:43:09 +01:00
Martchus
1db83eeccd
added more methods to control file layout when applying changes
2015-11-26 14:28:54 +01:00
Martchus
d68a324275
added preferredPadding() / setPreferredPadding()
2015-11-21 01:07:32 +01:00
Martchus
e7bd2185d5
added properties to control position of tags when writing files
2015-11-07 21:25:37 +01:00
Martchus
eaf2223585
fixed spelling mistakes
2015-10-16 21:46:36 +02:00