Tutorial 1ΒΆ

Start puddletag. It should not look dissimilar to this.

puddletag at startup

Using File -> Open Folder... select a directory containing supported audio files.

Don’t worry about it taking a while. Qt’s just getting filesystem info.

Here’s what puddletag looks like after I’ve opened a folder.

puddletag after loading a directory.
  1. Is the heart of puddletag. The pattern combo. THIS is where you’ll be spending a lot of you time.
  2. Converts a filename to a tag according to the pattern you specify in the pattern combo.
  3. Does the reverse. It takes the tag and creates a filename based on a pattern.

Okay, so normally music files have tags, but these here files of mine don’t have any. Their filenames though, contain some useful info, which I’d like to extract.

Consider the first file named Bob Marley & The Wailers - 01 - Positive Vibration.mp3, which contains the artist, track number and title of the song. I can enter these values by typing them directly into their respective field in the File-View (the large table taking up most of the viewing area), use the Tag Panel on the left or extract them using a Pattern.

The third option is the one that I will concern myself with.

In patterns a field of any name can be specified using the %field% notation. You can use any field listed here. %dummy% can be used as a placeholder and is discarded when extracting info from filenames.

After typing %artist% - %track% - %title% into the Pattern Combo [1] and using File->Tag from the Convert menu (File -> Tag). I get this:

puddletag after performing a File -> Tag operation.

Artist, track, and title info was set as expected. Furthermore, the values be can fine-tuned editing them in the File-View or Tag Panel.

Any number of files can be edited at once by selecting them. Just by pressing Ctrl-A to select everything and using File->Tag again I got...

Everything is selected

The Tag Panel on the left is really useful for writing common data between files. Notice that the artist combo box contains Bob Marley & The Wailers. This is because all files have the same artist. On occasions where the value differs between files it would contain <keep>, signifying that upon saving that field will remain unchanged for each file. So in this instance, the artist field for all the files will be left as-is upon saving.

To remove a field, change the text to <blank> and the field’ll be removed upon saving. I’ll fill in the album, year and genre tags (and click Save) while you get some coffee.

Okay, now some people like their filenames in a %track% - %title% format. This can be done by entering it in the pattern combo and using Tag-File from the Convert menu ( or Tag -> File).

Here’s what I see...

This mofo right here is impossible for me to describe.

Hmm, the leading zeroes are a bit of an eye-sore. puddletag allows you to use scripting functions when renaming files using Tag->File. The functions are just like normal programming functions except they’e prepended with the $ character. In this case, the $num(tag, length) function is appropriate since it pads the field’s value with leading zeroes until it is of the same length as the length argument (otherwise remove all leading zeroes until it is).

I don’t want any so I’ll use $num(%track%, 1) and rename the files again using Tag->File.

puddletag after using a pattern to rename some files.

Want more? Check out Part 2