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
9e6199b108
UI: Fix table column duplication and other mess, due to saved application state
2021-10-02 00:40:10 -07:00
Christopher Snowhill
fdae7eec21
File info: Implemented support for Album Artist and Codec fields
2021-10-01 19:18:42 -07:00
Christopher Snowhill
217b3d4cf9
Attempt to clean up 10.13+ stuff with fallbacks to the old ways
2021-09-23 00:49:51 -07:00
Christopher Snowhill
922e657f0b
Context menu: Add option to reload metadata from existing playlist entries
2021-07-03 15:32:13 -07:00
Dzmitry Neviadomski
b69cb98240
Revert display regressions.
...
1. Revert "Merge pull request #148 from JanX2/two-gigaseconds-mini"
This reverts commit 7365174b11
, reversing
changes made to c5ac86725d
.
2. Revert "Two gigaseconds (#147 )"
This reverts commit c5ac86725d
.
2021-05-09 01:16:20 +03: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
Jan
c5ac86725d
Two gigaseconds ( #147 )
...
* Fix look of position time field to match the rest of the UI.
* Fix typo.
* Improve position time display.
* Add days, hours support to position time display.
* Fix "Current Time" toolbar item geometry/layout.
* Don’t enforce leading double-digits in position time display.
* MainMenu.xib touched by Xcode.
* Implement and use MonospacedDigitTextFieldCell.
This way the digits of numbers in playlist columns consisting of mostly digits will be aligned vertically.
* Disable font scaling code without effect.
* Set "Current Time" toolbar item to use MonospacedDigitTextFieldCell.
* Improve SecondsFormatter.
* Merge in SecondsFormatter improvements from Play.
* Move formatter setup into XIB.
* Add CogTests.
These can later be used for integration tests.
* Add SecondsFormatterTests.
Tests are stubbed out.
* Pouring foundation for SecondsFormatterTests.
* Implement -testPositive.
* Replace unsigned with int in SecondsFormatter.
* Implement negative support, tests.
* Rewrite SecondsFormatter in preparation for better readability..
* Rewrite SecondsFormatter for better readability.
* Add negative zero support.
* Improve SecondsFormatter readability.
* Refactor into -stringForTimeInterval: in SecondsFormatter.
* Cleanup.
* Mark TimeField as space-indented.
* Replace custom time formatting code in TimeField with SecondsFormatter.
* Cleanup.
* Improve SecondsFormatter format strings.
* Add internal type for time calculations.
Co-authored-by: Jan Weiß <jan@geheimwerk.de>
2021-05-06 19:50:26 -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
Dzmitry Neviadomski
85e27e7496
Rework playback shortcuts again.
2021-02-19 08:23:13 +03:00
Dzmitry Neviadomski
9840d87127
Convert CogStatus enum to NS_ENUM
2021-02-07 00:22:19 +03:00
Christopher Snowhill
583b8f3cb4
Hopefully fix Drag and Drop for everyone
2021-02-06 00:02:55 -08: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
Dzmitry Neviadomski
730276a7e7
Modernize DNDArrayController.
2021-01-28 01:09:09 +03:00
Dzmitry Neviadomski
a0afe85130
Fix deprecations with replacemnt and reindent touched files.
2021-01-27 05:30:19 +03:00
Christopher Snowhill
0a99093af0
Fix status bar bodge so stopping manually doesn't prevent playback for 3 seconds
2021-01-06 02:18:09 -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
072c4346cf
Fix album shuffle again
2019-12-15 18:12:11 -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
2ad9584fb2
Rejigger shuffle list generator for albums mode, to insert the current album at the start of the list, starting from the current track
2019-10-24 17:18:51 -07:00
Christopher Snowhill
c8f91c5092
Implemented album shuffle mode, which somehow wasn't implemented at all
2019-10-12 18:27:02 -07:00
Christopher Snowhill
39bc8df77c
Implement spacebar for play/pause and enter for restart current track for the mini window, and implement left/right arrows for seeking forward and backward for both the mini window and the main window playlist view.
2018-09-26 20:32:23 -07:00
Christopher Snowhill
6eeb8a60da
Add a safety check for attempting to add unsupported URLs.
2018-09-23 16:44:44 -07:00
Christopher Snowhill
505b8c3140
Fix playlist entry to return 0 length instead of NaN when metadata hasn't loaded yet.
2018-09-22 03:11:13 -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
Christopher Snowhill
54bd1db745
Ignore RepeatOne only when manually skipping tracks, not when playing normally.
2017-12-23 23:55:33 -08:00
Christopher Snowhill
524e161789
Track skip no longer gets stuck on the current track when in Repeat One mode.
2017-12-23 23:33:11 -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
ffa31e696d
Remove unused function declaration.
2016-06-28 19:33:21 -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
25236a254a
On second thought, let's not allow other repeat modes to wrap around the playlist boundary, either
2015-02-07 23:38:16 -08:00
Chris Moeller
321a5ea23f
Fix repeat none and repeat all being swapped
2015-02-07 23:36:23 -08:00