Commit graph

42 commits

Author SHA1 Message Date
Christopher Snowhill
9c6915ecb2 Implemented real pitch and time shifting using Rubber Band
I will implement the more complex setup of providing options for
most of the configuration that Rubber Band provides, at a later
date, when I feel like creating a complex configuration dialog
for it, and asking for help translating every option and setting.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2024-12-09 18:04:34 -08:00
Christopher Snowhill
6a309a3075 Speed Control: Implement simple speed control
Implements a simple speed control using a resampler
designed for real time changes. A rubberband speed
control will be implemented at a later date.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2024-09-20 22:25:12 -07:00
Christopher Snowhill
d88a90e5b0
Fix a typo
Notifcation -> Notification

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2023-10-03 05:00:55 -07:00
Christopher Snowhill
c23bece62c Reintroducing App Sandbox, and more
- Implemented App Sandboxing in a more friendly manner.
- All sandboxed paths will need to be set in Preferences. Set as loose
  a path as you want. The shortest path will be preferred.
- Removed Last.fm client support, as it was non-functional by now,
  unfortunately. Maybe something better can come in the future.
- Added support for insecure SSL to the HTTP/S reader, in case anyone
  needs streams which are "protected" by self-signed or expired
  certificates, without having to futz around by adding certificates to
  the system settings, especially for expired certificates that can't
  otherwise be dodged this way.

If you want to import your old playlists to the new version, copy the
contents of `~/Library/Application Support/Cog` to the alternate sandbox
path: `~/Library/Containers/org.cogx.cog/Data/Library/Application `...
...continued...`Support/Cog`. The preferences file will migrate to the
new version automatically.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-20 03:35:29 -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
7ef583340d Equalizer: Replace dialog with custom job
New custom equalizer dialog, painstakingly hand assembled.
2022-02-13 11:05:32 -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
a743f914e9 HDCD Indicator: Made this less janky too 2022-01-21 15:00:44 -08:00
Christopher Snowhill
26e0e0cead HDCD Decoding: Add HDCD indicator 2022-01-20 23:53:45 -08:00
Christopher Snowhill
71b2f7a4f2 Implement graphic equalizer 2022-01-16 07:32:47 -08:00
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
13bd399b31 Clean up most warnings and update some dependencies 2021-04-29 18:16:24 -07:00
Dzmitry Neviadomski
9840d87127 Convert CogStatus enum to NS_ENUM 2021-02-07 00:22:19 +03: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
Chris Moeller
759aeab4fb Implemented pause on startup 2013-10-12 19:16:47 -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
4c0cf34250 More ReplayGain support, now with metadata handling, but only if the metadata is already loaded 2013-10-02 02:30:04 -07:00
vspader
4bd8f6142c Moved growl/scrobbler notifications into PlaybackEventController. 2009-03-05 09:03:30 -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
2883e93725 Removed unused method. 2009-02-28 09:52:40 -08:00
vspader
a1f6139ea4 Fixed up position slider and time display. 2009-02-22 14:28:09 -08: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
1b83061c49 Moved volume controls into AudioPlayer, logarithmic helper functions now have their own file, fixed broken seekbar resize 2008-02-17 18:44:11 +00:00
areff
6a915b458b Implemented fading up from pause, same key (shift-command-p) as fade down from play. Will clean code and move all audio components into the audioPlayer tomorrow, to fix the event* function names and consolidate all audio related methods. 2008-02-16 16:30:18 +00:00
areff
02836236db Added skipping to next and previous album with Alt-Right and Alt-Left 2008-02-14 19:25:01 +00:00
areff
f64ebf597f Added incremental seeking with remote, volumeUp/Down now take an amount argument, seekForward/Backward now take an amount argument, fixed incremental fadeout that will not register more than one timer, added status kCogStatusFading 2008-02-13 18:03:06 +00:00
vspader
010f7de448 Added [audioPlayer volume].
Tweaked the volume control a little.
2008-02-13 01:50:39 +00:00
areff
a39ce34ee9 Added fade to pause, key shift-cmd-p, changed volume controls around a bit, still needs fixing 2008-02-12 22:12:27 +00:00
areff
64f0a25a52 Added seeking menu entries, validation of Control menu entries, updated KnownIssues 2008-02-10 18:34:23 +00:00
vspader
be9387d30d Added patch from Andre Reffhaug for ctrl+left/right seeking. 2008-02-07 23:57:21 +00:00
vspader
aa856de92b Added toolbar UI. 2007-11-01 01:53:52 +00:00
vspader
4ed575f475 Moved PlaylistEntry number variables over to NSNumber. Removed displayIndex and lengthString, using formatters instead. Fix bug with autosaving playlist. 2007-03-14 02:28:30 +00:00
vspader
91607ea9ce Changed audioscrobbler id from tst to cog.. 2007-03-12 22:11:40 +00:00
vspader
47fa30dc58 Reworked preferences a little to make it easier for simple panes.
Added Growl notifications for when a song is played, or when the song changes.
2007-02-28 00:35:27 +00:00
vspader
ec153d3ae8 Fixed defaults for launching LastFM. 2007-02-26 05:26:48 +00:00
vspader
35b1c886a8 Added Last.fm support for those with the last.fm client.
Fixed up remote and scrobbler preferences.
2007-02-25 02:43:56 +00:00
vspader
927b65a4a5 Merged with cog-audio-framework branch. Cog now uses plugins. 2007-02-24 20:36:27 +00:00
Renamed from PlaybackController.h (Browse further)