How it works

With TagBar you can Love, Ban or add Tracks to your playlists and add Artists, Albums or Tracks to tags in your Last.fm account by submitting tracks you've got on your computer or last.fm URLs.
Just drag and drop a list of files out of e.g. iTunes or Windows Explorer onto the field you want and the engine starts working.
This piece of code has originally been created to be able to listen to a last.fm radio station containing all the songs rated 3 to 5 stars on my home computer. Check it out ;) top rated track

That's how it looks when in use.
TagBar Big

It can also be set to fade when inactive. Here it's in front of some scrobbles.
TagBar hidden
Download TagBar from SourceForge.net


Three options are available:

That's the easiest way to install. Double click the installer, go through the setup process, launch TagBar and configure it.
This is a zip file containing exactly the same files that the installer would put into the installation folder. You can unpack it anywhere you want and run TagBar.
A zip containing the source code used to compile the current version. It is written in c# using Visual Studio 2008.

TagBar Big

The combo box on the left lets you select the different categories defined in the preferences.
The tags that follow can have different colors and fonts depending on what type of tagging they do. You can Love, Ban and add tracks to playlists or tag artists, albums and tracks.
The progress bar will only show up when submissions are being done.

Info Box:
The Info Bow that will open when you hover over it with the mouse pointer shows all the statistics of your submissions.

Drops: The sum of Dropped Files and Urls
Dropped Files: When you drop a list of files onto a tag, all the dropped files will be count here. E.g. if you drop a folder containing 10 tracks and an image, the counter will show 11
Dropped Urls: This counter will only be incremented if a link to a Last.fm artist, album or track page has been dropped
Read from file: This counter gets incremented each time an audio track tag has been read
Subs: Short for submissions, as there wasn't enough space ;) It is the sum of submitted, failed and double submissions
Submitted: Everything worked fine for these
Failed: These didn't work. You can have a look in the log file to see what went wrong
Double: This counter gets incremented either when the same tagging operation is being done twice in the same session or when a track is added to a playlist that already contains it
Active: This value shows how many tagging operations currently are active. Or differently, how many open connections with got with Last.fm. This value should never be higher than the one set in the preferences for Max simultaneous submissions

Context Menu:
Right-click anywhere onto the bar, except the Info Box and combo box to make it show up. The menu is also accessible from the tray icon if it is enabled.

Preferences: Will open the preferences window
Log: Opens up a window showing as text, what TagBar is doing. To see what happened before you opened the window, you can have a look at the file written to disk by clicking onto the view log icon.
Exit: Should be clear enough ;)

Last.fm preferences

When you click the New User button, a page will open in your browser asking to grant permission to the Last.fm acount for the currently logged in user.
You can set up multiple accounts. Be carefull not to have the wrong user account set when submiiting tracks, as tags and playlists will be created on first submission if they don't exist.
You souldn't have to get a new session once it has been set, but if you have problems submiiting tags, try hitting the New User button one more time.

When you drop a list of files onto a tag, all these tracks will be submitted in fixed interval as set for this value to Last.fm
Max simultaneous submissions:
Multiple submissions can be done simoultaneously. This is to avoid having to wait for one submission to finish before the next can start. This value sets the maximum number of connections that can be opened at the same time.

Last.fm allows 5 submissions per second. Be careful not to break this rule by setting the values too low.

Tags Preferences

The different tabs represent the categories that will show up in the combo box on your bar. They can be useful if you have many tags that you want to group in some way.
To add a new category, right-click onto a tab.

From left to right, the columns represent:
Submission type:
You can Love, Ban or add tracks to Playlists as well as tagging
Tag Mode:
If you chose to create a tag, you can select if Tracks, Artists or Albums will be added to it
Tag/Playlist Name:
When you are logged in, the tags and playlists that you already have will be proposed as a list. If you want to create a new one, simply type in the name and it will be created the first time you will submit a track to it
Displayed Name:
That's the name that will be displayed on the bar for that tag

TagBar Preferences Bar

Check this option and set the slider if you want TagBar to fade out when you're not using it
The width of the bar
Startup Location:
Where the bar should show up on next start
Look of Tags:
Right-click on the differente tags to set the font and color of the tags that will show up on the bar as this type


TagBar Preferences _mixed

Confiuration: You can load and save configurations from file. This can be useful to save a cnfig before experimenting around with tag looks ans such.
Info Box: Here the background color of the Info Box can be set
Check for updates: You will be notified when a new version is released if this check is set
Display tray icon: Check this to display a tray icon in the lower right of your screen. If you double click the icon, the bar becomes completly invisible
The heart of TagBar, where the tags are being submitted to Last.fm is described here.

Submission Process

When something is dropped onto a tag, it's directly passed to another thread that will handle the drop. This is to avoid that TagBar hangs while processing.
If a valid Last.fm url has been found it is being put into the submission queue. If it was a filedrop, all the paths get enqueued and passed to another thread that will read the audio tags. There are two separate threads, because a list of filepaths can also be sent to the read audio files thread through other methods.
The submit thread is the one managing all the submissions. It's being restarted every time a new file is added to the submission queue if it's not already running. While running it starts a new thread with the interval set in the preferences until the maximum number of simoultaneous submissions is being reached, if this ever happens.

TagBar has been growing on top of mmmBar that Dylan72 had created to tag tracks in MusicIP Mixer. Thanks for that!

Other things that have been really useful to TagBar are:
log4net.jpg logs
taglib.png handles audio tags
taglib.png talks to Last.fm
SourceForge.net Logo hosts (project page)
taglib.png and Last.fm offers great services :)
Last update: 2009-01-17