i don't need a conditional in front of that like $if($gt(%totaltracks,0)) or $if(%totaltracks%)
yvanzo
If it is just for use in some bash script, then numbers can be padded with zeros using printf command, for example: printf "%02d" 9; echo
iconoclasthero
ultimately, i want the files named and displayed (i.e., from tags) that way if whatever is playing them will display them that way,
it seems vlc doesn't pad them
i haven't checked mpd yet
or mpc/gmpc i suppose
and they don't.
well, that makes me question the utility of going back and using e.g., mid3v2 to go back and change the tags instead of just having bash rename the files.
outsidecontext
iconoclasthero: it'll still depend on the players. those track and disc numbers are usually defined as integers. If the player interprets them this way and does its own formatting it doesn't matter if you add leading zeros. E.g. if the player maintains an internal database were it stores the track numbers as actual numbers. If the player just takes them as is and uses the strings it will work.
iconoclasthero
yep
you have any insights into mid3v2?
it isn't working with non-mp3 files.
outsidecontext
Also e.g. MP4 strictly stores track numbers as integers and not as strings, so it doesn't matter what you do
iconoclasthero
mp4, .opus, .ogg/vorbis, flac(?)
outsidecontext
well, it isn't supposed to. it's basically a replacement for the id3v2 command implemented in mutagen. it's handling id3 tags only
iconoclasthero
someone else said it was supposed to, lol.
not only that, the git page says it does.
what is picard using to modify those non-mp3 files?
<kepstin> if that's actually an opus file (ogg opus), mutagen works great
<kepstin> that error sounds like it's a different format with a filename ending in .opus
outsidecontext
picard uses mutagen
kepstin
picard uses the mutagen library directly as a library
iconoclasthero
yes.
outsidecontext
but mutagen at its core is a library. it just happens to also provide a handful of command line tools
iconoclasthero
yeah...
$ mutagen Yola\ Carter\ --\ 01\ -\ Home.opus
-- Yola Carter -- 01 - Home.opus
can't sync to MPEG frame
mutagen is aliased to mutagen-inspect
kepstin
note that picard actually has a fair amount of code to handle different file formats, they work so differently that mutagen doesn't provide a sufficiently powerful "generic" interface
iconoclasthero
ah
outsidecontext
yes, I answered you on the mutagen issue you opened
iconoclasthero
same answer?
haven't looked today
outsidecontext
that .opus file most likely is not a Ogg Opus file, as kepstin said. My guess is that it is most likely a Matroska file
and mutagen does not support Matroska yet, unfortunately
kepstin
either that, or it got an id3 tag added to it
outsidecontext
or that
iconoclasthero
read it
kepstin
mid3v2 is a pretty simple tool, if used incorrectly it can mangle files by adding id3 tags when they're not supported by the format
iconoclasthero
let me look
mediainfo reports the container to be ogg and all of the files I put in opus came from ffmpeg -acodec libopus
iconoclasthero: yes, now I see it in the issue you reported. I missed that you used the mid3v2 command on that file first. that breaks the file by adding ID3 tags where there shouldn't be any
mutagen does not really care about the codec as it does not deal with the audio itself. it only cares about the container. that is ogg in this case, so that's fine.
but you can't use mid3v2 with it, that's just not what that command is supposed to do
in the end mutagen is probably not the right tool for you if you look for a command line tool to manipulate tags.
ffmpeg can fix the container to make it work with mutagen-inspect but if I shouldn't be using mid3v2 with those files than I suppose I need to find something else.
which I failed to do over the weekend.
does any of that help with the ticket or should i just close it?