-
Notifications
You must be signed in to change notification settings - Fork 1
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
A lingering TagLib problem #1
Comments
Good catch! e0449bd should address this issue. Let me know. Off-topic: Why did you submit here and not on Bitbucket? |
It works! I submitted here because I noticed a while ago that you had put Demlo up here on GitHub, and I figured you were making the transition. On that topic, is |
Great! I'll finish the GitHub transition when I'll release the next version. |
Following up again! This issue also manifests itself for the |
I'm not sure about this one. Zero-padding is useful for filenames, but tags need not be zero-padded for filenames to be zero-padded. If your concern is for display in music players, I believe the job of padding zeros belongs to the music player display. To be honest, I do not know why you'd want to pad zeros in a music player display. Tags should store information, not appearance, i.e. they should store the track actual number, not some formatting of it. Another use for track numbers / disc numbers is to store the total number, e.g. "1/10" if it's the first track out of ten. |
This is true...
...However, the problem is that not all music players do that. The only way to guarantee that it'll show up consistently is to have the data be stored consistently. In an ideal world you'd be right.
I've always gotten rid of tracktotal tags, since I didn't see the point of them—I knew how many tracks there were without being told! But now that I think about it, this would be the best way to do it. In an ideal world, all music files would have a non-zero-padded
Yeah that is a problem. I think ID3 has a standard one, but there are probably plenty of Vorbis Comment names in use: (Continued below) |
That is a good argument. Consider this for a counter, however. The behavior of Demlo in this matter is already inconsistent, simply because of differences between TagLib and FFmpeg. If Demlo uses TagLib to edit tags, then the tracknumber will be a non-padded integer; but if it uses FFmpeg (which is sometimes unavoidable), then the tracknumber will be set to whatever the user asks for, assuming the output format allows it—that is, there is another layer of inconsistency, because the MP4 container does not allow arbitrary tag contents for all tags (probably what motivated TagLib's restriction(?)). My proposal is to
I see two variants of the latter situation, for each problematic tag: (i) When the tag can be coerced into the format (by removing leading 0s)—here I think Demlo should proceed; and (ii) when the tag cannot be so coerced, in which case I think Demlo should exit... Or maybe it should set an empty tag in the output (which is what most other software does). Either way it should be verbose (and not require This strikes me as the most consistent route to take that also gives users what they want. Anything would be giving special treatment to Oh, and as for why someone might want non-integers in tracknumbers: |
Do you mean Demlo should impose its standard by setting some Vorbis comment such as "tracktotal" when a specific tag is set, for instance o.tracktotal? The resulting output of FFmpeg or TagLib should be the same. FFmpeg and TagLib are merely implementation details and the end user need not know about it beyond Regarding the argument of players with bad interfaces: well, it's not Demlo's job to fix them all. Considering there seems to be no good solution, I do understand the need for more flexible disc/track tags. Let me know what you think and if you have no further comment, I'll push a fix. |
No, I mean it's the job of a Demlo user to customizer their Demlo user scripts to pick one tag and use it. Which is what I currently do.
Awesome! There is one other perhaps-related bug involving those tags that I've been meaning to submit. For some reason, the only way to clear the |
Sorry for the delay, I'll come back to this as soon as possible. As a side note, you mentioned the |
Hm. You're right. Not sure how I missed that in my testing. |
Done, let me know it that works as you expected. And sorry for the long delay. |
It all works great! Thanks! |
Hi again! It's dylandforbes from Bitbucket.
I'm finally getting around to following up on this issue. While Demlo does a decent job at deciding when to use TagLib and when to use FFmpeg, it's not perfect; there is one crucial missing case involving
date
. It took some investigating, but I figured out that the problem is that TagLib doesn't support setting the date tag to an arbitrary string, only to an integer. As I like to store dates in ISO 8601 format, this is crucial for me. Unfortunately, Demlo does not take this into account when deciding between TagLib and FFmpeg.Thus the fix is to force use of FFmpeg when
type(o.date) == 'string'
. Should be simple enough.Thanks!
The text was updated successfully, but these errors were encountered: