Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple strings per ID3v2.4 text frame #38

Open
jonnyrobbie opened this issue Jun 28, 2018 · 5 comments
Open

Support multiple strings per ID3v2.4 text frame #38

jonnyrobbie opened this issue Jun 28, 2018 · 5 comments
Assignees

Comments

@jonnyrobbie
Copy link

Does tageditor support multiple strings per frame?

@Martchus
Copy link
Owner

Martchus commented Jun 28, 2018

Are you referring to ID3v2 frames? As far as I remember ID3v2 text frames can only contain one value at a time. Some frames can occur multiple times, though. However, regarding text frames the specification says: "There may only be one text information frame of its kind in an tag." So if I understand the question correctly I'd say that's not even possible according to the ID3v2 specification.


Note that in general the CLI supports specifying the same field multiple times: https://github.com/Martchus/tageditor/blob/master/tests/cli.cpp#L581

@jonnyrobbie
Copy link
Author

jonnyrobbie commented Jun 29, 2018

http://id3.org/id3v2.4.0-frames section 4.2

All text information frames supports multiple strings, stored as a null
separated list, where null is reperesented by the termination code
for the charater encoding.

@Martchus Martchus self-assigned this Jun 29, 2018
@Martchus Martchus changed the title Multiple strings per frame Support multiple strings per ID3v2.4 text frame Jun 29, 2018
@Martchus
Copy link
Owner

Ah.. this has been introduced in ID3v2.4. ID3v2.3 just says: "If the textstring is followed by a termination ($00 (00)) all the following information should be ignored and not be displayed." (http://id3.org/d3v2.3.0 section 4.2)

And that's what the tag editor is currently doing. So no, it is not supported so far.

But I could implement it. At least the CLI already supports specifying fields multiple times. Those could be combined into a single text frame the the underlying library then.

For the GUI I'm not so sure whether it is worth the effort.

@jonnyrobbie
Copy link
Author

As far as the GUI goes, there could certainly be a pretty robust solution, but you are correct that it would be a substantial effort to implement properly. For that I suggest to simply have a character substitution - like \n -> \0 (with multiline-enabled text boxes) or \x7c -> \0 ...or preferably user-choice substitution.

Martchus added a commit to Martchus/tagparser that referenced this issue Jul 1, 2018
First step to support multiple strings within ID3v2 text
frame.

See
* #10
* Martchus/tageditor#38
Martchus added a commit that referenced this issue Jul 12, 2018
@Martchus
Copy link
Owner

This should work now for the CLI with latest master of tageditor and tagparser: 898ee24

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants