air born

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

GNOME Music: 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

GNOME Music: tag editor dialog fields

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

edit the song details

edited song placed in the album container

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-fix" 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!  :)