Skip to content
  • Marinus Schraal's avatar
    albumartcache: Rewrite · 47aa0765
    Marinus Schraal authored
    The former artworkcache was a monolithic method filled with callbacks,
    hard to debug and comprehend. It also left quite a bit for the caller to
    take care of.
    
    The current design is that Music has an Art object that is specific to
    one cairo.Surface or Gtk.Image (ArtImage) as requested. The Art object
    takes care of retrieving the correct image and emits a signal
    (cairo.Surface) or updates the Gtk.Image when done. This leads to less
    art related code in the views and widgets.
    
    The lookup process itself is now clearly divided into several steps:
    1. (Cache) libmediaart cache lookup
    2. (EmbeddedArt) local lookup
        1. tags (gstreamer)
        2. coverart in the directory (libmediaart)
    3. (RemoteArt) remote lookup through Grilo coverart providers
    
    Using a cairo.Surface in the Gtk.TreeView pixbuf renderer also allows
    for HiDPI art in SearchView.
    
    For simplicity and cleanliness, all art related calls have been removed
    from BaseView as they were unused and there is no plan to bring it back
    to BaseView.
    
    Closes: #65
    47aa0765