Sonata

An elegant music client for MPD

Documentation

Overview
FAQ
     1. I don't see support for [insert feature]. Why?
     2. How do I jump straight to certain tracks or search?
     3. Is there an easy way to toggle Sonata visible/hidden?
     4. How can I change the view of my library?
     5. How does the cover art logic work?
     6. How does the song formatting work?
     7. How does the tag editing work?
     8. What kind of audio streams does Sonata support?
     9. How can I interface with Sonata from the command line?
     10. If I have multiple columns for the playlist, can I hide the column header?
     11. Clicking on links launches the wrong browser, what can I do?
Shortcuts

Overview

Sonata is designed to be an elegant and intuitive interface for your music collection. The main window can be collapsed into a "mini" view or expanded by clicking on the current song (with the ">" next to it). Additional information like song tags, album info, and lyrics are available in a secondary window that can be brought up by clicking on the album art/cd in the top-left of the player, or by right-clicking anywhere in the top of the player and choosing "song info".

Sonata's tabbed interface includes your current playlist, your library (browse by filesystem, artists, or albums), your saved playlists, and any streams (pls/m3u is supported). Most actions are accessed through right-click popup menus.

FAQ

1. I don't see support for [insert feature]. Why?

There are a few optional features that will only work if a given Sonata dependency is installed. For systemtray support, PyGTK 2.10 or gnome-python-extras is required. For the ability to edit song tags, tagpy and taglib are required. For automatic fetching of song lyrics, ZSI is required.

2. How do I jump straight to certain tracks or search?

All you have to do is start typing! On your first keystroke, Sonata will pop open a filter bar (similar to xmms) at the bottom of your playlist and will filter your list based on what you type. You can use the up and down arrows to quickly cycle through songs. Escape will end the filtering.

3. Is there an easy way to toggle Sonata visible/hidden?

If you have dbus on your system, you can simply create a shortcut with your window manager to call "sonata --toggle". This will quickly make the application visible (if it wasn't visible) or minimized to the system tray (if it was visible).

4. How can I change the view of my library?

By default, Sonata will present your music library in a Filesystem hierarchy view. You can also choose to switch to Artist or Genre views by clicking on the bottom-left icon that appears in the library tab.

5. How does the cover art logic work?

First, you can set the priority between fetching for remote artwork from Amazon and searching your local filesystem for album covers. If "local, then remote" is chosen, Sonata will first search for artwork in your music directory, then fallback to fetching artwork from Amazon (and vice versa for "remote, then local"). If you were to set "local only" you could prevent Sonata from performing remote searches.
When searching locally for artwork, Sonata looks for the following:
     - ~/.covers/[Artist]-[Album].jpg
     - {cover, album, folder, front, .folder, AlbumArt, AlbumArtSmall}.jpg
     - .folder.png
     - [the custom filename set in prefs]
     - [if there is exactly one image file]

6. How does the song formatting work?

Sonata provides the user with flexibility to define how songs are displayed in various locations. The available pieces of information for a song are displayed in the preferences window. Note that you can enclose song formatting in curly brackets so that enclosed information only shows up if all of the enclosed tags are found. For example, "{%T_}%A - %S{ [%B]}" will show "07_Pearl Jam - Oceans [Ten]" if the track and album song tags exists, and "Pearl Jam - Oceans" if neither tag exists.

7. How does the tag editing work?

Sonata provides a pretty powerful tag editing interface, similar to that found in EasyTag. You can select multiple files (or even folders) and apply user changes to all selected files by clicking on the small button next to a given field. If you press the small button next to the track number field, it will set the current song at track number 1 and will increment each subsequent song. You can also do bulk saving by clicking the "Save All" button. Note: You need taglib and tagpy installed in order to use the tag editing feature.

8. What kind of audio streams does Sonata support?

In addition to streams natively supported by MPD, Sonata can also accept pls, m3u, and extm3u's as stream inputs.

9. How can I interface with Sonata from the command line?

Sonata has some playback arguments that allows you to set your own keybindings to actions like play or pause. Type "sonata --help" to see the full list of available command line arguments.

10. If I have multiple columns for the playlist, can I hide the column header?

Yes, Sonata has a hidden setting that can hide the column headers. Edit your ~/.config/sonata/sonatarc file while Sonata is closed and change the show_header value to False.

11. Clicking on links launches the wrong browser, what can I do?

There is a hidden configuration option for manually setting your own browser. Simply edit your ~/.config/sonata/sonatarc file while Sonata is closed and change the browser value to your browser binary name (e.g. "firefox").

Shortcuts

Note: This list can also be found by going to About > Shortcuts.

     Main Shortcuts:
     F1: About Sonata
     F2: Display song info window
     F5: Preferences
     Alt-1: Switch to current playlist
     Alt-2: Switch to library
     Alt-3: Switch to playlists
     Alt-4: Switch to streams
     Alt-C: Connect to MPD
     Alt-D: Disconnect from MPD
     Alt-Down: Expand player
     Alt-Left: Switch to previous tab
     Alt-Right: Switch to next tab
     Alt-Up: Collapse player
     Ctrl-H: Search library
     Ctrl-Q: Quit
     Ctrl-U: Update entire library
     Menu: Display popup menu
     Escape: Minimize to system tray (if enabled)

     Playback Shortcuts:
     Ctrl-Left: Previous track
     Ctrl-Right: Next track
     Ctrl-P: Play/Pause
     Ctrl-S: Stop
     Ctrl-Minus: Lower the volume
     Ctrl-Plus: Raise the volume

     Current Shortcuts:
     Enter/Space: Play selected song
     Delete: Remove selected song(s)
     Ctrl-I: Center currently playing song
     Ctrl-T: Edit selected song's tags
     Ctrl-Shift-S: Save playlist
     Ctrl-Delete: Clear list

     Library Shortcuts:
     Enter/Space: Add selected song(s) or enter directory
     Backspace: Go to parent directory
     Ctrl-D: Add selected song(s) or directory(s)
     Ctrl-R: Replace with selected song(s) or directory(s)
     Ctrl-T: Edit selected song's tags
     Ctrl-Shift-U: Update library for selected path(s)

     Playlist Shortcuts:
     Enter/Space: Add selected playlist(s)
     Delete: Remove selected playlist(s)
     Ctrl-D: Add selected playlist(s)
     Ctrl-R: Replace with selected playlist(s)

     Stream Shortcuts:
     Enter/Space: Add selected stream(s)
     Delete: Remove selected stream(s)
     Ctrl-D: Add selected stream(s)
     Ctrl-R: Replace with selected stream(s)

     Info Shortcuts:
     Ctrl-T: Edit playing song's tags