Skip to content
Commits on Jan 3, 2012
  1. Use pkg_resources to find Sonata's version

    This removes some magic dance between, sonata.version and sonata.genversion
    at the expense of having to run " egg_info" to know the version of Sonata.
    committed Jan 1, 2012
  2. Simplify the build process: don't over clean and be smarter about wha…

    …t to build
    "git clean -fdx" dos a good job, too, no need to do overwork.
    committed Jan 1, 2012
Commits on Jan 2, 2012
  1. Fix installation location of data files

    Merge branch 'fix-issue-5' into integration
    This fixes #5 ("Installer puts $installdir/share stuff in wrong place").
    committed Jan 2, 2012
Commits on Jan 1, 2012
  1. Install data files in a "share/" sub-directory instead of everything …

    …in the egg
    Previously, all data in `data_files` and `package_data` were installed along the Python's
    code, which might not be actually wanted (that's true at least for man pages for
    This tentatively fixes #5 ("Installer puts $installdir/share stuff in wrong place").
    Following an answer from PJ Eby at
    committed Jan 1, 2012
  2. Rename the method to find the path to an icon

    The previous name was *way* to broad and a bit confusing, if it wasn't
    only used to find icons...
    committed Jan 1, 2012
  3. Use pkg_resources to access icons files and store them in the egg.

    Now that icons are stored within the egg and that we can use pkg_resources
    to find them, this also remove a bunch of lines which wer trying to guess where
    was the icons.
    committed Jan 1, 2012
Commits on Dec 29, 2011
  1. Reindent file

    committed Dec 29, 2011
Commits on Dec 28, 2011
  1. Make cleaner accessing the MPD object

    Merge branch 'cleanup-mpd-object' into integration
    committed Dec 28, 2011
  2. Add support for logging module

    Merge branch 'logging-support' into integration
    committed Dec 28, 2011
Commits on Dec 27, 2011
  1. Add logging support

    Nearly all print/write operations have been turned into logging calls, except
    for the output of the cli module, which seems to be expected to be print as it.
    (ie. it's not a logging task, but a real print task)
    committed Dec 28, 2011
Commits on Nov 28, 2011
  1. @quite

    Go fullscreen by dbus

    quite committed with Nov 28, 2011
Commits on Oct 31, 2011
  1. Simpler and cleaner way to call a method on the MPD client

    Before, it was required to pass by the .call() method.  Now, we can call
    directly the command we are interested in, which is more convenient and much
    .call() is still availabl, since it has a "complex" logic inside, and used for
    two calls which only the MPD command to execute from a string as argument.
    committed Oct 31, 2011
  2. Cleaner interface to the MPD server

    There's still a lot of things to do:
    * remove the explicit call() method and implements __getattribute__
      instead to proxy the calls to the underlying mpd.MPDClient() object
    * rename the object MPDH into something nicer
    * implement a nice object to remove the crufty calls to mpdh.get():
      currsong() should return some more high level than now, which knows
      how to handle song information (adapter around the result of
    * try to remove the prevsonginfo/prevstatus/prevcon from
    committed Oct 15, 2011
Commits on Oct 19, 2011
Commits on Jun 26, 2011
  1. Add support to run tests (unittests & doctests)

    It currently uses the setuptools/distribute machinery to run the tests,
    but if we stick to running the 'run-tests' script to actually run the
    test, we can easily change the runner without too much interferences...
    committed Jun 27, 2011
Commits on Jun 22, 2011
Commits on May 25, 2011
  1. launcher: make the main launcher cleaner

    The launch script has been moved to the 'sonata' package, as the rest of the
    code, an put into a dedicated function, that is launch now by a very simple
    script at the top level. It will allow to 'import sonata' from the source
    repository and having the right behavior ('sonata' will by the package not the
    top level script).
    Additionnaly, Sonata now depends on setuptools/distribute to generate
    automatically a good startup script. Both the commited one and the one created
    by setuptools can be used.
    committed May 25, 2011
Commits on Jan 25, 2011
  1. lyrics: fetching lyrics from now works again

    The trick is to transform HTML entities, like '&lt;' into '<', so that we don't
    have to expect one or the other in the code, we always have the 'nicest'
    committed Jan 25, 2011
  2. lyrics: ask the lyrics plugin to force the retrieval of new lyrics

    Previously, this was done in the main module, which had to guess a bit how the
    lyrics system was working: the lyrics file had to be deleted before fetching the
    new lyrics, and the call to the function which located the lyrics file was
    This fixes the following error on fetching a song throught the "Search" button:
        Traceback (most recent call last):
          File ".../sonata/", line 221, in on_link_click
          File ".../sonata/", line 3242, in on_link_click
          File ".../sonata/", line 2214, in on_lyrics_search
          File ".../sonata/", line 534, in target_lyrics_filename
          File "/usr/lib/python2.6/", line 65, in join
            if b.startswith('/'):
        AttributeError: 'NoneType' object has no attribute 'startswith'
    Now, we let the lyrics system handle all of this, and we ask it to force the
    fetching, even if a lyrics file already existed.
    committed Jan 25, 2011
Commits on Sep 14, 2010
  1. main: withdraw_app_undo shows sonata on current workspace

    Fix not showing (or showing at strange position) sonata if it's not
    sticky ('Show window on all workspaces' option isn't set) and before
    clicking on tray icon sonata was not on the current workspace.
    Kirill Lashuk committed Aug 26, 2010
  2. multi-CD albums: prevent multiple entries, improve art search

    Improve handling of multi-CD albums:
     - revert 8cb4b55 that fixes the problem
       with showing multi-CD albums multiple times, but it breaks artwork
       caching for album view. As the album path is ignored we search artwork
       with path=None and as the result when Artwork.artwork_get_local_image
       is called with songpath=None it looks for artwork in the directory of
       current song. So all the albums get the same artwork and the art_cache
       is broken.
     - add Base.get_multicd_album_root_dir method to get album root directory
       for tracks from multi-CD albums. For example, if track is located in
       'artist/album/CD 2' directory than the method returns 'artist/album'.
       This method is used in artwork search algorithm (to look for artwork
       in album root directory but not in CD's subdirectory) and while
       populating album view (to merge all CDs into single album entry).
    Kirill Lashuk committed Jul 18, 2010
  3. fullscreen: hide cursor, add some space under the artwork

    Kirill Lashuk committed Jul 30, 2010
Something went wrong with that request. Please try again.