Commit Graph

38 Commits

Author SHA1 Message Date
Martchus 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +02:00
Martchus f042d216fd Do not completely refuse on UTF-8 in ID3v1
since it is apparently used by some software.

But
* Write at least a BOM so it can be interpreted later
  correctly as UTF-8
* Print a warning
* Keep proposing Latin-1

The tag editor should allow to configure which encoding
is used and whether the BOM is used and which encoding is
assumed when parsing a file.
2019-06-01 22:53:59 +02:00
Martchus 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00
Martchus 6afcd0f8d3 Support album artist and fix/improve grouping 2019-01-01 23:47:18 +01:00
Martchus e74645e833 Handle unknown short IDs correctly when comparing ID3v2 frame IDs 2018-07-13 12:37:21 +02:00
Martchus 7d709ce9af Add Tag::supportsMultipleValues() 2018-07-13 12:25:00 +02:00
Martchus 341c7bbfd0 Fix setting ID in Id3v2Tag::internallySetValues() for new fields 2018-07-12 12:35:33 +02:00
Martchus e75a8d25c5 Adjust values()/setValues() to handle multiple values per text frame
See https://github.com/Martchus/tagparser/issues/10
2018-07-12 12:34:38 +02:00
Martchus 8d89954cd3 Remove frameIdString() 2018-07-12 12:34:38 +02:00
Martchus e81c6bb169 Implement small TODOs for v8 2018-07-12 12:34:38 +02:00
Martchus 3265e0bea4 Fix documentation which was still using the old namespace 2018-06-03 20:38:32 +02:00
Martchus a065412d98 Add support for disk position in ID3v2.0 2018-06-02 23:08:38 +02:00
Martchus 0a640c9f7f Fix warnings, mostly about implicit int conversions
This should fix all non-erros, leaving only warnings which
are indeed potential problems.

The following warnings should be safe to ignore:

* Conversions of various offsets from uint64 to
  std::streamoff/int64 are safe because such offsets have
  been obtained via tellg() and other functions
  returning std::streamoff in the first place.
* It also works vice-versa since tellg() should not
  return negative offsets with exceptions enabled.
* Conversions from char to unsigned char are also ok.
* Unused diag arguments can be ignored (those might be
  useful later).
* Annotate all intended fallthoughs.
2018-06-02 23:04:53 +02:00
Martchus ba23b49d39 Ensure iostream is included in id3v2tag.cpp 2018-06-02 19:27:29 +02:00
Martchus bf7428d066 Fix warnings, improve coding style 2018-05-31 00:25:32 +02:00
Martchus a3bf8267ac Fix treating short and long ID3v2 frame IDs as equal 2018-05-31 00:25:06 +02:00
Martchus 59024a66a0 Don't clear field before parsing by default 2018-03-11 22:27:12 +01:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +01:00
Martchus a0986ad4a9 Fix style issues 2018-03-07 01:11:42 +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 7a02e8a325 Uniform/simplify typedefs in templates
* Begin type names with capital letter
* Remove typedefs for implementation type
* Remove useless/obsolete comments
* Simplify relevant code
2018-03-06 22:44:01 +01:00
Martchus 0daabba17a Use static polymorphism in FieldMapBasedTag 2018-03-06 22:44:01 +01:00
Martchus 138fa32f29 Restructure FieldMapBasedTag to use CRTP 2018-03-06 22:44:01 +01:00
Martchus 424b238539 Make context static const where possible 2017-02-06 18:53:09 +01:00
Martchus 5037713071 Remove numberToString() where possible 2017-01-30 00:42:35 +01:00
Martchus 230a14fcf1 Use string builder rather than stringstream 2017-01-27 21:27:24 +01:00
Martchus 541f14039b Make use of string builder 2017-01-27 18:59:22 +01:00
Martchus e13263143d Consider long and short ID3v2 IDs equal 2016-12-27 23:57:21 +01:00
Martchus d5c8086230 Improve misc details 2016-08-05 01:46:31 +02:00
Martchus 817a8e25e6 Improve documentation and consistency 2016-08-04 00:16:19 +02:00
Martchus 6f0adce661 make use of padding when applying changes to MP3 files 2015-12-22 23:54:35 +01:00
Martchus 979427beb3 improved ID3v2 implementation 2015-12-22 17:01:25 +01:00
Martchus eaf2223585 fixed spelling mistakes 2015-10-16 21:46:36 +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
Martchus 09fcb37442 small adjustments 2015-07-27 23:10:35 +02:00
Martchus 033e313c74 First commit 2015-04-22 19:22:01 +02:00