Commit Graph

56 Commits (3eca088cc757b3f0ddfe29eb70957383be722350)

Author SHA1 Message Date
Christopher Snowhill 4c95c943ef [Playlist Storage] Rewrite to use Core Data
Completely rewrite the playlist storage once again, this time with a
much faster Core Data implementation. It still uses a little magic for
Album Artwork consolidation, but string consolidation doesn't seem to be
needed to reduce the disk storage size. Works much faster than my silly
implementation, too.

Old implementations are still kept for backwards compatibility with
existing playlists.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-16 07:14:33 -07:00
Christopher Snowhill 92573ec088 [Job Queue] Overhauled long action handling
Long actions, such as file opening, playlist loading, metadata loading
and refreshing, etc, are now handled through NSProgress. Additionally,
a new status bar change displays the progress of the task instead of
the total duration of the playlist. Finally, app quit is blocked by a
running task, and if the app is quit while a task is running, it will
be delayed until the task completes, at which time the app will
terminate cleanly.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-15 01:01:45 -07:00
Christopher Snowhill 5411a60ea1 Added option to remove tracks to the trash
Fixes #23

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 21:35:13 -08:00
Christopher Snowhill 64c4aa2e25 Handle deleting the current track gracefully
Now it should flow playback correctly to the next remaining track after
the block of deleted tracks. And if the user deletes the next queued
track, it will still be queued to flow past the deleted block. If the
user undoes their deletes and restores the tracks, playback will resume
after the originally deleted track.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-09 21:04:17 -08:00
Christopher Snowhill 85c7073649 Reformat my own source code with clang-format
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 21:49:27 -08:00
Christopher Snowhill 2b4de1033d Playlist View: Replace Cell-based table with View-based table. It needs some work still, though. 2022-01-20 14:59:26 -08:00
Christopher Snowhill 2445cc94a9 - Retrieve profile paths properly instead of hard coding
- Display playlist total duration in units up to weeks and down to just seconds, and only pluralize units as necessary
- Major change: Implemented a SQLite disk backed playlist, track data, and queue storage system, which will be synchronized from the player in real time, and will hopefully survive system or app crashes. Existing plist playlist will be imported on first run, and removed on shutdown.
2021-12-24 01:01:21 -08:00
Christopher Snowhill 922e657f0b Context menu: Add option to reload metadata from existing playlist entries 2021-07-03 15:32:13 -07:00
Christopher Snowhill 13bd399b31 Clean up most warnings and update some dependencies 2021-04-29 18:16:24 -07:00
Dzmitry Neviadomski c1da9a66e1 Modernize several classes.
Use modern ObjC syntax.
Use new Pasteboard APIs.
Explicitly declare protocols.
2021-01-31 02:14:08 +03:00
Chris Moeller 17272ce43c Clean up lots of warnings and minor issues. 2016-06-29 22:10:29 -07:00
Chris Moeller 9cd138384d Setting Repeat One will now direct all synthesizing decoders to run forever, rather than merely restarting repeatedly. Playptmod now cuts off length detection after half an hour, in case some files' loops are not detected. 2014-02-13 21:16:18 -08:00
Chris Moeller 7a9e4a720c Added Remove Dead Items command 2013-10-18 00:14:53 -07:00
Chris Moeller 2d5f340011 Added Remove Duplicate Items command 2013-10-18 00:13:27 -07:00
Chris Moeller 759aeab4fb Implemented pause on startup 2013-10-12 19:16:47 -07:00
Chris Moeller 521eb67183 mamburu: Randomizing playlist is now undoable, adding playlist entry no longer causes un-randomization 2013-10-11 12:33:58 -07:00
Chris Moeller 25bf55459e Silenced some warnings 2013-09-29 17:27:55 -07:00
vspader 7819210b96 Added interface for shuffle albums mode. 2009-03-09 21:04:46 -07:00
vspader 03937f480b Cleaned up modified add behavior. 2009-02-28 14:22:33 -08:00
vspader df2fa22a93 Shuffle/Repeat are now remembered. 2009-02-28 10:06:21 -08:00
vspader c902c96a19 Fixed shuffle images. 2009-02-27 22:40:50 -08:00
lmsilva dda74d0608 fixed seek slider from becoming active & disabling it when STOP occurs 2008-11-21 15:14:23 +00:00
vspader f53bfc861d Side pane say what? 2008-06-21 04:05:30 +00:00
vasfed e063790e93 Updated APL plugin to use new protocol
Added support for behavior modifiers on addition/opening of files
Added Command+Control as modifier for open/enqueue
2008-05-09 21:24:49 +00:00
vspader 3375e15a83 Queue is now a toggle. 2008-03-08 23:57:54 +00:00
vspader 671d7021ae Added Current Entry Object controller to fix issue with currently playing not being updated when loading. 2008-03-02 20:03:22 +00:00
areff 771a6de380 Added Stop after Current, hooked it into Ctrl-Z for now, for lack of anything better (it needs to be easily accessible one way or the other), added image to signify status by adding a little red square to the play icon. 2008-02-25 15:39:04 +00:00
vspader 588fa5ddc6 Modified total time to also used arrangedObject observing. 2008-02-24 17:32:50 +00:00
vspader a10898f4c9 Index column is now set by observing arrangedObjects instead of the updateIndexesFromRow method. 2008-02-24 17:16:19 +00:00
vspader 7109dec4ad Some playlistentry cleanup. 2008-02-23 19:46:23 +00:00
areff e3216e0ef1 Added Remove from Queue right click menu item, still lacks validation. Updated KnownIssues. 2008-02-22 15:26:46 +00:00
areff 184525a47a Implemented Repeat All through NSPredicate and filtering, method should be applicable when Shuffle is fixed too. 2008-02-21 19:14:20 +00:00
areff 8bff745c38 Implemented Add to Queue as choice in Right click menu, added Clear Queue to Playlist menu. 2008-02-21 07:30:28 +00:00
areff f20b10fdd4 Most of the Repeat logic is in place (needs some brush up here and there). Still missing Repeat Album. Disabled some annoying debug output from MADDecoder. Updated KnownIssues. 2008-02-19 19:59:35 +00:00
vspader ae4c112076 Fixed up repeat menu and added back repeat album. 2008-02-19 04:02:05 +00:00
vspader 8434f6e3b3 Added RepeatTransformers with the beginnings of support for the repeat modes. MenuItems's reflect the repeat state (yet do not work to set the state yet), and the repeat button toggles w/images as expected.. 2008-02-19 03:39:43 +00:00
matthewleon abf2da423d Implemented UI elements necessary for right-click search by artist/album. 2008-02-16 16:13:21 +00:00
matthewleon 387015db22 Eliminated annoying flicker in Spotlight interface. Made tiny tweaks to PlaybackController and PlaylistController header to eliminate compiler warnings. 2008-02-14 23:09:51 +00:00
vspader 37820a586d Fixed up undo/redo support. Should be working great now. 2008-02-10 22:46:12 +00:00
vspader e2b40fe1a3 Added move operation to DNDArrayController. Streamlined undo. 2008-02-10 19:35:58 +00:00
vspader 299285f0cd Changed undo/redo menuitems back to firstResponder. Modified PlaylistView to validate undo/redo items. 2008-02-10 17:13:30 +00:00
areff 9b05ce02d2 Added undo functionality in playlist, undo works for removals, moves and adds. 2008-02-10 16:16:45 +00:00
vspader 20dd4930ee Fixed up menus. Still need to correct a few actions. 2007-05-26 14:09:03 +00:00
vspader 4ed575f475 Moved PlaylistEntry number variables over to NSNumber. Removed displayIndex and lengthString, using formatters instead. Fix bug with autosaving playlist. 2007-03-14 02:28:30 +00:00
vspader 15f1aa2ebd Cleaned up code. Added PlaylistLoader class properly, with support for m3u and pls formats. Changed default playlist to m3u. Added bugs GALORE! 2007-03-09 01:16:06 +00:00
vspader 59b42286e5 Click index column to remove sort descriptor. Added sort by path connection. 2007-02-18 22:27:55 +00:00
vspader e919340f6d Column resizing 2006-05-29 22:23:56 +00:00
sryegkahl aea620374c Removed a superfluous (redundant) function I wrote for revision 172 2006-05-24 18:09:44 +00:00
sryegkahl a430aff269 "Show in Finder" feature for track files (right-click menu). 2006-05-23 15:12:24 +00:00
vspader eb290c0cd9 Entries loaded in new thread, no delay at startup 2006-05-12 14:34:59 +00:00