Commit Graph

95 Commits (main)

Author SHA1 Message Date
Christopher Snowhill b4e3c05c87 [Playlist Loader] Load files in the background
Load new playlist entries in the background, asynchronously.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-06 14:28:14 -07:00
Christopher Snowhill 44fb1efc73 [Play Info] Implement track rating system
The track ratings are stored in the same stats table as the play counts.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-28 01:59:36 -07:00
Christopher Snowhill 2c2a058126 Cog now requires macOS 10.13 as a minimum version
All optional fallback code for older versions has also been removed, and
everything now assumes 10.13.0 or newer. Some cases are still included
for point releases, such as 10.13.2.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-23 23:23:07 -07:00
Christopher Snowhill ecb30dd734 [Translation Support] Update strings a bit.
Update the strings, and remove the comments where they won't be used.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-18 16:10:18 -07:00
Christopher Snowhill a0761a41c9 [Playlist Metadata] Safety check for deletion
Apply a safety check in case the update comes for a deleted track.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 10:25:27 -07:00
Christopher Snowhill c7cd9b6daf [Playlist Metadata] Apply metadata correctly
Apply dynamic metadata update refreshes to the correct track index.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 10:24:45 -07:00
Christopher Snowhill 72c4dddf18 [Clipboard] Add textual data to clipboard on copy
The copy action now includes formatted text of the selected entries when
copying, in addition to the supported file and URL types.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-16 07:18:28 -07:00
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 f22a74ab3a [Translation Support] Fix several string constants
Several string constants were not fetching from the translation strings
table. Fixed this.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 13:34:57 -07:00
Christopher Snowhill 7cea254f4c Implement framework for dynamic metadata updates
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:21:53 -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 2165d37144 Metadata: Now supports disc number field where possible 2022-01-21 21:49:17 -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 217b3d4cf9 Attempt to clean up 10.13+ stuff with fallbacks to the old ways 2021-09-23 00:49:51 -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
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
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
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 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 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 67495009ff Updates for new build system. 2018-06-28 04:03:37 -07:00
Chris Moeller 17272ce43c Clean up lots of warnings and minor issues. 2016-06-29 22:10:29 -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 088594dc8c Implemented clipboard support for the playlist view 2013-10-12 22:08:34 -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 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
vspader 0da67249fc Fixed up playlist context menu.
Removed album/artist name from menu thanks to Fiona Apple and some clever person who thought it would be funny to shove the entire album name into the tag.
2008-03-11 23:31:19 +00:00
vspader dbfa0363de Some cleanup and fixes for the toggle menu. 2008-03-09 02:53:13 +00:00
vspader 3375e15a83 Queue is now a toggle. 2008-03-08 23:57:54 +00:00
vspader 569a3e79cc Fixed scrolling behaviour. 2008-03-04 01:14:51 +00:00
vspader 5346f0dbde Fixed font-size changing. 2008-03-04 01:00:09 +00:00
vspader 79cd625152 Changed year to an NSNumber. Fixed up taglib plugin. Tracks/Years with 0 now show up as nothing. 2008-03-04 00:43:47 +00:00
matthewleon 666d803897 Code cleanup. 2008-03-01 15:04:46 +00:00
vspader 6c5ecf3701 Updated PlaylistView so status column header is blank. 2008-03-01 02:48:12 +00:00
areff d59e118e1d Set default seek to 5, added menu separator to context menu, fixed silly wma crasher 2008-02-28 13:11:37 +00:00
areff 386078fdc5 Reworked contextual menu, added more menu validation items 2008-02-24 18:46:32 +00:00
vspader f451cd1712 Fixed playlist moving. 2008-02-24 15:47:04 +00:00
areff d2e95a50f8 Completely redesigned all menus, fixed crashers due to new PlaylistEntry structure, validated menu items, added menu entry for fading, synthesized playbackStatus, updated KnownIssues 2008-02-23 22:20:14 +00:00
areff 86f691b769 Fixed removing queued songs, hooked File Tree icon up to correct method toggleWindow. 2008-02-23 20:08:27 +00:00
vspader c31eae4541 Performance improvements for the status column. 2008-02-23 13:57:33 +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 fe331624f5 Added status column with playing and queued status support. 2008-02-22 02:19:46 +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 08a4bbe08e Fixed my own sillyness in scroller code - needs fixing. 2008-02-18 19:37:32 +00:00
areff ad5ac13a9c Bound Scroll to currently playing to Command-L (iTunes). Changed the code slightly so that the currently playing song is also automatically selected when you scroll to it. Ten playlist entries will also be visible above it, to create some space. 2008-02-18 19:21:50 +00:00
matthewleon 678f6e2dbb Eliminated SpotlightPlaylistView, which is redundant for the time being. 2008-02-18 10:28:24 +00:00
matthewleon a02859a3fc Moved rowHeight binding of PlaylistView from IB into code. 2008-02-18 10:21:34 +00:00