-
Notifications
You must be signed in to change notification settings - Fork 100
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
[BUG] ID3: Only first WOAR frame is kept #206
Comments
Looks like most of the website tags have the same problem. |
This will require special handling similar to artists and genres. Which types of URLs are you interested in? |
I'm particularly interested in the artist websites (e.g., equivalent of WOAR under ID3). Since 2.0 is going to be incompatible, maybe this would be a good time for TinyTag to automatically put things in lists if it detects more than on frame for a field, regardless of the frame type? EDIT: I'm hitting the same problem with fields like 'musicbrainz_artistid' in flac's and that's an absolute killer for my app. I won't be able to use TinyTag exclusively without getting all of the values for fields that are allowed to be repeated. |
I don't think doing this automatically this is a good idea. Returned types should be predictable and consistent, we can't just switch between a string/integer and list. How about keeping non-extra fields as-is, but always using lists for extra fields? There will be a lot of single-item lists, but we can also guarantee that a list will always contain at least one item. |
You could always just make them always lists.
That sounds reasonable, esp if the non-extra lists also appear in extra as lists. |
Can you test #209 and verify that it works as expected? New behavior:
|
Sorry this completely slipped my mind (I was at the Cruel World festival). I'll try to bang on it here over the weekend. |
Including the one value that is stored in non-extra, correct? Just want to verify what I'm seeing. |
Excluding the first non-extra value (except for The idea is that you use the non-extra fields to get common info about a file as a single value (in part for backwards compatibility, to avoid breakage for every existing user out there, but also for consistency). For more "advanced" use cases, the extra dict provides any remaining, nonduplicate info in the form of lists. |
Ok then there is either a bug or I'm doing something wrong. With a track with a single artist, I'm seeing the artist primary value also showing up in extra.artists. FWIW, it'd make my life easier to just read that one field but in the end appending doesn't make much difference. 😄
|
|
Should be fixed in the latest revision of the PR. |
You should now be able to do this with Edit: |
Describe the bug
According to the ID3 spec, the
WOAR
frame may appear multiple timesTo Reproduce
WOAR
frameextra["url"]
only has the first entry and not the secondExpected behavior
extra["url"]
should be an (ordered) list wit allWOAR
frameSample File
example
The text was updated successfully, but these errors were encountered: