1. 01 Nov, 2004 1 commit
  2. 28 Oct, 2004 1 commit
  3. 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
  4. 01 Sep, 2004 1 commit
    • Michael Pyne's avatar
      Add new file removal dialog, with the major feature being that the Delete... · c88279a3
      Michael Pyne authored
      Add new file removal dialog, with the major feature being that the Delete button is no longer the default.
      
      Also, the big warning icon is bigger, with bold text around the "permanently removed" part. ;-)
      
      Just for the hell of it I threw in a number of files selected label, after beating my head on KDialogBase for 5 hours or so. :-(
      
      Files are still moved to the trash instead of being deleted at this point, as I will probably tweak this some more tomorrow.
      
      svn path=/trunk/kdemultimedia/juk/; revision=343130
      c88279a3
  5. 25 Aug, 2004 1 commit
  6. 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
  7. 03 Aug, 2004 1 commit
    • Scott Wheeler's avatar
      Don't use the external TRM tool but instead use libtunepimp since it handles · 4f3950ab
      Scott Wheeler authored
      these things internally.  This keeps JuK from spawning loads of TRM processes,
      makes it such that it's not using the TRM tool (which wasn't ever intended for
      application use), gives an appropriate place to change the string for
      when the server is under heavy load (but wasn't touched because of the string
      freeze) and will make it easy to only popup one dialog at a time (that will
      come tomorrow).  No strings were added or changed, though some were moved
      around.
      
      CCMAIL:66721-done@bugs.kde.org
      CCMAIL:65219-done@bugs.kde.org
      CCMAIL:86413@bugs.kde.org
      CCMAIL:79652@bugs.kde.org
      
      svn path=/trunk/kdemultimedia/juk/; revision=335381
      4f3950ab
  8. 22 Jun, 2004 1 commit
    • Michael Pyne's avatar
      * Implement drag-and-drop retagging of songs while using the tree view... · 52a5fbe0
      Michael Pyne authored
      * Implement drag-and-drop retagging of songs while using the tree view playlist mode, fixing bug 62307.
      * In the process, I've found many instances where updating a tag sometimes wouldn't update a search playlist, and so I've fixed all those bugs I could find.
      
      Drag-and-drop retagging only works dragging songs onto the Artist, Album, or Genre subitems, however I still find it pretty useful.
      
      CCMAIL:62307-done@bugs.kde.org
      
      svn path=/trunk/kdemultimedia/juk/; revision=322682
      52a5fbe0
  9. 13 Jun, 2004 1 commit
  10. 03 Jun, 2004 1 commit
    • Scott Wheeler's avatar
      Make the status bar work again by adding a PlaylistObserver class / pattern · 7c48ba7a
      Scott Wheeler authored
      to the playlistinterface.h file that can be subclassed by things that want
      to track playlist changes using the generic API.
      
      This also allowed removing a fair bit of cruft that was being thrown around
      by signals in the Playlist class hierarchy.
      
      This should be split up into two types of updates -- one for track changes
      and another for data changes, but it was convenient in the first go to
      roll them into one.  Splitting them up should be pretty trivial.
      
      svn path=/trunk/kdemultimedia/juk/; revision=317251
      7c48ba7a
  11. 02 Jun, 2004 1 commit
    • Michael Pyne's avatar
      Add "export to K3b" support to JuK. · f7cc5737
      Michael Pyne authored
      * You can select songs from your playlist and export them to K3b.
      * You can export an entire playlist to K3b as well.
      * The feature is accessible from the appropriate context menus.
      * The feature won't be visible on the menu unless K3b is in your PATH.
      * K3b will be started if it's not already running.
      * If no project is open in K3b, JuK will prompt you to select either an audio CD project or a data CD project. Otherwise the songs are added to the current project.
      
      Watchers of bug 56465 will be interested in this commit.  CD Ripping hasn't
      been started yet, so the bug will remain open.  Also, K3b isn't "integrated"
      into JuK, JuK simply tells K3b where to find the files, and you still use K3b
      as normal to burn the CD.  Still, this is very useful IMHO.
      
      CCMAIL:56465@bugs.kde.org
      
      svn path=/trunk/kdemultimedia/juk/; revision=316931
      f7cc5737
  12. 01 Jun, 2004 1 commit
    • Scott Wheeler's avatar
      Ok, big cleanups essentially implimenting the stuff that has been in the · 08f5d033
      Scott Wheeler authored
      TODO for a while:
      
      *) Ditch the PlaylistSplitter class mostly in favor of the PlaylistCollection
      *) Move to a more linear class interaction path rather than having PlaylistSplitter
         as an ugly thing trying to mediate between a bunch of unrelated classes
      *) Rely more heavily on the global action collection and try to instantiate actions
         in the classes that they're related to
      *) Remove a few dozen dirty hacks
      *) Got rid of about 250 lines of code in the process
      
      There are still a couple of outstanding issues but since my home internet connection
      has decided that it doesn't like me at the moment and people are waiting on these
      changes for further work I'm committing.  Stuff that still needs to be done (I'll
      likely finish this tonight and commit it at work tomorrow):
      
      *) Create the Artist / Album / Genre playlists in the Tree View Mode.  This is
         essentially easy, it just requires sticking a new constructor in and making sure
         that it works.
      *) Make it so that the HistoryPlaylist is properly instantiated and shown when its
         asked for
      *) Make sure that the status bar is updated with the current playlist information
      *) Create dynamic playlists on multiple select
      
      While that sounds like quite a bit that's really just a little bit of work, but
      managing such a huge patch set off-line is getting rather tedious and most stuff
      works now.  I should have a patch for the rest tomorrow.
      
      svn path=/trunk/kdemultimedia/juk/; revision=316735
      08f5d033
  13. 10 Apr, 2004 1 commit
  14. 07 Apr, 2004 1 commit
    • Scott Wheeler's avatar
      Moved a couple of the classes over to FileHandle rather than just passing · 87ee0948
      Scott Wheeler authored
      around string based file names.  Moved the static methods for creating
      a Player instance from Player to PlayerManager.  Removed play() and back()
      from the JuK class since they belong in PlayerManager.  For the moment
      this means the "back history" doesn't work.
      
      svn path=/trunk/kdemultimedia/juk/; revision=301959
      87ee0948
  15. 08 Mar, 2004 1 commit
  16. 29 Feb, 2004 1 commit
    • Scott Wheeler's avatar
      Adding the basics for an explicitly shared "filehandle" class that can be · efe46cbb
      Scott Wheeler authored
      passed around in the JuK API without breaking encapsulation boundaries in
      all sorts of ugly ways (like passing around playlistitems does).
      
      Eventually the cache will be moved over to caching these items rather than
      tags since this allows the flexibility of not being strictly connected to
      in-file meta-data.
      
      svn path=/trunk/kdemultimedia/juk/; revision=292622
      efe46cbb
  17. 27 Feb, 2004 1 commit
  18. 23 Feb, 2004 1 commit
  19. 14 Feb, 2004 1 commit
  20. 28 Oct, 2003 1 commit
    • Scott Wheeler's avatar
      Bye bye to another couple of files. Moved the code around a little bit · 7489c264
      Scott Wheeler authored
      and moved what I needed from cached tag into the base tag implementation.
      
      Basically this goes with the idea to not keep around the TagLib::File object
      after reading is done, but to create new ones as they're needed since this
      is not very often.
      
      svn path=/trunk/kdemultimedia/juk/; revision=262752
      7489c264
  21. 27 Oct, 2003 4 commits
  22. 26 Oct, 2003 1 commit
    • Maks Orlovich's avatar
      Reduce memory usage by roughly a 1/3rd, by: · 3ae66fab
      Maks Orlovich authored
      1. Reove a redudndant copy of the file path in CachedTag
      2. Try to get multiple copies of the same text to use the same
      underlying data object more often.
      3. Don't let QString get too pre-allocation happy.
      
      svn path=/trunk/kdemultimedia/juk/; revision=262331
      3ae66fab
  23. 24 Oct, 2003 1 commit
  24. 16 Sep, 2003 1 commit
  25. 06 Sep, 2003 3 commits
  26. 09 Aug, 2003 1 commit
    • Scott Wheeler's avatar
      Adding the beginnings of a "history" playlist. · a98d11ef
      Scott Wheeler authored
      TODO:
      
      *) Save and restore the history -- this will be handled at the same time
         that saving and restoring of vfolders happens
      *) Fill in the details of the subclass to add things like making it read
         only and saving a date along with the items
      
      svn path=/trunk/kdemultimedia/juk/; revision=241664
      a98d11ef
  27. 31 Jul, 2003 1 commit
  28. 07 Jun, 2003 1 commit
  29. 02 Jun, 2003 1 commit
  30. 07 May, 2003 1 commit
  31. 05 May, 2003 2 commits
  32. 02 May, 2003 1 commit
    • Stephan Kulow's avatar
      cleanups · 37d3612d
      Stephan Kulow authored
      svn path=/trunk/kdemultimedia/juk/; revision=223517
      37d3612d
  33. 18 Apr, 2003 1 commit
  34. 09 Apr, 2003 1 commit