1. 20 Dec, 2018 1 commit
  2. 19 Dec, 2018 1 commit
    • Michael Pyne's avatar
      Move initial music load to a separate thread. · 3cf74c35
      Michael Pyne authored
      I ran into all the problems one might expect from adding threading to an
      old codebase but this variant seems pretty stable.
      
      The benefit is that the heavy I/O with large music libraries is now off
      of the GUI thread. So even though it will still take awhile to load all
      music until I fix the bug(s) with using cached tags, at least the
      application itself will be responsive while it loads audio.
      3cf74c35
  3. 19 Oct, 2018 1 commit
    • 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
  4. 29 Jun, 2018 1 commit
  5. 25 Mar, 2018 2 commits
    • Michael Pyne's avatar
      systray: Ensure quit from systray also saves config changes. · 30cd501f
      Michael Pyne authored
      KStatusNotifierItem's 'maybeQuit' function is more than happy to call
      qApp->quit directly even though the standard quit action is available to
      be triggered and would do the right thing.
      
      Qt documents you can use aboutToQuit to catch this case, and it does
      seem to work.
      30cd501f
    • Michael Pyne's avatar
      Simplify shutdown handling. · a951caf3
      Michael Pyne authored
      JuK would fail to shutdown properly under Plasma 5 when the system tray
      was disabled and you used the 'X' from the window manager title bar to
      try to close JuK.  May have failed under other WMs or desktops as well,
      I haven't tested that.
      
      The shutdown code hasn't been reworked since KDE 3 times and for all I
      know I introduced this bug with the setQuitOnLastWindowClosed setting in
      main.cpp years ago and never realized.
      
      But this way, any way you destroy the main application class (JuK), you
      end up shutting down.  Continuing to use setQuitOnLastWindowClosed
      appears to be necessary since Qt will remove the queued quit signal to
      qApp once JuK is destructed and I don't trust running qApp->quit within
      the JuK dtor itself.
      
      Hopefully this fixes a crash-on-quit bug, but if not just reopen and
      I'll figure it out somehow...
      
      FIXED-IN:18.04
      BUG:388663
      a951caf3
  6. 03 Mar, 2018 1 commit
  7. 10 Feb, 2018 1 commit
  8. 31 Jan, 2018 1 commit
  9. 07 Oct, 2017 1 commit
  10. 04 Oct, 2017 1 commit
  11. 02 Oct, 2017 2 commits
  12. 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
  13. 30 Sep, 2017 5 commits
  14. 30 Aug, 2017 2 commits
  15. 27 Aug, 2017 1 commit
  16. 26 Aug, 2017 6 commits
  17. 25 Aug, 2017 3 commits
  18. 27 Jul, 2017 1 commit
  19. 26 Jul, 2017 3 commits
  20. 27 Apr, 2014 1 commit
  21. 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
  22. 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
  23. 29 Jun, 2013 1 commit
    • Michael Pyne's avatar
      mpris2: Move DBus adapter creation until after GUI setup. · fa657b97
      Michael Pyne authored
      This helps a little bit with JuK freezing Plasma due to DBus deadlocks
      from synchronous calls being made between KStatusNotifierItem, its
      Plasma notification area counterpart, and the MPRIS2 adapter and its
      Plasma counterpart(s).
      
      Proper fix is async everywhere as far as I can tell.
      fa657b97
  24. 26 Jun, 2013 1 commit
    • Michael Pyne's avatar
      startup: Async-ify cached item loading on startup, add timers. · bf4df116
      Michael Pyne authored
      In an attempt to get rid of processEvents() (related to several existing
      crash bugs) I am trying to port the startup code towards more
      async-friendly schemes.
      
      There's no threading but we at least get back to the event loop much
      more frequently while loading files.
      
      Additionally I have added debug output with instrumentation to show how
      long it takes to advance through each step of the startup (I think this
      might be the first time anyone has understood JuK startup sequence in
      years).
      
      This leaves some essentially dead code with Cache (which no longer
      acts as a container), which I will try to cleanup in later commits.
      bf4df116