stag: A good find, and a good tool

I got an e-mail from hakerdefo last week with a link to stag, which is an mp3/ogg/flac tag editor for the console, and this one is quite interesting.


I sense a lot of potential here. It seems to have all the requisite parts — a tree browser, a list of files to edit and a panel of tag data, all connected via the TAB key.

To get you started with stag, remember that the directory panel in the upper left only shows folders. I was stuck for a little while wondering why stag couldn’t “see” the files in a folder, until I realized it was expecting me to press the spacebar over a folder to add all the files in it.

Do that, and the files will appear in the right panel, as candidates for editing. Press TAB to bounce to the right, and you can again navigate up and down again with the arrow keys.

Now pressing the spacebar marks a file for editing, and you jump straight to the bottom panel and the available tag info with ENTER. If you press ENTER on a selected tag, you’ll be able to edit it along the lowest line of the screen, and press ENTER to submit it to that file.

You’re not done yet. Press TAB twice more to navigate back to the file window, and press “s” to save one file, or “w” to write them all to disk. And your work should be done.

I am thrilled with stag because it can handle editing more than one tag at a time. If you use the spacebar to highlight more than one file — or use the slash with a regex string for more control — then enter the info panel, differing tag info will disappear, and matching tag info will remain in the display.

Edit anything you like down there, and the information is held for all the files that are selected. Tags marked with an asterisk need saving. Write the files all out again, and you have multi-tag editing, in a nutshell. 😀

From there it becomes a quick matter to mass-correct or mass-fill music tags, correct dates or misspellings, or just about anything you could want to do.

There are a couple of things I’d like stag to do, and hakerdefo mentioned one or two of these as well:

  • Mass-erase specific fields, or even erase an entire tag, down to nothing. Sometimes that’s necessary. 🙄
  • Read tags from filenames and apply them as tag data. Some CLI tools will do this, and it doesn’t seem like a huge task.
  • Read tag data and apply it as filenames. Again, some CLI tools can do this, so it can’t be too preposterous.
  • An acknowledgment that files have been written to disk. As it is the cursor jiggles over a little, but no other visual cue that your changes have been applied.
  • Offer some sort controls over the file panel. If you were to open a giant folder of mixed files, you’d never find what you were looking for. Similarly, I have a tendency to look for particular things in order, and it’s weird to see things scattered out of sequence, like they are in that screenshot.
  • Color, and this time it just makes sense to me. You have three panels with a selection bar that bounces between all three. Adding color to each panel would make things easier to spot, and make the selection bar stand out dramatically.

I’m very pleased with stag, mostly because I think it has the potential to fill the gap at the Linux console for a proper, fullscreen tag editor application. It has a little way to go before it stands up to something like EasyTag, but I sense the Force is strong with this one. 😉

7 thoughts on “stag: A good find, and a good tool

  1. smabie

    Hey, the author here. Thanks for the interest in stag! I really appreciate your write-up on it. Has inspired me to put some tag into features this coming afternoon 🙂 In regards to your requests:
    1. Yep, good idea, will implement a erase today
    2. A good feature I think to add to morg, see below.
    3. I have a complimentary tool morg [], that does this, among other things. I might actually merge the features of morg into stag, and also extend it with some auto-tagging capabilities.
    4. Also a good idea, I’ll implement it this afternoon
    5. At one time they were sorted, I’ll look into it and also maybe add some user defined ways of filtering results
    6. I don’t like color personally, but I’ll think about it ;-p

    Also, I’m going to add a rc file, in order to change key bindings and other stuff.

    Anyways, thanks for plugging stag!

    1. K.Mandla Post author

      My pleasure! I think you have a very useful tool in stag, and there aren’t many feature-complete tag editors for the console out there. The only other one I know of that competes on the same would probably be cursetag, or ncmpcpp’s tag editor, which you could look at for ideas if you haven’t seen them already.

      Send a note when stag updates! 🙂

  2. Pingback: bashtagger: Joining the coalition party | Inconsolation

  3. Pingback: Recent Discovery: Inconsolation | Woodathon

  4. Pingback: Bonus: 2014 in review | Inconsolation

  5. Pingback: btag: Action-interaction | Inconsolation

  6. Pingback: btag: Action-interaction | Linux Admins

Comments are closed.