Client:Esperanza Roadmap - nesciens/xmms2-wiki GitHub Wiki

This page tries to collect the future of Esperanza. Please put new ideas in the "distant future" thing below and I will move it up. The ✓ denotes that the function is implemented. See the 0.4 branch in the git tree.

Version 0.5

  • ❏ Last.FM controls
    • ❏ Implement Last.FM: love/ban/skip in the main widget. Also add browsing to the streambrowser. make it pretty
  • ❏ Info dialog that can give Last.FM recommends / musicbrainz info and so on. Evolution of the last.fm dialog.
  • ❏ Make the medialib browser prettier
    • ❏ Animations when the medialib is shown?
  • ✓ Both wizard and serverdialog handles malformatted URL's pretty bad. When someone enter "host" without "tcp://host" it dies. (done in esperanza-ephraim.git)
  • ✓ On OSX the menus in the top are not activated (done in esperanza-ephraim.git)
  • ❏ Configurable text in the ProgressFrame
  • ❏ Minimode ignores time remains settings

Distant Future / New Features

  • Support for multimedia keyboards
  • Support for disabling global keyboard shortcuts. These can interfere with other applications. Would be nice on a per-shortcut granularity.
  • Allow Drag n' Drop reordering of playlist items
  • Have selectable columns to show/hide metadata in medialib
  • Allow sorting of results by clicking on column heading in medialib
  • When Esperanza is minimized to a bar(mini-mode), it's automaticly renamed to Esperanza <2>. It would be a good idea to change the name back to Esperanza after it's minimized to the bar.
  • If the audio-file doesn't have an artist and title in it's meta-data, show the filename(with it's extension removed).
  • If you click shuffle, don't shuffle the whole list, but instead jump to random places in the list, so that files from the same album are still together.
  • If xmms2 daemon is executed by Esperanza, make Esperanza pop up a small-dialog when you quit, with the choice to also close xmms2 (xmms2 quit). Because it feels unintuitive to still hear music after you've closed the player.
  • Seeking bar should be clickable to jump somewhere in the song. The information (like remaining time) shown on the seeking bar may be toggled by right clicking on the information shown.
  • Being able to jump to a perticular time in a song by using a menu choice (for example: jump from 00:00(mm:ss) to 12:34), like in XMMS1.
  • Add a "stop after this title" option (alike "no playlist advance" in xmms)
  • Smoother drag&drop handling, esp. inside the playlist (it's very difficult here to get a song to the right place)
  • tristate button or two different buttons for repeat-all and repeat-one setting of xmms2d
  • Add QScript support for customization of playlist and other elements.
  • Add a class that can query amazon web services for album art. It should be done on the albums that are in the playlist (and don't have a cover) and should be added to xmms2d with the binary_get/set calls.
  • Application Icon missing, make sure for any OS
  • Make sure that the Connection code can handle disconnect, reconnect, connect to multiple and similar operations. Ideally we should be able to switch server without quiting esperanza and not have to relaunch it when it disconnects.
  • make the playlist columns editable, add / remove items which can be shown in the context area of a playlistitem
  • Make an album playlist view. This looks like the current playlist but:
    • instead of "artist - title" rows it shows "artist - album" (or "artist - album (songcount - totaltime)")
    • multiple songs in a row result in one album line
    • single songs could be showed as normal songs
    • when an album row is selected, the context area shows some cover art and the songs in the album
    • missing songs are disabled rows
    • disabled rows have a menu option to add the songs (when available in medialib)
    • incomplete albums have a menu option to add the missing songs and set the right order (when available in medialib)
    • previous and next album buttons (also next random album)
    • most of the album info should be based on MusicBrainz data, but there must be some fuzzy logic for songs without MusicBrainz ids
  • one step further Playlist Stuff: make a pluginAPI for a playlist widget, so we can support simple Playlists as Title per row, normal like the current Playlist and advanced Playlists like the Albumplaylist. And make theses playlists chooseable via preference dialog.
  • make the language selectable, or even let the user overrule the systems language setting

Older versions

Version 0.4

  • ✓ A shortcut to go to mini-mode. Because now you have to click on the icon to do that.
  • ✓ First time Wizard - A wizard that pops up the first time a user starts esperanza. It should handle some basic configuration of Esperanza and the server. Importing musicfiles, setting the unix path, asking if the user wants to see the server browser all times, if the colors are good (ignore desktop aware...) on linux. and so on.
    • ✓ add a skip wizard button
    • ✓ show a progress while trying to connect to xmms2d
    • ✓ show connect result not as a popup
  • ✓ Rewrite playerwidget.cpp. This file is huge and does a lot of strange stuff. It should be split in smaller parts:
    • ✓ Shortcut handling should be splitted out and use QShortcut instead.
    • ✓ Less direct access to the dialogs / other widgets. Rewrite to use more signals
    • ✓ When above is done the source should be reorganized so that dialogs and other windows are plugins to the main widget. It should register things like shortcuts and basic handling and then compile as a QPLUGIN, makes it easier to add new dialogs and not cludder playerwidget.cpp
      • ✓ convert streamingdialog
      • ✓ convert the about dialog
      • ✓ shortcuts from dialogs work
  • ✓ Split preferences dialog into preference manager / dialog.
    • ✓ Write the manager
    • ✓ Write the dialog
    • ✓ make sure the settings are at the right tab
  • ✓ closing the Esperanza window should not make the app quit, but minimize it to tray. perhaps this can be an option in the preferences dialog.
  • ✓ no entry in windowlist when tray icon is active.
    • ✓ no entry in windowlist for minimode too
  • ✓ add a setting, where you can choose between single- or double-click on the trayicon to show respectively hide the playerwindow.
  • ✓ add GlobalShortcut functionality for e.g. play <=> pause, next song, previous song, show <=> hide window
  • ✓ preferences dialog for direct access to xmms2d settings
  • ✓ let the user set the time the notification popup should appear