* Define `CHRONO_UTILITIES_TIMESPAN_INTEGER_SCALE_OVERLOADS` consistently
with all necassary changes
* Avoid ambiguity between enum members and certain class/struct names
* 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)
* 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
* 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()`
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.
"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.
* 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