1. 18 May, 2019 1 commit
    • Michael Pyne's avatar
      Add 'override' decl to fix compiler warnings, fix drag-and-drop. · dc2d9c8e
      Michael Pyne authored
      This should shave off some 1,000+ warnings over the course of a build
      with GCC 9.1.
      
      This only addresses class declarations native to JuK, but Taglib and to
      a lesser extent Qt5 moc still have (or generate) code that can result in
      compiler warnings about suggested override declarations.
      
      In the process I noticed that an existing drag-and-drop support function
      (Playlist::decode) is no longer overriding Qt virtual functions, so it
      has been turned into an auxiliary function to fix existing drag-and-drop
      bugs from the KF5 port (tested by dropping files from Dolphin into a
      playlist view).
      
      Drag-and-drop from a playlist to another playlist (by dropping on the
      playlist name) still remains broken for now.
      
      CCBUG:392705
      FIXED-IN:19.04.2
      dc2d9c8e
  2. 20 Dec, 2018 1 commit
  3. 11 Nov, 2018 1 commit
  4. 23 Sep, 2018 1 commit
  5. 10 Feb, 2018 1 commit
    • Kacper Kasper's avatar
      Fix columns sorting. · cd8e9200
      Kacper Kasper authored
      Summary:
      QTreeWidgetItem in Qt5 requires overloading < operator to implement
      custom sorting. Use existing compare methods to do that.
      
      Additionally, natural sorting was implemented for strings.
      This allows to sort by filenames like file_<number>.
      
      BUG:389130
      
      Test Plan:
      Click on columns to sort them.
      Columns are sorted by artist, album and track number.
      
      Reviewers: mpyne
      
      Differential Revision: https://phabricator.kde.org/D10130
      cd8e9200
  6. 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
  7. 28 Jan, 2018 1 commit
    • Kacper Kasper's avatar
      Fix columns sorting. · 81c0dcc2
      Kacper Kasper authored
      Summary:
      QTreeWidgetItem in Qt5 requires overloading < operator to implement
      custom sorting. Use existing compare methods to do that.
      
      Additionally, natural sorting was implemented for strings.
      This allows to sort by filenames like file_<number>.
      
      BUG:389130
      
      Test Plan:
      Click on columns to sort them.
      Columns are sorted by artist, album and track number.
      
      Reviewers: mpyne
      
      Differential Revision: https://phabricator.kde.org/D10130
      81c0dcc2
  8. 07 Oct, 2017 1 commit
  9. 27 Aug, 2017 1 commit
  10. 26 Aug, 2017 4 commits
  11. 26 Jul, 2017 1 commit
  12. 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
  13. 21 Apr, 2012 1 commit
  14. 16 Jun, 2011 1 commit
  15. 09 Feb, 2009 1 commit
    • Michael Pyne's avatar
      local8Bit encodings scare me, so save the QString in the shared... · c052b2d9
      Michael Pyne authored
      local8Bit encodings scare me, so save the QString in the shared PlaylistItem/CollectionListItem metadata
      instead of converting to QByteArray (I don't really think utf-8 would help much since QStrings can buy us
      localeAwareCompare as well).
      
      Also use a standard Qt collection for our StringShare instead of a constant sized hash table.  Probably a
      better way to do this would be a simple cache that tracks how much each string is put in, not sure how much
      that would help though.
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=923583
      c052b2d9
  16. 13 May, 2008 1 commit
  17. 24 May, 2007 1 commit
    • Michael Pyne's avatar
      Fairly large overhaul of the JuK codebase to beat out a lot of the Qt 3 stuff. · 2c297413
      Michael Pyne authored
      Still a lot of Qt 3 code to go but at this point Q3ValueList, Q3Vector, Q3PtrDict and
      Q3Dict should all be gone.
      
      In addition many loops have been foreach()'ed, which really does make it more readable.
      
      There is a crash fix as well, now the polish() function in Playlist has been replaced
      with an initialization slot which is singleShot'ed since the timing of the polish event
      is apparently different than it was in Qt 3, which was making new Playlists crash when
      they were first shown.
      
      Also I went through almost every header and pared it down to the minimum reasonably
      achievable, which required some additional headers in a few .cpp files but overall
      compilation time should be down and you won't have to rebuild all of JuK just because
      a header file got touched.
      
      I haven't seen any regressions yet but then again I still can't play music either.
      
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=667815
      2c297413
  18. 18 May, 2007 1 commit
  19. 13 Jul, 2006 1 commit
    • Laurent Montel's avatar
      Q3CString-- · 88fbfd5f
      Laurent Montel authored
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=561786
      88fbfd5f
  20. 13 Mar, 2006 1 commit
  21. 26 Feb, 2006 3 commits
  22. 01 Sep, 2005 1 commit
  23. 26 Apr, 2005 1 commit
  24. 26 Feb, 2005 2 commits
  25. 23 Feb, 2005 1 commit
    • Scott Wheeler's avatar
      Ok, more than five hours late and coolo still hasn't turned me into a pumpkin. · 5fc3e83d
      Scott Wheeler authored
      I've been assured that this will happen in the morning, though after three hours
      of sleep, I think the effect would be natural.
      
      The moral of the story:  test features in apps you maintain before the day of the
      freeze.  (I knew that the play queue was broken, but not quite how badly -- this
      was mostly Michael's turf, but he's away for another few weeks.)
      
      Ok, so stuff that happened:
      
      Fixed the "magical not-showing-back-up" Play Queue (was related to saving the
      play queue, which even when set up properly just caused all sorts of crashes.
      Commented out for now, ideally to be reenabled in 3.4.1) -- #99191
      
      Fixed up a lot of the quirkiness with the interaction of the Play Queue and the
      rest of the application playlists.  This hopefully fixes #98473 (if not, just
      reopen)
      
      Double clicking on an item (anywhere) plays it immediately. #97021
      
      And the catch all, #88888, "this sucks" was mostly implemented.  Some of the things
      I took a different line on, but you got at least 3 of the 6.  The last two I don't
      agree with.  If you feel so compelled, open more specific requests from here on out.
      
      Basically this structurally changed things so that instead of adding items to the
      play queue when turned on and always using that as the main location for playing
      now the play queue is only used when there's stuff in it.  When it's empty again
      playing resumes in the list that the last item in the play queue came from.  It
      will jump back into the play queue as soon as something is added.
      
      This is still a little rough, but it doesn't crash all the time like it was before
      (fixed at least three crashes on this one) and is close enough to actually being
      releasable for me to now get a couple hours sleep.
      
      BUG:99191
      BUG:98473
      BUG:97021
      BUG:88888
      
      svn path=/trunk/kdemultimedia/juk/; revision=392533
      5fc3e83d
  26. 22 Feb, 2005 1 commit
  27. 21 Feb, 2005 1 commit
  28. 10 Nov, 2004 2 commits
  29. 09 Nov, 2004 1 commit
  30. 08 Nov, 2004 1 commit
  31. 02 Nov, 2004 1 commit
  32. 27 Sep, 2004 1 commit
    • Michael Pyne's avatar
      Implement bug 61340 (Add undo support for multi-tagging). · a64bdc6d
      Michael Pyne authored
      What this does is introduce a class that manages changes to PlaylistItems.  A number of PlaylistItems can be altered before the underlying files are changed.  Once the files are changed, a record is kept of the changes, which can then be used to undo what happened.  Also, this class takes care of items that are to be renamed.
      
      All code paths that are capable of altering a tag have been changed to use this class.
      
      Note that the underlying code could probably use some cleaning up.  e.g. adding a copy ctor to Tag instead of making a duplicateTag() function. ;-)
      
      I've tested this on a temp directory of copied music, so I'm pretty confident this all works and is safe.  However, you may want to test on a backup first to make sure it works on your system too. =D
      
      Now the question is whether I should backport this or not. :-/
      
      CCMAIL:61340-done@bugs.kde.org
      
      svn path=/trunk/kdemultimedia/juk/; revision=349640
      a64bdc6d
  33. 19 Aug, 2004 1 commit
    • Michael Pyne's avatar
      OK, here it is. This commit introduces a new feature to JuK, the upcoming · 37f111cd
      Michael Pyne authored
      playlist (which is currently easily the #1 requested feature).  Although
      there's still issues to be solved with it, it seems to work pretty well at this
      point, I've been running this code for a few days now.
      
      How it works so far:
      
      * You must enable it by selecting "Show Upcoming Playlist" from the View menu.
      * When the upcoming playlist is enabled, it takes over control of playback
        completely.  You can drag-and-drop tracks onto the playlist to add them to
        the end of the line, or you can use the context menu's Add to end of upcoming
        playlist entry.
      * If loop playback is disabled, then entries will be added to the end of the
        playlist as entries disappear.
      * Hitting Next (or double-clicking an item while a track is playing) will cause
        the currently playing track to disappear.  The History playlist doesn't play
        too well with the upcoming playlist yet, so if you want to keep the songs you
        played, you're better off making a normal playlist.
      * On that note, double-clicking a song will add it to the beginning of the
        queue and immediately start playing it.
      * Random play should work as normal.  If it doesn't, it's a bug.
      * When the list becomes empty, playback stops.
      * There is also a selection in the Settings menu, "Save Upcoming Tracks", which
        will save the current status of the upcoming playlist on exit.
      
      This is a rather sizeable re-organization/addition of code, so if you
      experience crashes/bugs in the next few days, PLEASE report them, and you can
      probably assume it's my fault. =D
      
      This feature will probably be tweaked over the next few days as well, but I
      wanted to get it out there for testing.
      
      I'm closing bug 63260 since this implements the feature.  If you'd like to
      quibble on the specifics, feel free to continue commenting on the bug, I'll add
      myself to the CC: list for it.
      
      CCMAIL:63260-done@bugs.kde.org
      
      svn path=/trunk/kdemultimedia/juk/; revision=338993
      37f111cd