Permalink
Commits on Sep 22, 2009
  1. Merge branch 'sb/rhapsody'

    bebarino committed Sep 22, 2009
  2. lyricwiki: workaround shutdown of lyricwiki web API

    tuukka authored and bebarino committed Sep 22, 2009
    Ported to replace original lyricwiki support.
Commits on Sep 21, 2009
  1. album-covers: replace amazon.com with rhapsody.com cover fetching

    bebarino committed Aug 27, 2009
    As of August 15th, 2009 amazon.com requires all requests sent to their
    server to be signed with the private key corresponding to the public key
    being used. Since we're an open source project we cannot do this without
    exposing the private key. Therefore switch to using rhapsody.com's
    webservice.
  2. Sonata 1.6.2.1

    bebarino committed Sep 21, 2009
    This is a bugfix release with patches cherry-picked and backported for
    the pre-plugin framework.
  3. album-covers: replace amazon.com with rhapsody.com cover fetching

    bebarino committed Sep 19, 2009
    As of August 15th, 2009 amazon.com requires all requests sent to their
    server to be signed with the private key corresponding to the public key
    being used. Since we're an open source project we cannot do this without
    exposing the private key. Therefore switch to using rhapsody.com's
    webservice.
    
    Backported for 1.6.2
  4. info: workaround removal of lyricwiki web API

    bebarino committed Sep 19, 2009
    Lyricwiki removed support for the web API to access lyrics. This
    workaround screen scrapes the website instead of using the API.
    
    Backported from patch by Tuukka Hastrup <Tuukka.Hastrup@iki.fi>
  5. fix cpu spike, tooltips missing in library search results with gtk 2.…

    Scott Horowitz authored and bebarino committed Jun 21, 2009
    …16.2
  6. fix bug #15722: library icons change after adding stream to playlist

    Scott Horowitz authored and bebarino committed May 25, 2009
  7. use album art style appropriately in library treeview; update style i…

    Scott Horowitz authored and bebarino committed May 25, 2009
    …n library treeview when art style changed in prefs
  8. info: Fix a bug where songs with no date tag are missing from album

    bebarino committed May 3, 2009
    Songs with no date will return the empty string when queried but
    library.library_get_data() will return 'None'. This makes it so the
    default value of date is None for the song.
  9. info: Sort track listing of an album to fix occasional unorderedness

    bebarino committed Apr 30, 2009
    Tracks weren't being sorted by track number. If on your filesystem you have
    an album with filenames that don't have track numbers in them the album
    listing will be out of order. Fix this by sorting the tracks returned by
    album_return_artist_and_tracks().
  10. library: Fix a bug where a duplicated album is labeled various artists

    bebarino committed Apr 26, 2009
    When checking for various artists, we don't check the actual artist
    tags. It's possible that a user has two copies of some song, or even an
    entire album, in their music library. In this case we would wrongly
    label the album as various artists.
    
    Note this doesn't fix listing the songs in the album twice. We believe
    duplicates are an error in the library.
  11. Fix window positioning weirdness when unwithdrawing from systray

    Scott Horowitz authored and bebarino committed Apr 26, 2009
  12. fix library sorting when adding, e.g., albums to playlist

    Scott Horowitz authored and bebarino committed Apr 25, 2009
  13. info: don't crash when a stream has no tracks

    bebarino committed Aug 4, 2009
    update_album() would cause Sonata to crash when playing a stream with
    artist and album metadata. The call to album_return_artist_and_tracks()
    would rightly return None and None for the artist and tracks because the
    stream is non-local. To avoid this reorganize the checks to make sure
    there are tracks to display in the album info. Otherwise just display
    "Album info not found." and be done with it.
  14. info: don't expand labels when album is large

    bebarino committed Jul 5, 2009
    When the album is clicked to be large, the song info labels would be
    evenly spaced out due to the default gtk.EXPAND|gtk.FILL yoptions.
    Change the labels' yoptions to be gtk.SHRINK to fix this regression.
  15. better accommodate artwork for multiple albums with same name

    Scott Horowitz authored and bebarino committed Jul 4, 2009
  16. fix cpu spike, tooltips missing in library search results with gtk 2.…

    Scott Horowitz authored and bebarino committed Jun 21, 2009
    …16.2
  17. playlists: appending and replacing of playlists from the library

    bebarino committed Jun 19, 2009
    Allow the user to append and replace songs from within the library tab
    in addition to the usual current tab. This makes it easier to build
    "misc" playlists without requiring users to add songs to the current
    tab first.
    
    Inspired by a patch from Boris Grozev <nsfist@gmail.com>
  18. update it.po

    Scott Horowitz authored and bebarino committed Jun 19, 2009
  19. info: split up widgets_initialize()

    bebarino committed Jun 7, 2009
    Make a function for each logical piece of the info tab. This means a
    function is created for song info, lyrics, and album info. Use a
    dispatcher style to call these new functions.
  20. info: add toggle_more() to set more button text

    bebarino committed Jun 7, 2009
    Don't abuse the on_link_click logic to set the text of the more button.
    Instead split out that functionality into another function and use that
    new function when you initialize. No more storing temporary stuff and
    setting it back later.
  21. info::widgets_initialize() use a table instead of hboxes

    bebarino committed Jun 7, 2009
    Using a table we don't have to use us.set_widths_equal() and we gain the
    advantage of having gtk take care of sizing for us.
  22. info: split up update()

    bebarino committed Jun 7, 2009
    Make a new function to clear the info pane. Split the update function up
    over the song info, lyrics, and album info pieces.
    split off clear function
    
    Note: we don't need to special case clearing the lyrics in clear,
    because we can clear if it's not visible too.
  23. info: use a dict instead of a list of types to labels

    bebarino committed Jun 7, 2009
    Instead of having a list to map "album", "artist", etc. to labels, just
    use a dictionary with keys being the "album", "artist", etc.
  24. info: don't store callbacks that are only used locally

    bebarino committed Jun 7, 2009
    Some callbacks were only being used to set signals of the imagebox.
    Instead of storing these in self, just use them directly and then forget
    about them. Also we store the image in self, although it isn't used so
    just set that directly too.
  25. info: remove info_ prefix from helper functions and members

    bebarino committed Jun 7, 2009
    It's no fun to say Info.info_* all the time. We know we're talking about
    the info stuff so just remove the info prefix.
  26. info: refactor info_update()

    bebarino committed Jun 7, 2009
    Return early if we can so we don't have nested if statements. Use the
    power of str.join() and list comprehensions. All callers of info_update
    in main.py were never using the blank_window and skip_lyrics, so just
    remove those arguments. Also the bitrate was in a try catch for
    keyerrors, so just replace that to use dict.get() and check the status
    for non None.
  27. info: refactor target_lyrics_filename()

    bebarino committed Jun 7, 2009
    Lookup the arguments in a dictionary, instead of an if else statement.
  28. info: minor refactorings and style cleanups

    bebarino committed Jun 7, 2009
    Various fixes and cleanups:
     - Don't need () in if statments
     - Simplify imagebox setup
     - Search and edit label is only needed in one path of info_show_lyrics
     - a callback is unused in __init__ so remove it
  29. main: Set preferences callbacks once

    bebarino committed Jun 6, 2009
    Instead of setting the preferences callbacks every call to
    on_prefs_real(), just set the callbacks in the classes once. Also,
    instead of passing instances, pass nothing and have the preferences code
    pull the classes from the global scope.
  30. main: Use a gtk.VolumeButton instead of a custom one

    bebarino committed Jun 6, 2009
    Using a gtk.VolumeButton significantly cuts down on the lines of code
    needed to support this one button. We can remove callbacks to hide the
    scrollwindow, and gain the advantage that it actually hides whenever a
    mouse click is made outside the scrollwindow.
    
    Finally, we can simply emit the scroll event from the egg status tray
    directly to the button and have it work correctly.
  31. main: minor refactorings

    bebarino committed Jun 6, 2009
    Simplify an if statement to just return the return value. Simplify the
    random and repeat button callbacks.