GSoC 2014 “MusicBrainz support to EasyTAG” Final Report

Hello all,

These 3 months was an awesome experience for me. Working with my mentor David King was a hell lot of learning experience. Also, the experience at GNOME Foundation was great.

In this post I will give a tutorial about how to use MusicBrainz suuport for EasyTAG. Following features has been implemented in this summer:

  • MusicBrainz Dialog
  • Helpful Operations
  • Manual Search
  • Automatic Search
  • Search Selected Files
  • DiscID Search
  • ApplyTAGs

MusicBrainz Dialog: This is how the MusicBrainz Dialog looks:

MbDialog

You can see that it is a lot simpler than CDDB Dialog. There are buttons for all types of search and many other helpful operations buttons.

Helpful Operations: The TreeView in MusicBrainz Dialog is multi-selectable i.e. you can select more than one rows at a time. Following operations have been implemented:

  • Invert Selections: Select a row if it is not selected and vice-versa.
  • Select All: Select all rows.
  • Unselect All: Unselect all rows.
  • Toggle Red Lines: During the course of using MusicBrainz you could see that a row may be displayed in Red Color instead of Black Color, because this rows children have already been downloaded and it will be good to use that already downloaded data. With this Toggle Button you can toggle the state of display of these Red Lines.
  • Stop: Stop a downloading operation in between.
  • Fetch More Results: MusicBrainz doesn’t allow to download all data at a time, instead it will allow us to download only some amount of data. If you didn’t find your expected results in the downloaded data you can use this button to get additional data.
  • BreadCrumb: You can travel through the results using the breadcrumb widget.

Manual Search: Lets say you want to get some information about an Artist or Album or a Track. You can simple type the name of the entity you want to search in the given text box, select the type of entity from combo box and click on the search button. Then just wait and let MusicBrainz Dialog do the work. Here’s an example for it.

SearchSelected

In the above example we have searched for the Album “Waking Up”. What if you want to retrieve its Track? Simple, double click on the row containing you favourite result. Here’s what you will get:

WakingUpTracks

You can see that the BreadCrumb Widget has added a new button with name “Waking Up”. If you want to go back to the results just click on the button “Albums”.

WakingUpRed

Now you could see that one result is being displayed in red line. That is because its results has been already downloaded. Double clicking on it will show the already downloaded results. If you want to re-download the results you can click on Refresh.

Search Selected Files: This feature is helpful when you have a bunch of files and you don’t want to search for them individually. Just select a bunch of files and click on Search Selected Files. Then, MusicBrainz Dialog will group different files into different albums and search these albums over MusicBrainz server. After that you can click on any of the required Albums, view its Tracks and Apply Tags.

I have selected files. 2 albums are searched over MusicBrainz. Below are the results. You can get tracks of any of these albums.

SearchSelected

Tracks of Bridge to Terabithia:

SearchSelectedBridgeToTerabitha

Tracks of Do Your Thing:

SearchSelectedDoYourThing

Going back to the results of album:

SearchSelected2

DiscID Search: What if you have a Disc and want to get its metadata from MusicBrainz? This is where DiscID feature will help you. Insert a Disc into your drive and click on DiscID Search button. You will get all Albums in that Disc.

Here I have searched for DiscID “lwHl8fGzJyLXQR33ug60E8jhf4k-“.

DiscIDSearch

Double clicking on album “Praat geen Poep”:

DiscIDPatGreenPopTracks

 

Automatic Search: Sometimes a user may also require access to FreeDB Database. For this it was decided that”Automatic Search” feature would also be present in new MusicBrainz support. But don’t worry it don’t use FreeDB Servers to get the data. It uses MusicBrainz server to get the results for FreeDB ID. Here’s an example:

Select a few files, Open up the MusicBrainzDialog and click on Automatic Search. This is what I got:

AutomaticSearchResults

Double click on the required album to search it over MusicBrainz Server. And you get the results:

AutomaticSearchNoMoreLies

Now select your favourite No More Lies album and retrieve its tracks:

AutomaticSearchNoMoreLiesTracks

Apply TAGs : To apply tags to selected files you can just select the Tracks you want to apply their tags to. And click on “Apply Tag Changes” button. There are two ways in which tags can be applied:

  • The default way is applied n-th TAG to n-th File. In other words, Tag of first selected Track is applied to first selected File, Tag of 2nd selected Track to 2nd selected File etc.
  •  If you think that above way of applying tag may give you some mismatching. You can check the button “Match lines with the Levenshtien algorithm”. Then for each selected file a best tag among the selected tags will be discovered using http://en.wikipedia.org/wiki/Levenshtein_distance and the tags will be applied.

It may be possible that there are multiple TAGs associated with a Track. In that case MusicBrainz will ask you to pick up the most relevent TAG. In case you did Search Selected Files, then only those selected files will be consider whose Album name is same as the album name of Tag.

For example in the above Automatic Search example, just click on “Apply Tag Changes” button and MusicBrainz will take care of rest.

In all the above examples did you notice that Search Text field is already filled with some text? The reason if a file is already selected in BrowserList of EasyTAG then its album will be automatically added in Search text field. This is easy as you don’t need to take your hand toward keyboard. Select the file, open MusicBrainz dialog and click on search. Done!!

MusicBrainz support is very robust and will display any error if encountered during the operation. It will certainly help many users to get more accurate and better results.

Cheers!! 😀

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s