Christopher Snowhill
3e72087a41
Play position is stored every 10 seconds, and status is stored every time playback is started, paused, stopped, or seeked
2022-01-09 02:34:29 -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
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
91bd653b55
Fading: Hopefully fix fading being broken after fading in once, possibly a rounding error that depends on the volume level set before fading in
2021-11-17 21:12:25 -08:00
Christopher Snowhill
71dd68036b
Remove obsolete donation methods
2021-10-02 18:42:19 -07:00
Christopher Snowhill
fdae7eec21
File info: Implemented support for Album Artist and Codec fields
2021-10-01 19:18:42 -07:00
Calvin Buckley
d18c9c9bb0
Why was this commented out?
2021-08-08 17:57:42 -03:00
Calvin Buckley
cdde55004a
Send metadata so that NPIC can receive stop events at end of playback
...
Otherwise, the NPIC will just show the last track stuck at the last second.
There may be a better place to put this.
2021-08-08 17:55:51 -03:00
Christopher Snowhill
fc70e0e8b4
Notifications: Fix so it supports external artwork, and also fix a crash where invalid embedded artwork would cause it to crash
2021-08-07 15:09:36 -07:00
Calvin Buckley
0e6747c21a
Provide more information to MPNowPlayingInfoCenter, including album art
...
NPIC can ask for a lot of metadata, but for now, provide it only what (at least I know) PlaylistEntry can provide. The biggest missing one was album art, so this change should be appreciated by those who do use it.
I don't know what it can do with the other metadata though, seeing at least on macOS, it can only do album/artist/track title/artwork.
2021-06-21 19:45:46 -03: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
5c6b145f9a
Update playback position 5 times per second instead of once, increasing smoothness of seekbar on shorter tracks, and hopefully solving jitter on some tracks
2021-04-19 23:51:31 -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
Christopher Snowhill
483b8d6647
Don't load metadata for stream URLs
2021-02-28 18:48:21 -08:00
Dzmitry Neviadomski
8105b9e2b2
Modernize PlaybackEventController.
2021-02-26 23:01:48 +03:00
Dzmitry Neviadomski
604edc8099
Update playback control tooltips.
2021-02-21 01:38:52 +03:00
Dzmitry Neviadomski
97cc1e9845
Remove Apple Remote leftovers.
2021-02-19 07:32:33 +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
e313cdac14
Reflect playback status in log correctly
2021-02-07 00:39:19 +03:00
Dzmitry Neviadomski
864c56a408
Store AppController<NSApplicationDelegate> in MediaKeysApplication
2021-02-07 00:33:47 +03:00
Dzmitry Neviadomski
5e3ed2af4b
Remove ThirdParty SPMediaKeyTap
2021-02-07 00:27:14 +03:00
Dzmitry Neviadomski
d0ee3622ed
Use MPRemoteCommandCenter without avaliability checks.
2021-02-07 00:24:45 +03:00
Dzmitry Neviadomski
9840d87127
Convert CogStatus enum to NS_ENUM
2021-02-07 00:22:19 +03:00
Dzmitry Neviadomski
a0afe85130
Fix deprecations with replacemnt and reindent touched files.
2021-01-27 05:30: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
Christopher Snowhill
1aa9b5a01c
Merge pull request #61 from nevack/nevack/notifications
...
Show album art with UserNotification api.
2021-01-06 23:22:15 -08:00
Dzmitry Neviadomski
e16d4e8aa7
Save artwork to jpg instead of png to reduce size.
2021-01-07 08:45:44 +03:00
Dzmitry Neviadomski
05f66d40f3
Show Album Art with UserNotification.
2021-01-07 07:44:07 +03:00
Dzmitry Neviadomski
52c31c5117
Hide Zoom button for Mini Window.
...
Also fix 4 deprecation warnings.
2021-01-07 07:41:58 +03:00
Dzmitry Neviadomski
c192fb5c41
Fix crash when Quitting without active track set.
2021-01-07 01:40:49 +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
41d11bdfa8
Fix one deprecation warning
2021-01-06 02:17:30 -08:00
Christopher Snowhill
97fee7e486
Add a bodge so playback status bar doesn't pop in and out repeatedly on manual track changes
2021-01-06 00:39:12 -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
3e6d599452
Implement new notification display system, when running on Mojave or newer
2020-03-21 01:51:35 -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
17bb70e729
Fix macOS version detection to use a proper API
2020-03-05 20:34:15 -08:00
Christopher Snowhill
d05ada5d0a
Disable MPRemoteCommandCenter unless on Mojave or newer
2020-02-28 00:40:29 -08:00
Christopher Snowhill
eba116d92e
Replace Feedback submission dialog with link to special contact form
2019-11-16 14:49:30 -08:00
Christopher Snowhill
6847f1bcbf
Add MediaPlayer stop command and correctly handle return values for all MediaPlayer remote events
2019-11-14 19:24:13 -08:00
Christopher Snowhill
2476f8827d
Hopefully fix compatibility with systems older than 10.12.1
2019-11-14 19:16:43 -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
9a47c0ebe9
- Remove obsolete Growl framework
...
- Update BASS and friends to latest versions
- Remove unused unmo3 library
- Add entitlements to Hardened Runtime for unsigned plugins (for
AU MIDI playback), and for executable memory use (for the USF
recompiler)
- TODO: Replace Growl branding with generic notification icon
2019-10-10 15:47:46 -07:00
Christopher Snowhill
62c4e71227
Remove Media Keys warning dialog, let user discover why their global hotkeys aren't working on their own if they aren't the type to complain about features that have been in since the beginning.
2019-06-20 21:04:19 -07:00
Christopher Snowhill
a71b2b2f65
Fix media key hook for Mojave.
2018-06-28 05:04:15 -07:00
Christopher Snowhill
67495009ff
Updates for new build system.
2018-06-28 04:03:37 -07:00
Christopher Snowhill
6e6648624d
Hopefully implemented a proper workaround for new Mojave permissions required for the Media Key event hook. We shouldn't crash any more.
2018-06-27 20:50:26 -07:00
Christopher Snowhill
3901305105
No longer send '(null)' notifications for files missing artist and/or album tags.
2018-06-03 18:39:07 -07:00
Kevin López
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
Christopher Snowhill
a95280626f
Fix Projects. Fix a major deadlock introduced by previous commit. Introduce new mGBA based GSF player.
2016-09-04 12:49:43 -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
e531f288b2
Fix a race condition with opening files externally through file associations or the 'open' terminal command.
2016-05-07 22:41:28 -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
Chris Moeller
b50ed67591
Fixed Repeat None correctly this time
2015-02-10 21:42:36 -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
540069c019
Change to mimic iTunes to a limited degree instead, hopefully this is enough info for most applications
2014-12-04 15:22:27 -08:00
Chris Moeller
22e97735c6
On second thought, let's pretend we're Swinsian
2014-12-03 22:50:59 -08:00
Chris Moeller
da26e6757b
Implemented a distributed notification for track information and playback status
2014-12-03 22:13:27 -08: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
9d6f583eff
Bypass sending notifications to Growl if Last.fm is enabled and running, as Last.fm has its own display notifications
2013-10-13 15:13:27 -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
078caa7980
mamburu: Added an option to enable/disable giving up media keys control to Last.fm app
2013-10-12 14:41:57 -07:00
Chris Moeller
85937086d2
mamburu: SPMediaKeyTap ( https://github.com/nevyn/SPMediaKeyTap ) is now used to handle media keys - iTunes won't start on Play button while Cog is running
2013-10-12 14:26:52 -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
2fe9e86eb9
Added optional colorful dock icons by tuurngait; Imported the Growl configuration page for disabling notifications if Growl.app is not installed
2013-10-11 08:35:57 -07:00
Chris Moeller
d1f6ec850e
tuurngait: Major UI Improvements
2013-10-11 07:16:47 -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
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
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
380993ff16
Move forced metadata lookup to PlaybackController so ReplayGain information will always be available when it's needed
2013-10-07 16:15:15 -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
4c0cf34250
More ReplayGain support, now with metadata handling, but only if the metadata is already loaded
2013-10-02 02:30:04 -07:00
Chris Moeller
6ea103b1c3
Implemented ReplayGain support, so far only in the HighlyComplete component.
2013-10-01 23:00:16 -07:00
vspader
26d44d6f37
Fix Growl so it only shows up on non-error tracks and display album art in the notification.
2009-03-11 20:26:29 -07: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
e2d590c167
Added PlaybackEventController.
2009-03-05 09:04:16 -08:00
vspader
4bd8f6142c
Moved growl/scrobbler notifications into PlaybackEventController.
2009-03-05 09:03:30 -08:00
vspader
4dacefe989
Fix leak of dock image.
2009-02-28 22:28:37 -08:00
vspader
38743b7dbf
Added badges to the icon to indicate the current playback status.
2009-02-28 15:54:36 -08:00
vspader
03937f480b
Cleaned up modified add behavior.
2009-02-28 14:22:33 -08:00
vspader
1fcf3bb2ff
Fixed up fading logic.
2009-02-28 13:19:26 -08:00
vspader
fd4fa4c62d
Fixed playback buttons on mini mode. Play now turns to pause.
2009-02-28 13:13:06 -08:00
vspader
fda5d50712
If you change the playlist near the end of a song, it should now play the correct song.
2009-02-28 10:57:21 -08:00
vspader
c96c3448d8
Volume is now saved across launches.
2009-02-28 10:19:15 -08:00
vspader
2883e93725
Removed unused method.
2009-02-28 09:52:40 -08:00
vspader
a2f360177e
Organized things a little better.
2009-02-22 14:57:02 -08:00
vspader
8bd1cc32d5
Fixed position slider max.
2009-02-22 14:40:22 -08:00
vspader
faf0df17f2
Removed unused methods from playbackcontroller.
2009-02-22 14:29:11 -08:00
vspader
a1f6139ea4
Fixed up position slider and time display.
2009-02-22 14:28:09 -08:00
vspader
fcf886321f
Mini window will now reopen on launch if it.
2009-02-22 11:56:28 -08:00
vspader
ce2f61564c
Removed old classes.
2009-02-22 11:22:51 -08:00
vspader
c107c67ba7
Added dual window classes.
2009-02-22 11:22:35 -08:00
vspader
f24afa4c86
Fixed up timers so they are still in effect while in the tracking runloop mode.
2009-02-09 06:16:16 +00:00
vspader
c9e542f570
Added better tooltip feedback.
2009-02-09 05:53:38 +00:00
lmsilva
0df5123d05
fixed a bug introduced before, double clicking on a song in the tableview wouldnt work
2008-11-21 15:43:34 +00:00
lmsilva
dda74d0608
fixed seek slider from becoming active & disabling it when STOP occurs
2008-11-21 15:14:23 +00:00
vspader
5132465651
Save previous height when hidden.
2008-06-22 19:44:09 +00:00
vspader
ab6f61c591
Updated preference key.
2008-06-22 19:04:15 +00:00
vspader
2e819f4970
Remember mini mode.
2008-06-22 19:02:53 +00: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
db65925ff0
Fixed now playing in dock menu.
2008-03-13 01:21:54 +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
vspader
58a61a7b21
Removed debugging message.
2008-03-02 19:21:35 +00:00
vspader
76e8bbb2c2
Logitech keyboards work with media keys on 10.5! Added prev/next support.
2008-03-02 19:20:08 +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
3cdca94207
Split status up into bunches of properties and made it a readonly property.
2008-03-01 03:29:21 +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
0aa5b56250
Fixed a bug in Stop after current that was causing some odd behaviour.
2008-02-26 11:59:47 +00:00
areff
89cd984b7d
Moved stopAfterCurrent check to requestNextStream, so it won't interfere other than when the player is reaching the end of a track by natural means. Added menu item validation.
2008-02-25 17:02:06 +00:00
areff
761f86cf9c
Added menu validation for fade entry
2008-02-23 22:55:21 +00:00