1. 20 Oct, 2018 1 commit
    • Michael Pyne's avatar
      systray: Make SHIFT+Mousewheel change the volume, not the song. · e2012e79
      Michael Pyne authored
      This fixes a bug that recently hit its 8 year anniversary. :(
      
      The big issue was that there was no easy way to tell which keyboard
      modifiers were set for the systray since Qt's event loop didn't actually
      receive the keyboard events.
      
      There's a separate function you can call, queryKeyboardModifiers, which
      makes a specific query to the desktop, and works even if Qt event loop
      didn't receive keyboard events. This fixes the bug here, and hopefully
      for everyone else.
      
      In fixing the bug I noticed that we can set out-of-bounds volumes due to
      lack of checking, so I fixed that too.
      
      BUG:250355
      FIXED-IN:18.08.3
      e2012e79
  2. 19 Oct, 2018 4 commits
  3. 02 Sep, 2018 1 commit
  4. 06 Mar, 2018 1 commit
    • Michael Pyne's avatar
      mpris: Don't toggle playback with "Pause". · 57457aee
      Michael Pyne authored
      We already have a separate playPause action for this, both in the MPRIS2
      DBus adaptor, and in PlayerManager.
      
      This also fixes playback resuming when the computer is suspended (Plasma
      sends the "Pause" command to each media player regardless of whether
      it's playing, and JuK incorrectly treats that as a request to toggle
      playback).
      
      BUG:381271
      FIXED-IN:18.04
      57457aee
  5. 03 Feb, 2018 1 commit
    • Michael Pyne's avatar
      Bring back a visual indication of the playing item. · 0dd849ec
      Michael Pyne authored
      Turned out to be surprisingly more difficult than I thought, so
      hopefully no additional bugs.
      
      In particular some Phonon backends seem to insert a trip to a
      StoppedState when changing the MediaObject's current source, so I had to
      find a way around that to be able to call Playlist::stop() from
      PlaylistCollection (which is what actually clears the visual indication
      when playback stops).
      0dd849ec
  6. 31 Jan, 2018 1 commit
  7. 04 Oct, 2017 1 commit
  8. 01 Oct, 2017 1 commit
    • Michael Pyne's avatar
      Remove Kdelibs4Support. · 1e3b90b8
      Michael Pyne authored
      This required a wide assortment of fixes, including deleting
      needless #include <koldfoo.h> headers, some minor additional porting
      tasks, and adding in includes that were previously only implicitly
      included.
      1e3b90b8
  9. 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
  10. 29 Sep, 2017 1 commit
    • Michael Pyne's avatar
      Port away from KUrl. · aa3fc5d1
      Michael Pyne authored
      This removes KUrl from most (but not all) files and throws in minor
      other assorted cleanups that I didn't want to split off into a separate
      commit.
      aa3fc5d1
  11. 27 Aug, 2017 1 commit
    • Michael Pyne's avatar
      Fix 'trying to add empty file warnings'. · 7fe64d10
      Michael Pyne authored
      Finally backtraced it... to a signal handler for PlayerManager.  Turns
      out we get the Stopped state with an old state of Loading after all,
      which was being handled in the else block which assumed
      buffering/playback, and tried to read a (null) FileHandle as a result
      since nothing was actually playing.
      7fe64d10
  12. 26 Aug, 2017 2 commits
  13. 25 Aug, 2017 1 commit
  14. 24 Apr, 2016 1 commit
  15. 10 Oct, 2014 1 commit
    • Michael Pyne's avatar
      player: Handle Phonon-generated pause actions. · 93f4535f
      Michael Pyne authored
      It seems we can get into a Phonon pause state without going through
      JuK's own pause-specific code path. With this patch I can watch KMix
      receive pause events on MPRIS2 with phonon-vlc.
      
      Based on a patch by James Smith that has been languishing in a review
      request. My apologies for the delay! Some whitespace fixes as well.
      
      If there's an open Juk bug for this please let me know and I'll review
      it. I'm closing/CC-ing the one bug I see that might be relevant, which
      couldn't be reproduced earlier (and shouldn't be reproduceable after
      this change).
      
      REVIEW:118754
      BUG:290689
      93f4535f
  16. 13 Feb, 2014 1 commit
  17. 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
  18. 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
  19. 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
  20. 24 Feb, 2012 2 commits
  21. 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
  22. 31 Jul, 2011 1 commit
  23. 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
  24. 21 Feb, 2010 1 commit
  25. 20 Feb, 2010 1 commit
    • Markus Slopianka's avatar
      · de6eb1a0
      Markus Slopianka authored
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1093436
      de6eb1a0
  26. 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
  27. 30 Oct, 2009 1 commit
  28. 29 Oct, 2009 1 commit
  29. 20 Sep, 2009 1 commit
  30. 23 Aug, 2009 1 commit
  31. 17 Aug, 2009 1 commit
  32. 17 Mar, 2009 1 commit
  33. 06 Mar, 2009 2 commits
    • Michael Pyne's avatar
      Remove unused code · 27e2d387
      Michael Pyne authored
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=935734
      27e2d387
    • Michael Pyne's avatar
      Make the "2 MediaObject" Phonon playback work better in the face of the NowPlaying applet. · 08967e3c
      Michael Pyne authored
      (Long story, but suffice to say that JuK forcing the applet to poll for the current position
      becomes a problem when the applet's position slider moves, causing a seek() call over DBus,
      which will (if the position requested is not the same as the current position due to the poll
      lag) skip to the next track if it happens while crossfading).  Stopping crossfading shouldn't
      have caused that effect so that's a JuK bug, now fixed.
      
      Also use prefinishMark in order to control when crossfading will happen.
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=935733
      08967e3c