1. 23 Mar, 2021 2 commits
    • Michael Pyne's avatar
      ced3ffb6
    • Michael Pyne's avatar
      Improve track sequencing by removing the track sequencing classes. · 6aef3be8
      Michael Pyne authored
      This removes one of my first contributions to JuK :(
      
      But it's worth it because the extra code is not worth the complexity,
      seeing as how the job is really pretty simple in the first place, even
      with album random play and randomized playback.
      
      I believe this also fixes some bugs, including some longstanding ones.
      Bug 417551 (being unable to drag and drop into Play Queue) had some
      related work in a recent commit but was still broken until now.
      
      BUG:100356
      BUG:166711
      BUG:302250
      BUG:303901
      BUG:336637
      BUG:353259
      BUG:404157
      BUG:417551
      FIXED-IN:21.04
      6aef3be8
  2. 21 Mar, 2021 1 commit
  3. 23 Feb, 2021 1 commit
    • Michael Pyne's avatar
      clazy: Fix most remaining warnings. · 288c69eb
      Michael Pyne authored
      I'm not going to worry about non-POD statics in an application, and I
      can't fix the Q_PROPERTY warnings in Phonon. Other than that, all
      default clazy warnings should be gone now.
      
      Of note is the tagtransactionmanager.cpp setFile call, which is not just
      a warning but an actual bug (good job clazy!).
      288c69eb
  4. 06 Feb, 2021 1 commit
  5. 10 Sep, 2020 1 commit
  6. 27 Dec, 2019 1 commit
  7. 02 Sep, 2019 1 commit
    • Michael Pyne's avatar
      Ensure CollectionList cache is saved on shutdown. · d4dc1bee
      Michael Pyne authored
      JuK caches its list of collection list items for re-use on subsequent
      startup, to reduce the time needed to wait for Taglib to rescan music
      files that have been previously scanned (and presumably have not changed
      outside of JuK). It also records the list of playlists on shutdown, including
      playlists which are not accessible as M3U files.
      
      Shutdown behavior has long been problematic for JuK as a Qt5 app due to
      a) poor coding and b) changes in how close/quit event handling has
      evolved since it's roots in KDE 3. I made some attempt at cleaning this
      up with commit a951caf3, but that bug
      fix fell short, as it did not ensure that JuK caches the collection and
      records the list of playlists.
      
      Most users would experience this as "merely" a performance hit on
      startup.
      
      The fix is to ensure the caching/state-saving code is called (as part of
      GUI class destructors) by destructing the PlaylistSplitter class, which
      had almost been working prior to a951caf3.
      
      I did not see a directly applicable bug report.
      
      CHANGELOG:Speedup JuK restarts by fixing bug preventing collection data from being saved on shutdown.
      FIXED-IN:19.08.2
      d4dc1bee
  8. 18 May, 2019 1 commit
  9. 20 Dec, 2018 1 commit
  10. 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
  11. 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
  12. 29 Jun, 2018 1 commit
  13. 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
  14. 03 Mar, 2018 1 commit
  15. 10 Feb, 2018 1 commit
  16. 31 Jan, 2018 1 commit
  17. 07 Oct, 2017 1 commit
  18. 04 Oct, 2017 1 commit
  19. 02 Oct, 2017 2 commits
  20. 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
  21. 30 Sep, 2017 5 commits
  22. 30 Aug, 2017 2 commits
  23. 27 Aug, 2017 1 commit
  24. 26 Aug, 2017 6 commits
  25. 25 Aug, 2017 3 commits