I have been wanting to learn the Ruby programming language for some time, and I needed a way to generate a tracklist on my Linux/OS X machines in my terminal. I created the Ruby gem track_list as a hobby project to learn the language and also make me more productive on MusicBrainz. You can customize the output of your tracklist as well. Please see the instructions at my GitLab repo if you are interested in trying this program out. And if you need help, please ask.
Please note that I am sure that there are better tools out there to get the job done, but I wanted a simple and fast way of getting a tracklist while I manually added metadata to MusicBrainz. If you have any suggestions or run into any issues, please let me know. Thanks for reading.
Yes, exactly! It can currently read track, title, length, artist, album, year, genre, and comment. I plan to extend this in the future if needed, but that should be more than enough for generating a tracklist .
Maybe consider opening a seeded release (add) editor instead of ājustā making a text blurb for the track list parser? This would enable you to submit track lengths with millisecond accuracy instead of ājustā second accuracy. It would also likely reduce a fair amount of typing as it could also handle adding the release title and the release artist and would remove the need for copying and pasting the track list blurb at all as well.
You can see an example implementation of this (in Python) here:
(Of course, this will only work easily for new releases, so if you use your script for editing existing ones, then feel free to disregard this. )
I will look into making a seeded release editor, however, I donāt know if millisecond accuracy will be possible, at least with the library that Iām using for getting audio file information.
Sorry for the late response on this, itās been a seriously messed up few months lol. I have tried using that lengthInMilliseconds method but it seems like itās not actually implemented, maybe the dev started it then forgot about it or something I donāt know. I will try and figure out a way to just convert it to MS.
Edit: Tried to convert directly to MS, seems like itās rounding which I should have expected obviously. Iāll check out the libraryās source code.
I tried directly calling it like I call length and it has a method not found error: undefined method `length_in_milliseconds' for #<TagLib::AudioProperties:0x00005643fb4c07a8> (NoMethodError)
Actually I take that back, it looks like the developers of that Ruby library just havenāt pushed their code to Ruby Gems. I got it to work locally with a build I compiled. Iāll try and get in touch with them.
I know this is 4 posts in a row here but I forgot to ask this: @jesus2099 or @Freso, how do I actually use milliseconds when adding a track list to MB?
If anyone other than me still uses this, I am rewriting it in Rust. The taglib Ruby wrapper isnāt compiling for me on Arch anymore and I did not want to deal with it so I figured this would be a good excuse to dive into Rust.
Itās very preliminary and the format options are missing so far but it works for quickly copying and pasting track listās to MusicBrainz.