1. 01 Aug, 2014 4 commits
  2. 30 Jul, 2014 2 commits
  3. 28 Jul, 2014 4 commits
  4. 25 Jul, 2014 3 commits
    • Nicholas Little's avatar
      Dap: not purge at disconnect & virtualize load (bgo#732634) · ba87f8c8
      Nicholas Little authored
      For DAP sources where metadata is difficult or costly to extract
      (i.e. Bluetooth, as it's a much slower medium), it is useful to
      keep the old metadata around to allow for speedy track enumeration
      in the cases where files are still present.
      
      To allow for those cases this patch:
      
      - Adds two new virtual methods, PreLoad() and PostLoad(), which
      allow subclasses to customise behaviour at those times
      (Bluetooth extension will override PreLoad() avoiding the purge
      of tracks; and will probably add caching strategies to both
      methods).
      - Removes calls to PurgeTracks() and PurgeTemporaryPlaylists()
      from the Dispose() method, which is called when the device is
      disconnected/ejected.
      
      For sources that don't take advantage of this new functionality,
      this shouldn't actually result in a change of behaviour (it is
      true that the track records will not be deleted from the DB when
      the device is disconnected; but this deletion will occur when
      the device is connected again anyway, at PreLoad() via
      PurgeTracks() and at Initialize() via PurgeTemporaryPlaylists(),
      like it used to happen.)
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      ba87f8c8
    • Andrés G. Aragoneses's avatar
    • Andrés G. Aragoneses's avatar
      CoverArt: display embedded artwork even if tags missing (bgo#692107) · b2f8cbb1
      Andrés G. Aragoneses authored
      Most MetadataProvider classes cannot retrieve cover art if there
      is no album name information in the track because they get retrieve
      the metadata from online sources. However, there is a provider which
      does it locally: EmbeddedMetadataProvider.
      
      In this case, the restriction about album name being known doesn't
      really apply, so let's move this restriction to the online providers
      and remove it from the more generic MetadataService and CoverArtJob
      classes.
      b2f8cbb1
  5. 22 Jul, 2014 3 commits
  6. 21 Jul, 2014 1 commit
  7. 18 Jul, 2014 1 commit
  8. 17 Jul, 2014 5 commits
  9. 16 Jul, 2014 4 commits
    • Andrés G. Aragoneses's avatar
      TrackInfoDisplay: consistenly choose a color for both line layouts · b0aa779d
      Andrés G. Aragoneses authored
      The Pango.Layout objects 'first_line_layout' and 'second_line_layout'
      were being assigned a colour in different ways, which could be a bit
      confusing (the latter was using <span color="xyz"> markup, the former
      was using Cairo.Context.SetSourceColor() API), so let's use markup
      in both cases.
      
      This commit changes behaviour, but doesn't (shouldn't) produce a
      different rendering result in any way.
      b0aa779d
    • Andrés G. Aragoneses's avatar
      TrackInfoDisplay: proper mid color for 'from' and 'by' (bgo#732898) · 25fec2bc
      Andrés G. Aragoneses authored
      The mid-color between the default text color and the background color
      of the widget was not being calculated properly because the background
      color obtained for the TrackInfoDisplay widget was the same as the text
      color. This behaviour must have changed recently in GTK3, but what we
      are sure about is that using the Parent's reference colors we get the
      proper colors again (probably because the parent of this widget would
      be a ToolItem, inside a Toolbar, which has its background color surely
      defined, compared to TrackInfoDisplay widget which is implemented in
      the Banshee codebase.
      25fec2bc
    • Andrés G. Aragoneses's avatar
      TrackInfoDisplay: proper fix for not bold but invisible text (bgo#732838) · d3994e49
      Andrés G. Aragoneses authored
      OnStyleUpdated() was in charge of filling the color fields of
      TrackInfoDisplay class with values, but it could happen that
      these colors were retrieved before OnStyleUpdated() hadn't been
      run yet even once, which resulted in a black color, but all
      transparent (alpha=0). The way to fix it is make the colors be
      properties that query the proper value on demand if the value
      had not been set yet, or is resetted.
      
      Thanks to Bertrand Lorentz for the heads up about the hint of
      what was really going on badly.
      d3994e49
    • Andrés G. Aragoneses's avatar
      Revert "ThickClient: workaround for invisible (instead of bold) text (bgo#732838)" · aa9abcda
      Andrés G. Aragoneses authored
      This reverts commit f3f9c330
      because it was just a workaround, and we have found the proper
      fix.
      aa9abcda
  10. 10 Jul, 2014 2 commits
    • Marcin Kolny's avatar
      Fixup: added an informative column (bgo#732339) · 21bf04cb
      Marcin Kolny authored
      This column may be useful so other extensions that use the
      MetadataFixer can give more info about the track being fixed
      (current solvers of this extension can fix many tracks per
      row, so this may not be useful for them, because using just
      a cell to show information about more than one track may be
      ugly; but the solvers being developed in b-c-e mostly add
      one-fix-per-track solvers, therefore the HasTrackDetails
      property will be marked as FALSE by default, but virtual,
      so derived classes can override it).
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      21bf04cb
    • Marcin Kolny's avatar
      Fixup: fixed selecting option values (bgo#732993) · c61da216
      Marcin Kolny authored
      Instead of adding to a list new length of text, sum of previous and
      current text was added. That causes widening range of next option values.
      Because of that, it was impossible to select e.g. fifth (or further)
      value.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      c61da216
  11. 08 Jul, 2014 1 commit
  12. 07 Jul, 2014 1 commit
    • Andrés G. Aragoneses's avatar
      ThickClient: workaround for invisible (instead of bold) text (bgo#732838) · f3f9c330
      Andrés G. Aragoneses authored
      After several hours attempting to find a reduced testcase for this
      problem (which appears to be somewhere deeper in the stack: pango,
      cairo, or gtk), I've found this harmless workaround that actually
      makes the first line of text (in TrackInfoDisplay class) be more
      consistent with the second line of text (the latter already wrapped
      other markup elements with a wider <span> element using the default
      text colour).
      
      The TextColor and BackgroundColor properties seem to have wrong
      values though (both black, rgb#000000), compared to the stable
      branch (GTK2), but that will be tracked in a different bug, because
      it is unrelated to this issue.
      f3f9c330
  13. 06 Jul, 2014 1 commit
  14. 05 Jul, 2014 2 commits
  15. 28 Jun, 2014 2 commits
    • Andrés G. Aragoneses's avatar
      ThickClient: refactor BaseClientWindow · 058413c3
      Andrés G. Aragoneses authored
      * No need for a ctor of an abstract class to be public.
      * Remove unneeded 'using' clauses.
      * The ConfigureWindow() method was protected virtual but:
      - Nobody was overriding it.
      - Nobody was calling it.
      So now it can be private and non-virtual, and we can encapsulate
      some logic in it related to window configuration (previously it
      was empty).
      058413c3
    • Andrés G. Aragoneses's avatar
      ThickClient: add null check in SourceView (bgo#732373) · c841c1d8
      Andrés G. Aragoneses authored
      This at least avoids Banshee crashing in the stable branch,
      although doesn't seem to fix the root of the problem.
      c841c1d8
  16. 23 Jun, 2014 1 commit
  17. 22 Jun, 2014 1 commit
  18. 19 Jun, 2014 2 commits
    • Nicholas Little's avatar
      Hardware: Add DeviceChanged signal for Dap.Mtp (bgo#729438) · 5a5cb823
      Nicholas Little authored
      To use an MTP device, we must unmount it and release the connection that
      Gvfs makes. Prior to this patch, banshee considered two possible device
      events, added and removed so unmounts had to be covered by the latter
      case, causing MTP devices to be unmapped as they were being configured.
      
      This patch allows the state transition to occur with the assumption that
      the device is still physically present and allows devices which don't
      present a Mount in their VolumeAddedArgs to be recognised when their
      Mounts do become available. This has the added benefit that further down
      the line, we can add sources for yet-to-be-configured devices providing
      the user with setup or error handling instructions.
      
      As a test: without this patch, a Nexus7 device would not be recognized
      by Banshee when connecting it to a laptop running Ubuntu 14.04.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      5a5cb823
    • Nicholas Little's avatar
      Gio: refactor creation of RawVolume · 73691ef0
      Nicholas Little authored
      Creation of RawVolume instance is done in the same way in
      several places, so we can extract a method where we do
      a sanity check over the volume_device_map dictionary search.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      73691ef0