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
8acd7fb8f6
[Crashlytics] Add AppCheck for debugging builds
...
Enable Firebase AppCheck in debugging builds, so that more info may be
logged.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 19:18:41 -07:00
Christopher Snowhill
82e3f7bd9a
[Crashlytics] Enable data collection by default
...
Enable data collection by default, so crashes are hopefully logged.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 19:18:05 -07:00
Christopher Snowhill
9cc5ba7c0e
[Crashlytics] Enable much earlier sending reports
...
Sending reports is now handled synchronously on the startup path, so
that unsent reports can be sent before a startup crash causes further
crashes to occur. This is apparently needed to help one particular user
catch whatever is causing the app to crash for them.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 15:43:12 -07:00
Christopher Snowhill
7cf6a7e03b
[Crashlytics] Move the crash handler initializer
...
Move the initializer to a function that will be called earlier in the
startup stage. Mainly to catch crashes in the playlist importer for
legacy playlist formats.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 07:24:12 -07:00
Christopher Snowhill
39f4d09c1a
Use NSNumber Literals as much as possible
...
Replaced a bunch of [NSNumber numberWith...] with NSNumber Literals.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 06:39:02 -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
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
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
4035ca861f
Spectrum Visualizer: Add customization options
...
Add options to the Appearance preferences page to allow changing the
spectrum's projection between a 2D-like one and 3D perspective, and add
options to change the bar and peak dot colors.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-22 15:26:27 -07:00
Christopher Snowhill
efadd1d012
Changed add files to observe playlist settings
...
Reverted 7f3da31b45
, and reverted a past
commit of some sort. Now adding URLs and opening files from the Open...
option will obey the preferences for playlist adding, including modifier
keys, if used.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-08 00:04:14 -08:00
Christopher Snowhill
b63a076e21
Add more automation commands and properties
...
Added commands to control playback: play, pause, stop, previous, next.
Also added a spam property to PlaylistEntry, to return the formatted
spam string for the playlist entry, which is currently limited to the
playing item.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 21:52:09 -08:00
Christopher Snowhill
9614ec6e98
Add option to quit on natural stop
...
When the option is enabled, and playback comes to a completion, the
player will quit on its own.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 20:55:42 -08:00
Christopher Snowhill
838b31a6e8
MIDI: Replaced FluidSynth with BASSMIDI again
...
FluidSynth is just too unstable, and also just bad in general.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 18:29:03 -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
d4990de7f3
Adopt the sox resampler instead of RetroArch
...
Removing RetroArch code from my project.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-01 18:55:39 -08:00
Christopher Snowhill
77a079bd53
Mini Window: Fix saving and restoring position
...
Fixes #212
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 18:00:34 -08:00
Christopher Snowhill
5184c8e48b
Sparkle: Disable automatic updates when debugging
...
Disable automatic update checking on startup for debug builds. Prevents
a crash from occurring when it attempts to retrieve the version number.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 17:01:51 -08:00
Christopher Snowhill
7e5107d431
User Settings: Obey standards
...
Replace "midi.plugin" with "midiPlugin", as per the value naming
conventions that Apple set out. Migrate the old value if found.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 16:38:53 -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
e70efdaa5a
Donate options: Re-launched my Patreon page, so added the link back
2022-01-18 00:07:40 -08:00
Christopher Snowhill
71b2f7a4f2
Implement graphic equalizer
2022-01-16 07:32:47 -08:00
Christopher Snowhill
d3548d77e7
Hide current artist from dock context menu when not playing or when there is no artist set
2022-01-15 23:41:02 -08:00
Christopher Snowhill
602facf31a
Move feed and downloads back to S3
2022-01-15 19:04:26 -08:00
Christopher Snowhill
c4c9a741ef
Replaced AudioToolbox converter process with homebrew solution, using the RetroArch sinc resampler
2022-01-11 04:09:19 -08:00
Christopher Snowhill
87ebca5e03
Really fix saving track position on quit
2022-01-09 03:17:43 -08:00
Christopher Snowhill
917b7457b6
Made resume playback on startup so that seeking operation is entirely atomic with starting playback, so the new seeking behavior doesn't have the potential to crash the player
2021-12-26 04:35:54 -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
71dd68036b
Remove obsolete donation methods
2021-10-02 18:42:19 -07:00
Dzmitry Neviadomski
9c58f67c48
Fix Info button sizing when album art not present.
2021-05-05 02:03:55 +03:00
Christopher Snowhill
4cf76dd7e3
MIDI: Replaced BASSMIDI with FluidSynth
2021-05-03 19:18:55 -07:00
Christopher Snowhill
13bd399b31
Clean up most warnings and update some dependencies
2021-04-29 18:16:24 -07:00
Christopher Snowhill
d06eec4ff0
Set allowed extensions for the save picker when saving a playlist
2021-04-09 11:16:12 -07:00
Christopher Snowhill
cadb54b454
Fix shutdown action so it removes the playlist filter before saving the playlist
2021-04-09 11:09:18 -07:00
Dzmitry Neviadomski
3a3694d78b
Add option for Mini Player to appear on top.
2021-03-03 00:04:59 +03:00
Dzmitry Neviadomski
604edc8099
Update playback control tooltips.
2021-02-21 01:38:52 +03:00
Dzmitry Neviadomski
18896dcc3e
Rework Titlebar.
...
Show Album art in info button.
2021-02-19 02:58:57 +03:00
Dzmitry Neviadomski
b08263159e
Show Now Playing bar only when needed.
...
Fixes #101
Fixes #105
2021-02-19 01:07:05 +03:00
Dzmitry Neviadomski
a07d07c9f9
Fix Mini window restoring.
...
Fixes #99
2021-02-14 03:10:03 +03:00
Dzmitry Neviadomski
a64f5e08e6
Use GitHub issues for reporting feedback.
2021-02-09 03:12:31 +03:00
Dzmitry Neviadomski
899152db49
Add ability to change toolbar style.
...
Fixes #86
2021-02-07 01:15:12 +03:00
Dzmitry Neviadomski
9840d87127
Convert CogStatus enum to NS_ENUM
2021-02-07 00:22:19 +03:00
Dzmitry Neviadomski
19dbf4c9f5
Migrate to MASShortcut.
...
Removed NDHotKey code.
Added ability to restore default shortcuts.
Migrated old user-set shortcuts.
2021-01-25 06:47:09 +03:00
Dzmitry Neviadomski
ab88e1b65c
Use NSSet for broken feed URL lookup.
2021-01-25 06:23:48 +03:00
Dzmitry Neviadomski
84b473f847
Cleanup NSDrawer leftovers from AppController.
2021-01-09 12:47:11 +03:00
Dzmitry Neviadomski
78d8c0050c
Revamp Mini Window shortcuts.
...
Fix deprecation warnings.
Set max and min size for content view in code.
2021-01-08 12:15:01 +03:00
Dzmitry Neviadomski
52c31c5117
Hide Zoom button for Mini Window.
...
Also fix 4 deprecation warnings.
2021-01-07 07:41:58 +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
474dca3967
Update donation menu items
2020-11-24 16:03:49 -08:00
Christopher Snowhill
dedeb399a8
- Big Sur phase two
...
- Restructure main window a bit more
- Remove attempt at SF Symbols icons for now
- Add Now Playing popout to Stacks style main window, tooltip instructs to click to select the current track in playlist
- Disable libFLAC plugin on macOS 10.13 and newer, letting Core Audio handle it instead. Apparently, libFLAC is not really ready for Apple Silicon yet.
2020-11-22 18:16:34 -08:00
Christopher Snowhill
3b41af0dc2
Update donation menu
2020-05-02 00:53:08 -07:00
Christopher Snowhill
7f3da31b45
Consider URLs as 'internal' source so they don't auto play
2020-03-10 02:17:19 -07:00
Christopher Snowhill
eba116d92e
Replace Feedback submission dialog with link to special contact form
2019-11-16 14:49:30 -08:00
Christopher Snowhill
09777d4554
Implemented support for MediaPlayer framework, which fixes media key support on newer systems, and also media info reporting
2019-11-13 19:13:59 -08:00
Christopher Snowhill
67495009ff
Updates for new build system.
2018-06-28 04:03:37 -07:00
faf5eb586a
Implement proper fullscreen enter and exit animations.
2017-12-27 18:51:44 -08:00
Christopher Snowhill
368bb003c2
Make resume-playback-on-startup optional, and disabled by default.
2017-03-21 22:08:35 -07:00
Christopher Snowhill
ebfcd03c5d
- Change MIDI overrides to support 'default (auto)' mode
...
- Change MIDI flavor default to 'default (auto)'
- Fix MIDI preference page to correctly enable the flavor option only where applicable
- Fix SCVA player to reset existing instances reliably
2016-11-29 15:46:38 -08:00
Christopher Snowhill
b5967bb2e1
Fix HotKey initialization to deinitialize any existing instances, as the global hash table is not reference counted, and the previous design would result in the hash table being set twice, then cleared.
2016-10-10 22:33:00 -07:00
Christopher Snowhill
c2bf3225d1
Use new symbols from macOS 10.12 SDK, which have the same values as the deprecated symbols.
2016-10-10 22:31:46 -07:00
Chris Moeller
55ecd008ad
Update feed location and script.
2016-07-15 22:41:17 -07:00
Chris Moeller
17272ce43c
Clean up lots of warnings and minor issues.
2016-06-29 22:10:29 -07:00
Chris Moeller
dee388d22c
Changed the Support Cog link.
2016-05-09 21:57:04 -07:00
Chris Moeller
68db8edae3
Fixed setting keycode 0 as a hotkey.
2016-05-05 14:03:48 -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
6c8a08fff1
Implemented MIDI flavor override control for Sound Canvas VA Audio Unit
2016-04-12 21:16:25 -07:00
Chris Moeller
039788226d
- MIDI player now loops non-looping files internally if Repeat One is enabled
...
- MIDI player now supports installed Audio Unit plug-ins, and defaults to the DLS MIDI synthesizer
2016-01-20 21:11:05 -08:00
o1
8bd04594dd
Cog will now re-maximize window(s) when dock icon clicked after minimization.
2015-01-15 16:57:22 +03:00
Chris Moeller
2a0ef29ebe
Updated notification system
2014-12-03 21:36:55 -08:00
Chris Moeller
f2e0be8c9e
Fixed feed URL, I hope
2014-09-05 23:25:32 -07:00
Chris Moeller
5618d058a3
Updated DUMB and modplay, and added a setting to control the resampling used by both, as well as by BASSMIDI, which will use sinc if specified
2014-03-26 21:49:31 -07:00
Chris Moeller
591730eea3
Fix the default updates feed URL setting, and override the current setting if it matches the former default
2013-10-22 17:46:33 -07:00
Chris Moeller
96c0081d73
Changed the AppCasts to https
2013-10-21 18:31:23 -07:00
Chris Moeller
759aeab4fb
Implemented pause on startup
2013-10-12 19:16:47 -07:00
Chris Moeller
e87fd1b4b7
Ryan Brignoni: Updating AppleRemote with latest files from VideoLAN repo and adding support for new 2009 Apple remote buttons in Cog.
2013-10-12 14:47:39 -07:00
Chris Moeller
012ef22b40
Major UI overhaul; Now supports mini mode
2013-10-11 12:02:05 -07:00
Chris Moeller
8cf6b86ba2
Moved NDHotKey to its own framework, and removed useless Edit buttons from the hotkeys preference pane
2013-10-11 09:37:45 -07:00
Chris Moeller
73524776e7
mamburu: Added a toolbar button to shuffle the playlist
2013-10-11 05:27:19 -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
602aaa6938
Enter Full Screen menu item and separator are now hidden until the main window wakes and detects toggleFullScreen selector
2013-10-11 03:39:57 -07:00
Chris Moeller
3f35b5e07f
mamburu: Expandedness state of file drawer is now persisted over app restarts
2013-10-11 03:03:23 -07:00
Chris Moeller
0ad3106355
mamburu: Added bar that shows name of currently playing entry
2013-10-11 02:09:26 -07:00
Chris Moeller
1aedb01c6b
Changed feed and feedback URLs
2013-10-11 01:30:49 -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
b4ffb2684f
Removed pause on startup, since it doesn't seem to have any effect
2013-10-09 02:08:35 -07:00
Chris Moeller
3e579801a1
AppController now stores the last playback status and position in the defaults container and resumes playback on restart
2013-10-09 02:02:49 -07:00
Chris Moeller
7c5eaed629
Added now playing spam hotkey, currently format hard coded
2013-10-04 04:16:09 -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
Chris Moeller
6ea103b1c3
Implemented ReplayGain support, so far only in the HighlyComplete component.
2013-10-01 23:00:16 -07: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
03937f480b
Cleaned up modified add behavior.
2009-02-28 14:22:33 -08:00
vspader
fcf886321f
Mini window will now reopen on launch if it.
2009-02-22 11:56:28 -08:00
vspader
f53bfc861d
Side pane say what?
2008-06-21 04:05:30 +00:00
vasfed
584710ffb1
Changed playlist behavior preferences to be pop-up buttons with choices
2008-05-18 09:38:53 +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
477bdbd4ef
Fixed strange whitespace issue. Also, increased bottom border a bit to make it match other status bar heights.
2008-03-05 01:22:42 +00:00
matthewleon
4168bb43eb
Redid threading for reading file info and metadata. Still a bit buggy.
2008-03-01 18:29:14 +00:00
vspader
c31eae4541
Performance improvements for the status column.
2008-02-23 13:57:33 +00:00
vspader
b15e4f626a
Moved most enumerators to fast enumeration.
2008-02-20 00:54:45 +00:00
matthewleon
ea427c9033
Moved FontSizetoLineHeightTransformer registration code to AppControler's +initialize.
2008-02-18 09:27:27 +00:00