Commit Graph

53 Commits

Author SHA1 Message Date
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
Martchus 7aea0e2a50 allow specific targets to be created with createAppropriateTags() 2015-10-13 23:32:00 +02:00
Martchus ecacccd3c6 improved parsing status 2015-10-06 22:39:51 +02:00
Martchus aa50c2d8b3 fixed includes 2015-09-06 19:57:33 +02:00
Martchus b1eb6faba6 fixed includes 2015-09-06 15:42:18 +02:00