Commit graph

147 commits

Author SHA1 Message Date
Christopher Snowhill
a4c3509e75 Playlist View: Refresh entire rows on status changes to refresh tooltips 2022-01-20 15:51:24 -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
684951bdc0 Change a bunch of NSArray declarations to const collection literals 2022-01-18 18:12:57 -08:00
Christopher Snowhill
74cd0f7da9 SQLite playlist store: Greatly improved performance of playlist sync operations 2022-01-14 22:42:57 -08:00
Christopher Snowhill
8a91bc1d09 Playlist loader: Allocate larger properties dictionary 2022-01-11 19:35:59 -08:00
Christopher Snowhill
7fe67b1630 Implement dock icon progress bar indicator for many processing operations, including adding tracks, removing tracks, and loading or reloading track metadata 2022-01-09 02:10:08 -08:00
Christopher Snowhill
b40b506cc3 Remove unneeded header import 2022-01-07 02:16:55 -08:00
Christopher Snowhill
00052130a0 Revert ea589b2635, and fix reloading info for entries on Intel, by invoking the reloader in the background instead of directly calling it from the UI thread 2022-01-07 02:12:49 -08:00
Christopher Snowhill
ea589b2635 Playlist loader: No longer do background metadata reading on Intel machines, where VGMStream mysteriously clobbers the stack at random when run in the background 2022-01-07 01:35:59 -08:00
Christopher Snowhill
098650099e Fix SQL playlist loader so it doesn't crash on an empty playlist 2021-12-25 16:42:28 -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
5df4035568 Brought back background metadata and file info loading, still needs a progress indicator somewhere 2021-05-07 17:19:10 -07:00
Christopher Snowhill
13bd399b31 Clean up most warnings and update some dependencies 2021-04-29 18:16:24 -07:00
Christopher Snowhill
ce8a1c230d Fix Playlist Loader so it only attempts to process track info for tracks that need it, and not the entire playlist every time 2021-04-06 16:50:17 -07:00
Christopher Snowhill
59477130bb Get rid of background tag loading, as it never worked properly anyway 2021-02-25 02:42:44 -08:00
Christopher Snowhill
0f543a1b52 Guard background file info retrieval to prevent it in case only a single entry was added 2020-02-17 19:50:32 -08:00
Christopher Snowhill
7308aa5f7b Fall back on non-container file parsing, since VGMStream is too greedy with its extension list 2020-02-17 19:50:32 -08:00
Christopher Snowhill
61c6cf3285 Hopefully fixed metadata parsing for newly added tracks showing up in notifications 2019-12-05 19:04:46 -08:00
Christopher Snowhill
4c955ef806 Simplify metadata loader 2019-11-08 15:03:26 -08:00
Christopher Snowhill
6eeb8a60da Add a safety check for attempting to add unsupported URLs. 2018-09-23 16:44:44 -07:00
Christopher Snowhill
d9529d04a8 Fix refreshing table values when adding tracks to the playlist. 2018-09-22 03:10:44 -07:00
Christopher Snowhill
0513639842 Tidy up playlist info loader a bit. 2018-07-22 02:00:30 -07:00
Christopher Snowhill
67495009ff Updates for new build system. 2018-06-28 04:03:37 -07:00
Christopher Snowhill
d14d69e3c4 Correctly invalidate playlist view's data when background metadata loader completes. 2018-05-23 00:34:22 -07:00
Christopher Snowhill
3b8e498e7f Fix total time display on startup, when all metadata is correctly loaded. 2018-05-23 00:32:47 -07:00
Christopher Snowhill
200701a2a3 Fix playlist info loading threading magic. 2018-02-18 20:19:18 -08:00
Chris Moeller
1b1721736e Fix PlaylistLoader to sort the contents of directories by the file path. 2017-12-16 19:05:17 -08:00
Christopher Snowhill
bf501d9e12 Add error receiver for debugging. 2017-09-17 20:03:30 -07:00
Christopher Snowhill
ac44ca33b0 Hopefully fixed total play time synchronizing with adding new tracks to the playlist. 2016-09-01 17:20:53 -07:00
Chris Moeller
86a6b2c22d Fix playlist metadata loading. 2016-07-02 02:58:38 -07:00
Chris Moeller
0d12f9e4e3 Fix file info load batching to operations of 16 files at a time. 2016-06-29 22:13:32 -07:00
Chris Moeller
17272ce43c Clean up lots of warnings and minor issues. 2016-06-29 22:10:29 -07:00
Chris Moeller
7876a4492f Handle background track metadata loading in a saner manner. 2016-06-28 19:33:48 -07:00
Chris Moeller
03b825ced3 Hopefully fix the last of the Automatic Reference Counting issues that remained. 2016-06-19 12:57:18 -07:00
Chris Moeller
ba9fe0534f Convert playlist metadata loader to use code blocks, which fixes references and stops crashes on adding new tracks. 2016-05-07 10:20:46 -07:00
Chris Moeller
0e3644177e Updated everything else to ARC, and plugged a release cycle. 2016-05-05 13:05:39 -07:00
Chris Moeller
12dc73430b Last minute bug fixes 2014-12-03 22:34:13 -08:00
Chris Moeller
0ccc0f4dae Fixed XML playlist saving on Yosemite 2014-09-16 18:27:14 -07:00
Chris Moeller
3b8b948a1e Playlists are now saved as they have been rearranged in the UI 2013-10-18 00:43:55 -07:00
Chris Moeller
2c8f085a3d Clear the selection when adding items to the playlist, so that the info dialog will hopefully have some valid data next time a track is selected 2013-10-15 10:38:37 -07:00
Chris Moeller
e6a2773e8a XML playlists will no longer store metadataLoaded for files where an error occurred 2013-10-12 17:20:57 -07:00
Chris Moeller
e5a648578b mamburu: Logging improved, no more excessive logging in release builds 2013-10-11 05:03:55 -07:00
Chris Moeller
8d19b2538a XML playlist now stores and loads the playback queue 2013-10-10 01:43:04 -07:00
Chris Moeller
7d6cfe50df Prevent XML playlists from being saved by the GUI 2013-10-10 00:39:35 -07:00
Chris Moeller
754a22166a XML playlists now store album art in an MD5 hash indexed dictionary, but continue to read the older format for backwards compatibility 2013-10-09 16:14:23 -07:00
Chris Moeller
555ccc9e87 Now storing all album art internally as its original format and synthesizing NSImage objects on demand 2013-10-09 13:53:13 -07:00
Chris Moeller
d1e51ee9a1 We shouldn't be releasing objects that belong to something else 2013-10-09 11:51:41 -07:00
Chris Moeller
1743016e71 Fixed serialization of FilePlaylistEntry; Added serialization and unserialization of album art 2013-10-09 10:34:32 -07:00
Chris Moeller
b5fd1207b8 Now saves and loads the default playlist in an XML plist format, so loaded metadata is cached 2013-10-09 08:45:16 -07:00
Chris Moeller
ec0e45381e Cleaned up most of the warnings, eliminated use of deprecated APIs, and fixed the hotkeys crashing. 2013-10-03 01:00:58 -07:00
mscott
11352ab6de Enhancements to File Tree (contextual menu, sort order, etc.).
Added File Tree contextual menu (Add to Playlist, Show in Finder, etc.).
File Tree and additions to play list now use Finder sort order.
File Tree Root can be set via its popup menu or drag and drop from File Tree.
Alias names are now shown in File Tree (aliases are still resolved).
Added option to skip reading of cue sheets when adding a folder to play list.
2009-08-16 11:49:34 -05:00
vspader
7cbebef352 Fixed up metadata loading so metadata isn't always read when you play. 2009-03-05 20:46:42 -08:00
vspader
d6a0b0670e Playback events for last.fm and growl are now done in the background via an operation queue. Removed hack to load metadata for autoplay. Now metadata is reloaded for each file you play. 2009-03-05 20:37:44 -08:00
vspader
bbd2c6c7f6 Always accept non-file URLs into the playlist. 2009-03-04 22:56:52 -08:00
vspader
6525d593f2 Fixed indentation. 2009-02-28 22:03:27 -08:00
vspader
03937f480b Cleaned up modified add behavior. 2009-02-28 14:22:33 -08:00
vspader
3b9d20fdc5 Fixed sorting for non-0 padded files. 2009-02-28 09:41:37 -08: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
23124f7792 Fixed bug when play on add is enabled and the playlist is empty. 2008-05-04 22:29:02 +00:00
vspader
10669a2db3 Added preference for begin playback on add and clear on add. 2008-05-03 16:01:27 +00:00
vspader
345e57698f Cog now begins playback and clears the playlist when adding songs. 2008-05-03 15:15:45 +00:00
vspader
fe3fd5cb21 Added file tracking to file playlist entries using filerefs. 2008-03-13 01:43:33 +00:00
vspader
16ccf5622d Fixed issues with big big playlists. 2008-03-04 00:35:20 +00:00
vspader
9af41d7542 A few taglib fixes. Reads id3v2 before ape for mp3 files. Added AutoReleasePool to backgrounded method. 2008-03-03 03:26:19 +00:00
vspader
cf46d16a56 Remove concurrency! Mwahaha! Also, moved updateTotalTime so it's done after all operations. Now it's actually usable while loading time. 2008-03-03 02:25:52 +00:00
vspader
276176a80c Updated playlistLoader to be CONCURRENT! Mwahahaha!
total time is now automatically updated by observing PlaylistController.arrangedObjects.length
2008-03-03 02:09:56 +00:00
matthewleon
92be178bf2 Playlist entries are now processed on main thread. 2008-03-02 10:51:37 +00:00
matthewleon
d84a12d596 Hack to fix display of newly added songs (no idea why this is should be necessary, maybe something wrong with KVO). 2008-03-01 19:56:10 +00:00
matthewleon
8dee65b8b6 Small threading memory leak fix. 2008-03-01 18:38:47 +00:00
matthewleon
4168bb43eb Redid threading for reading file info and metadata. Still a bit buggy. 2008-03-01 18:29:14 +00:00
matthewleon
666d803897 Code cleanup. 2008-03-01 15:04:46 +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
vspader
b15e4f626a Moved most enumerators to fast enumeration. 2008-02-20 00:54:45 +00:00
vspader
eeba50f6e1 Cleaned up PlaylistEntry. 2008-02-20 00:44:40 +00:00
vspader
010f7de448 Added [audioPlayer volume].
Tweaked the volume control a little.
2008-02-13 01:50:39 +00:00
vspader
e2b40fe1a3 Added move operation to DNDArrayController. Streamlined undo. 2008-02-10 19:35:58 +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
e78a961fa3 Fixed playlist loading bugs. 2007-10-20 03:22:13 +00:00
vspader
d82fdcbf62 Bug fixes from 0.07 branch. 2007-10-19 02:23:10 +00:00
vspader
7582bbef02 Updated file drawer so it expands containers. 2007-10-16 01:22:57 +00:00
vspader
bc212f3e96 Fixed bugs dealing with multi-track files and playlist saving/loading.
Fixed problem where cue sheets would play static.
2007-10-15 22:19:14 +00:00
vspader
7494f04511 Added fix where containers were not checked for uniqueness. 2007-10-14 20:36:10 +00:00
vspader
f1b9141f4b Added mime type support. 2007-10-14 18:12:15 +00:00
vspader
6f6b01b15c Fixed bug where playlist saved as kss files.
Fixed bug where multi-track files were consolidated into a single entry on saving/loading a playlist.
2007-10-13 04:53:48 +00:00
vspader
88aecc7de2 Added AudioContainer plugin and made pls and m3u loaders that use it. 2007-10-09 01:20:46 +00:00
vspader
daba91b462 Removed debugging messages. 2007-07-11 01:20:32 +00:00
vspader
1b1b353204 Fixed up playlist-as-file loading. 2007-05-28 14:58:08 +00:00
vspader
5b5ce493e3 PlaylistLoader now handles playlist files like directories, and simply expands them. Makes sure only unique URL's are added! 2007-05-27 16:14:29 +00:00
vspader
c28e8d058d Fixed up menu items.
Added OpenURL panel.
2007-05-26 14:43:31 +00:00
vspader
cf39353358 Fix for windows backslashes in relative paths in playlists. 2007-05-24 03:49:43 +00:00
vspader
79934e0607 Fix for some playback issues (low frequency files). 2007-05-16 01:06:23 +00:00
vspader
0b54a1a6a5 Fix for windows newlines. 2007-03-21 01:36:31 +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
94201b5a4f added basic scanner for loading pls files. 2007-03-07 01:45:45 +00:00
vspader
043c150abd Added playlistloader class. 2007-03-07 01:26:50 +00:00