Martchus
dbce74444a
Deprecate unused methods in Id3v2Frame
2019-02-13 21:44:19 +01:00
Martchus
e93a7c53b3
Fix warnings in ID3v2Frame
2019-02-13 21:43:56 +01:00
Martchus
3d3bc94e39
Prevent warning "Cannot make an empty frame"
2019-02-13 20:19:46 +01:00
Martchus
5140b76f08
Treat 255 as empty ID3v1 genre index
2019-02-13 18:56:03 +01:00
Martchus
6afcd0f8d3
Support album artist and fix/improve grouping
2019-01-01 23:47:18 +01:00
Martchus
f1382bd286
Make message about empty frames only a warning
...
Empty frames don't cause any trouble in general. They only
*might* indicate that something went wrong.
2018-11-15 22:09:10 +01:00
Martchus
a775ee61a2
Remove debug messages that the padding has been reached
...
This is true for most MP3 files and therefore not really helpful.
2018-11-15 22:07:07 +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
af4b43ff79
Replace typedef with using
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
9361e0bc13
Use constexpr where possible
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
f27dbd8934
Update documentation
2018-07-09 12:42:14 +02:00
Martchus
d64084ec78
Refactor formatting list of values
2018-07-01 22:11:34 +02:00
Martchus
943123afa1
Warn about ID3v2 text frame with multiple strings
...
First step to support multiple strings within ID3v2 text
frame.
See
* https://github.com/Martchus/tagparser/issues/10
* https://github.com/Martchus/tageditor/issues/38
2018-07-01 02:04:29 +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
404e4f751f
Improve comments and accessing the value in Id3v2FrameMaker
2018-06-02 19:34:07 +02:00
Martchus
710b7b420a
Prevent writing float/e-notation to Id3v2 duration field
2018-06-02 19:31:39 +02:00
Martchus
878b3a3c4e
Make diag msg on conversion error in Id3v2FrameMaker more specific
2018-06-02 19:29:43 +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
047e9f7fd0
ID3v2: Warn if specified string is no valid position
2018-05-31 00:23:01 +02:00
Martchus
38da0c796b
ID1v1: Allow conversion from int/string to position
2018-05-31 00:21:54 +02:00
Martchus
ca0b8e4d8c
Improve coding style
2018-03-11 22:28:15 +01:00
Martchus
59024a66a0
Don't clear field before parsing by default
2018-03-11 22:27:12 +01:00
Martchus
b35fc2ff0d
Improve some structure layouts
2018-03-11 16:14:42 +01:00
Martchus
0215b89057
Improve Id3v2Frame
2018-03-11 16:03:22 +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
6a62ef7fc2
Fix typo
2018-01-29 16:33:55 +01:00
Martchus
f65b90885a
Improve coding style
2017-10-09 21:49:04 +02:00
Martchus
8ae3dd6f6f
Specify behaviour of Id3Genres::indexFromString() in error case
2017-06-03 21:00:36 +02:00
Martchus
6b705d5652
Mind encoding when converting TagValue to pos
2017-06-03 21:00:26 +02:00
Martchus
79845b96dc
Remove friend class from Id3v2Frame
2017-05-29 14:36:22 +02:00
Martchus
0d39a70b5f
Improve making picture/comment frames
2017-05-29 14:05:15 +02:00
Martchus
8f5f61c85e
Fix finding termination in ID3v2 description
...
This check is only to prevent writing bad frame
when given description contains termination
2017-05-21 00:09:09 +02:00
Martchus
e925e15533
Improve handling of Unicode and BOM in ID3v2
...
* Convert UTF-8 text fields automatically to UTF-16
when version is ID3v2.3 or below
-> so conversion from ID3v2.4 to ID3v2.3 or below
doesn't require manual conversion of possibly
UTF-8 encoded fields
* Don't use magic numbers for ID3v2 encoding byte
* Don't warn about UTF-16 Big Endian with BOM
2017-05-20 23:34:45 +02:00
Martchus
23e84886d4
Id3v2Frame: Write BOM explicitely
...
* Instead of leaving this up to the application
* So the BOM isn't missing anymore when using
CLI of Tag Editor
2017-05-18 02:27:08 +02:00