Christopher Snowhill
5330295a97
Fix array bounds issues with album shuffle builder
...
The shuffle list builder was encountering errors when some album tags or
empty album tags led to empty lists.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 01:14:42 -08:00
Christopher Snowhill
df63726128
Track properties take priority over metadata read from tag readers
...
This allows inputs to override things with self-read tags and such, such
as ReplayGain tags.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-09 21:26:17 -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
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
b927f4c02b
Replace more NSDictionary use with literals
...
Use literals to initialize fixed NSDictionary objects in various places.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 19:56:04 -08:00
Christopher Snowhill
6120fce40a
Metadata: Fix length field on track reloading
...
This fixes the dynamic length field not updating correctly after a track
info reload, which breaks the seekbar when reloading the current track.
Fixes #227
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 03:03:39 -08:00
Christopher Snowhill
95fb65527f
Playlist Entry / SQLite: Add channel config field
...
Add channel config field to PlaylistEntry and the SQLite backing store.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 01:11:30 -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
6d9f1be7ea
Playlist Controller: Stop when deleting current
...
When deleting the currently playing track, stop playback, because the
player engine doesn't like dealing with the current playing track not
actually having a playlist reference to go with it. Better stop playback
instead, as a safety check.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-04 19:54:43 -08:00
Christopher Snowhill
85fd3836c0
Debug logging: Added logging of playback and tags
...
Added a logging method that indicates starting playback of a given URL,
and added a debug build only logging of every metadata load event.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 16:34:43 -08:00
Christopher Snowhill
2541633c17
Playlist Entry: Display full URL for remotes
...
For Playlist Entries that are not File URLs, return the full absolute
URL for path queries, so the playlist path column will show the full
URL instead of a useless reduced path string.
Fixes #214 .
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:11:14 -08:00
Christopher Snowhill
d8b16e44c7
SQLite Store / Drag and Drop: Now correctly store changes made by dragging playlist entries around to the database
2022-01-24 06:07:13 -08:00
Christopher Snowhill
8e5c62f185
Info Inspector: Now displays ReplayGain info as tooltip for status text
2022-01-22 20:44:06 -08:00
Christopher Snowhill
b54b10861b
Playlist View: Enable column text tightening before truncation
2022-01-22 15:03:30 -08:00
Christopher Snowhill
5bf5830b17
Info Inspector: Now displays ReplayGain tag presence
2022-01-21 23:49:07 -08:00
Christopher Snowhill
9bfc51cbf4
Info Inspector: Add field to display whether a track has an embedded CUE Sheet
2022-01-21 23:19:32 -08:00
Christopher Snowhill
0c4d5002f6
Metadata: Now supports storing cuesheet tags and encoding quality status properties
2022-01-21 22:38:54 -08:00
Christopher Snowhill
2165d37144
Metadata: Now supports disc number field where possible
2022-01-21 21:49:17 -08:00
Christopher Snowhill
bde3f552d9
Drag and Drop: Fixed jank with dragging, especially undo and redo
2022-01-21 16:11:24 -08:00
Christopher Snowhill
391fc474f3
Drag and Drop: Made DND undo possibly less janky
2022-01-21 15:00:27 -08:00
Christopher Snowhill
297b7b2909
Playlist View: Fix default sorting and playlist refreshing, which fixes playlist search bugging out
2022-01-21 00:16:29 -08:00
Christopher Snowhill
0f90dd3b3e
Playlist View: Support undoing and redoing Drag and Drop operations within the playlist
2022-01-20 21:48:23 -08:00
Christopher Snowhill
c07b268288
Playlist View: Adjust threshold for expansion tooltip assignment
2022-01-20 18:18:05 -08:00
Christopher Snowhill
4e918fc868
Playlist View: Refresh playlist entries when queue is emptied
2022-01-20 17:58:24 -08:00
Christopher Snowhill
973664f3b3
Playlist View: Correctly refresh playlist tooltips when queue is manipulated
2022-01-20 17:54:02 -08:00
Christopher Snowhill
7cc4ee22f7
Playlist View: Fix centering and sizing of status icons
2022-01-20 17:37:56 -08:00
Christopher Snowhill
8c63e8fde3
Playlist View: Now using monospaced numbers on all fields
2022-01-20 17:26:30 -08:00
Christopher Snowhill
b317bfcdc2
Playlist View: Remove some bugs in the sizing
2022-01-20 17:02:34 -08:00
Christopher Snowhill
db867c841c
Playlist View: Add status tooltip to status icon
2022-01-20 15:54:40 -08:00
Christopher Snowhill
a4c3509e75
Playlist View: Refresh entire rows on status changes to refresh tooltips
2022-01-20 15:51:24 -08:00
Christopher Snowhill
b78e55a50c
Playlist View: Fix status message tooltip
2022-01-20 15:39:29 -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
6f0f9d7617
Playlist Entry: Made copy contsructor proper
2022-01-20 14:54:42 -08:00
Christopher Snowhill
ba5f5b8694
Playlist Entry: Made object copyable
2022-01-19 23:23:17 -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
d24a01a637
Implemented basic embedded CueSheet support
2022-01-14 16:46:35 -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
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