The UX for GNOME Music’s tag editor

Its the second week of GSoC 2016.  The development of a functional UI editor dialog is in progress. The editor at first should be able to allow the user to edit common tags (‘title’, ‘album’, ‘artist’, etc.) for a single song. If done properly it would pave a way to implement automatic tag suggestions and extensions for editing multiple songs (related or not) at once through the dialog.

Here’s a demonstration of how the user would go about from one of the Views in GNOME Music to edit a single song:

Selecting a song

A song needs to be first selected if it is to be edited. This can be done through the Songs view or the AlbumWidget for a particular album. When the user selects a (single) song from one of these places, the actionbar reveals itself which now offers an ‘Edit Details’ button along with one of the playlist management buttons.

GNOME Music: selecting songs in 'Songs' view
Selecting songs from ‘Songs’ view
GNOME Music: selecting songs from an album
Selecting songs from an album

If the user chooses to Edit Details of the selected song, the editor dialog is brought up.

The tag editor dialog

The editor responsible managing details of a single song offers common and relevant data that the average user would care about. The provided fields, namely Title, Album, Artist, Composer, Genre, Track, Disc and Year, are all editable. Apart from this the media-art associated with the song is also displayed. Clicking this cover will open up another dialog that allows file selection (only image types) that will now be used as the cover art for that song, replacing the old one.

GNOME Music: tag editor dialog
The tag editor dialog allows common tags to be edited
GNOME Music: tag editoy dialog fields
Edited entries are written as soon as ‘Enter’ is pressed or when entry loses focus

Each edit is physically stored into the music file as well as updated in the database. This part is taken care of by the tracker-writeback daemon. Once the user is satisfied with all the changes he/she can close the dialog.

Player accommodates to changes

Any changes made to a song or any music entity, should be reflected in the database as well as the current graphical user interface. Following the close of editor dialog, the player and the different views adjust their contents to accommodate the changes made. The edited song is inserted into the Songs list and the old item is removed. The song is also added to the container provided for the song’s album in the Albums view.

the edited song gets placed where it should
New song entry is inserted into the Songs list
edited song placed in the album container
The albums view as well as the album container reflect the changes written

Its worth noting that the above UI behavior is subject to change and it will quite possibly if I can find better ways to do things. The manual selection of cover art and an Undo option for immediately edited songs are two other planned features. They’re next in my cross-hairs.

Long road ahead…

There are still a few bugs and defects lurking about, that keep the UI from behaving as it should ideally. I’ll be working on them pretty soon, once I implement a functional dialog for manual edits to its full extent (like storing cover-art and and the undo option, both features I didn’t cover in this post). In fact my ‘bugs-to-solve’ list keeps growing  by the day. But I suppose that’s unavoidable when you’re developing software.

Thanks for reading and your thoughts are welcome!  🙂




14 thoughts on “The UX for GNOME Music’s tag editor

  1. If it helps, I have always used this amazing proprietary freeware Windows program:

    The core idea is that it is a dedicated tagging mode with an always-on dialogue on the right that updates as you click on different tracks. You can multi-select tracks. I suggest giving it a go, or if you don’t want to install Windows/proprietary software (I don’t bother with WINE, I dual boot), get a friend to do it. I cannot recommend it enough.


  2. Nice!
    Tough I find the current way of applying changes a bit confusing, a button might help.
    Also selecting multiple songs should allow us to edit the tags they got in common.


    1. Thanks! Instant apply dialogs are prevalent with GNOME software where the changes need not be applied all at once. This will (and does) give you a smoother experience when exiting the editor when most of the tagging have already taken place.


  3. Looking forward to it. Please include editing several tracks at once, with the facility to edit fields with values that will be common across the several tracks (like Album, Artist), and then be able to step between tracks to edit the fields unique to each track. Banshee got this right and made sorting a whole album so much easier.

    Liked by 1 person

    1. Yep! Stay tuned for this feature. Its an extended goal, for my project and I am prioritizing singular edits (manual and automatic) at the moment. So it may take some time, but I’ll make sure it lands 🙂


  4. Thank you for doing this. This is a very important feature that has been missing.

    Please consider adding ‘Album Artist’. Gnome music and classical music both heavily depend on this to sort albums. You can look in bugzilla to confirm this.

    Also note that gnome music only finds files in the tracker db. So if you accidentally clear all the entries (artist, album), you’ll lose access to the file, and you won’t be able to undo it.

    Liked by 1 person

    1. Thanks for putting in your thoughts! 😀

      Currently blank fields are not accepted as valid data. So if a user clears a field and presses enter or the text-entry loses focus, the previous value is retained or remains empty if it was so originally. So we are not allowing deletion of music data. And even if we do so in the future, there’s already a bug[0] for showing music files which are missing album or artist tag. If this gets resolved we’ll at least be able to see those files in Music and properly tag them.

      And as for adding an Album artist, when you enter the ‘Artist’ data in the editor, tracker will make two changes: write the ‘performer’ field for the song (basically translates to what artist you see for the song), and then writes ‘album artist’ field for the valid album related to the song. I’m pretty sure GNOME Music uses the ‘album artist’ fields to group music entities. By the way, I thought classical music gave more importance to composer over artist (as in modern music)



Leave a Reply

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

You are commenting using your 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