1. 19 Oct, 2018 3 commits
    • Michael Pyne's avatar
      PlayerManager: Queue up next tracks instead of stop/play cycle. · f07d305e
      Michael Pyne authored
      I did this because I got annoyed about my own log messages about
      inhibiting/uninhibiting power management.
      
      This ultimately was because Phonon forces a stop and then restart
      sequence whenever forcibly changing the current media source, as we were
      doing to switch tracks.
      
      Phonon provides a way to queue up additional tracks to play when
      playback is about to end which keeps itself in a playing state. I use
      this method, which may also theoretically make gapless playback work.
      f07d305e
    • Michael Pyne's avatar
      PlayerManager: Move the start/restart handler where it belongs. · d5123cc6
      Michael Pyne authored
      This makes the playback handler that accepts a FileHandle on purpose a
      bit easier to think through.
      d5123cc6
    • Michael Pyne's avatar
      PlayerManager: Always perform setup on construction. · 387818ec
      Michael Pyne authored
      The only reason we couldn't perform setup on construction was because of
      some U/I setup code that couldn't happen when the player manager is
      normally constructed.
      
      But the U/I setup is simple enough to move to JuK, so do so. Now the
      rest of PlayerManager is that much simpler.
      387818ec
  2. 04 Oct, 2017 1 commit
  3. 30 Sep, 2017 1 commit
    • Michael Pyne's avatar
      Fix scratchy/choppy playback in phonon-gstreamer, refactor playback. · 6644a0aa
      Michael Pyne authored
      The simplifications needed for PlayerManager have the sideeffect of
      removing crossfade support for now (but that hasn't worked since KDE
      3...).
      
      Despite the churn to PlayerManager, the actual problem causing poor
      playback was that the position slider was syncing its GUI update
      straight back into PlayerManager::seek.  This affected phonon-vlc less
      for some reason but either way the output is now bearable :) :)
      6644a0aa
  4. 30 Nov, 2013 1 commit
    • Michael Pyne's avatar
      GIT_SILENT: Update source code license headers. · d969a0b4
      Michael Pyne authored
      Thanks to Eric Newberry (from Google Code-In) for running the heavy
      lifting on this.
      
      I made some other corrections since we're touching all the source
      anyways (e.g. fixing my email addresses), fixing the encoding of Richard
      Lärkäng's name, and I've also chosen to avoid the fancy box-shaped
      comments so that there's no issue with trailing spaces/tabs.
      
      REVIEW:114216
      d969a0b4
  5. 03 Sep, 2013 1 commit
    • Michael Pyne's avatar
      scrobbler: Change Scrobbler owner to be JuK, not PlayerManager. · 1fc69df5
      Michael Pyne authored
      PlayerManager will always emit a track changed signal, which means the
      Scrobbler will always have to receive it even if we're not scrobbling
      (my last change to avoid making network requests when not using last.fm
      broke this, it seems).
      
      Instead move the Scrobbler into the base application class where we can
      track whether scrobbling is enabled or not, and Do the Right Thing. I
      don't have a last.fm account so although this should still work (I
      think), I can't verify. I have verified that we at least don't crash
      anymore. Martin, can you double-check when you get a chance?
      
      FIXED-IN:4.11.2
      BUG:323703
      1fc69df5
  6. 20 Apr, 2012 2 commits
    • Alex Merry's avatar
      Fix notification of volume changes and seeks · 9f8851da
      Alex Merry authored
      Setting the volume in MPRIS would previously not update the volume
      slider; it now does.  The CanSeek property is also now always set
      correctly, and Seeked is emitted when appropriate.
      9f8851da
    • Michael Pyne's avatar
      Add more-accurate accessors for track length info. · 17dec63f
      Michael Pyne authored
      Our MPRIS implementation had an inaccurate length calculation because it
      was assuming it was working with units of ms from the PlayerManager but
      was in reality receiving seconds.
      
      Phonon does export ms though, and many other methods of PlayerManager
      work with ms. For the sake of consistency we add millisecond-based
      methods (add instead of replacing due to the existing methods being part
      of the public DBus API), which fixes the calculation as well.
      17dec63f
  7. 22 Feb, 2012 1 commit
    • Martin Tobias Holmedahl Sandsmark's avatar
      Add last.fm scrobbling support to JuK. · 62c3c0ae
      Martin Tobias Holmedahl Sandsmark authored
      No configuration GUI yet, you have to add a [Scrobbling] section to your jukrc,
      with a Username=foo and Password=bar field to make it work.
      
      Doesn't use liblastfm, because liblastfm doesn't support the latest last.fm API.
      
      FEATURE:
      CCBUG:262194
      
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1281560
      62c3c0ae
  8. 09 May, 2011 1 commit
    • Scott Wheeler's avatar
      Switch to Amarok's volume / track polition sliders. · 5487fcaa
      Scott Wheeler authored
      There's a lot that still seems wonky, but it seems to all be Phonon
      breakage that I can reproduce with the version pre-changeset.
      
      Specifically Phonon (or its backends) seem quite fickle about when
      they've decided that seeking is enabled.  The crossfading code seems
      to compound this, but again, this does not seem to be a regression
      from the previous code.
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1231011
      5487fcaa
  9. 26 Nov, 2009 1 commit
    • Michael Pyne's avatar
      Decouple PlayerManager from JuK so that it isn't a singleton. · c0204770
      Michael Pyne authored
      The major reason for this change is to allow for a saner destruct sequence
      (instead of the unordered global static destruct sequence) which will hopefully
      help reduce crash-on-shutdown bugs.
      
      This will not be in the upcoming KDE 4.4 beta but will be in the 4.4 release (assuming no
      bugs are found in it ;)
      
      CCMAIL:nlecureuil@mandriva.com
      
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1054429
      c0204770
  10. 23 Aug, 2009 1 commit
  11. 12 May, 2009 3 commits
  12. 06 Mar, 2009 1 commit
  13. 25 Jan, 2009 1 commit
    • Michael Pyne's avatar
      Crossing my fingers here but this refactor of the playback code seems to be... · 96995095
      Michael Pyne authored
      Crossing my fingers here but this refactor of the playback code seems to be working well in both phonon-xine
      and phonon-gst.  Crossfade only occurs when a song ends now while the change is abrupt when manually switching
      tracks because I'm evil (or awesome depending on how you see it).
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=916339
      96995095
  14. 20 Jan, 2009 1 commit
  15. 14 Jun, 2008 1 commit
    • Michael Pyne's avatar
      Really mostly fix bug 161168 (JuK crossfading is teh suck). · ff88f1ae
      Michael Pyne authored
      We cache the VolumeFaderEffect object and include it in the pipeline at all times.  What this does is allows
      the volume changing to go smoothly when we try to start changing the volume of our playing track.
      
      In addition phonon-gst crashes if I try to remove the fader effect afterwards and skips horribly if I don't
      cache the fader effect.
      
      Unfortunately phonon-xine suffers from crackling sounds with the fader effect left in the chain, so now
      phonon-gst is the best backend to use for JuK.  Both sound much better during the fading process though,
      although phonon-xine still suffers from initial high volume on the incoming song.
      
      This pretty much works for me now though, so I'm closing the bug.
      
      BUG:161168
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=820637
      ff88f1ae
  16. 18 May, 2008 1 commit
    • Michael Pyne's avatar
      Improve crossfading in JuK trunk to not sound like a catastrophe for the · e2ff1af4
      Michael Pyne authored
      first half second.  I think the order of inserting effects into the audio path
      has something to do with it, so I've reordered everything to be ready before
      starting the next track.
      
      In addition you shouldn't get huge volume jumps when crossfading rapidly and I've improved the memory
      allocation lifetimes.
      
      Unfortunately you still sometimes get a bit of high-volume at the beginning of the next track but I don't
      think that is juk's fault.
      
      CCBUG:161168
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=809464
      e2ff1af4
  17. 09 Aug, 2007 1 commit
  18. 01 Jul, 2007 1 commit
  19. 24 Apr, 2007 1 commit
    • Matthias Kretz's avatar
      - port to new API · ed7abcca
      Matthias Kretz authored
      - do crossfades on track change
      
      svn path=/branches/work/phonon-solid-sprint/kdemultimedia/juk/; revision=657524
      ed7abcca
  20. 12 Feb, 2007 1 commit
  21. 19 Sep, 2006 1 commit
  22. 10 Jul, 2006 1 commit
    • Matthias Kretz's avatar
      - compile agains trunk except for the systray breakage · 3ee5cdb7
      Matthias Kretz authored
      - deprecated -= a_lot
      - Player interface is not needed anymore use Phonon directly and make use of
        the tick and finished signals (no polling with QTimer anymore)
        -> the change is untested because of the systray compilation error
      
      svn path=/branches/work/bleedingedge/kdemultimedia/juk/; revision=560481
      3ee5cdb7
  23. 28 Jun, 2006 1 commit
    • Laurent Montel's avatar
      Port it · 75cfb03d
      Laurent Montel authored
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=555735
      75cfb03d
  24. 03 May, 2006 1 commit
  25. 27 Feb, 2006 1 commit
  26. 26 Feb, 2006 3 commits
  27. 01 Sep, 2005 1 commit
  28. 27 Apr, 2005 1 commit
    • Michael Pyne's avatar
      DCOP improvements. · 3a7cc4fb
      Michael Pyne authored
      * Access the track cover from DCOP (with a shortcut for the currently playing
        file). You can grab both the large and small size covers.
      * Provide a currentFile() shortcut accessor.
      * Get/set the random play mode.
      * The track properties for the currently playing item now are returned when
        the player is merely paused as well.
      
      FEATURE:97264
      FEATURE:99903
      
      svn path=/trunk/kdemultimedia/juk/; revision=408270
      3a7cc4fb
  29. 09 Jan, 2005 2 commits
  30. 09 Nov, 2004 1 commit
  31. 08 Nov, 2004 1 commit
  32. 09 Jul, 2004 1 commit