Commit graph

185 commits

Author SHA1 Message Date
Christopher Snowhill
dfeca7aa97 Seeking now takes the true nuclear approach to output, and should no longer have glitches 2021-12-26 02:01:02 -08:00
Christopher Snowhill
d22ee14a36 Audio Output: Take a more nuclear approach to output resetting when seeking 2021-12-25 23:41:45 -08:00
Christopher Snowhill
1278b64afd Audio Output: Fixed converter so it won't loop endlessly when it either reaches the end of a stream or is otherwise supposed to terminate 2021-12-25 22:47:17 -08:00
Christopher Snowhill
5246731189 Core Audio: Overhauled audio output to use AudioQueue instead of AudioUnit, fixed downmixing to mono, and implemented upmixing mono or other formats to more channels if the device requests them 2021-12-25 22:32:43 -08:00
Christopher Snowhill
c6b112f512 CoreAudio output: Fix buffer underruns on output that could result in buffer looping in CoreAudio, by feeding silence from the callback instead of returning incomplete or possibly empty buffers 2021-12-25 19:43:10 -08:00
Christopher Snowhill
9c9d71cd9c Overhaul CoreAudio output code: Downmix properly from 8 channels, redo converter process, and no longer crash when forced to output to a low quality device. Switchover to stereo from mono isn't perfect, however. 2021-12-25 15:02:13 -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
4ff38268ae Plugins: Support multiple handlers per MIME type for streams 2021-12-22 16:22:49 -08:00
Christopher Snowhill
9566a36815 Error handler: Better handle errors and increase silence generator to 10 seconds at a time 2021-12-22 16:22:05 -08:00
Christopher Snowhill
44b813d2bf Audio queue: Better handle queues of lots of short files 2021-12-11 00:22:54 -08:00
Christopher Snowhill
00f1e0957c FLAC: Move libFLAC decoder to higher priority than any potential system decoder, support arbitrary sample bit depths 2021-12-11 00:22:19 -08:00
Christopher Snowhill
ed8a5763ab Output: Add System Default Output option, rather than adjusting the listing to display the current system default only the first time 2021-12-05 22:49:56 -08:00
Christopher Snowhill
ceb2e3f7dd Fix warning due to incorrect delegate function prototype 2021-09-25 13:17:00 -07:00
Christopher Snowhill
cfeadad97f Reduce minimum OS to macOS 10.12 2021-09-18 01:08:49 -07:00
Christopher Snowhill
da96d2c21e Core Audio Output: Add a check that should prevent it from attempting to output data through the callback during or after destruction 2021-09-17 19:09:34 -07:00
Christopher Snowhill
13bd399b31 Clean up most warnings and update some dependencies 2021-04-29 18:16:24 -07:00
Christopher Snowhill
483b8d6647 Don't load metadata for stream URLs 2021-02-28 18:48:21 -08:00
Dzmitry Neviadomski
9840d87127 Convert CogStatus enum to NS_ENUM 2021-02-07 00:22:19 +03:00
Dzmitry Neviadomski
70a22e9611 Fix some more warnings. 2021-01-27 05:12:07 +03:00
Dzmitry Neviadomski
64b9764b2e Inhibit ThirdParty libraries build errors.
This helps as to actually see warnings of our code.
2021-01-27 04:31:43 +03: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
Jan Weiß
63ed28919b Second attempt to fix build with other than maintainer’s TeamIDs. Worked for me with Xcode 12.3. 2021-01-05 17:25:12 +01:00
Christopher Snowhill
dbc51d76f9 Revert PR #60 - Nope, that breaks hardened runtime and signing it myself 2020-12-22 02:11:50 -08:00
Jan Weiß
c305a5f949 Fix build with other than maintainer’s TeamIDs.
This commit removes development team and code signing key/value pairs that slipped through when Xcode applied code signing changes.
2020-12-13 12:01:48 +01:00
Christopher Snowhill
91b1271ae2 Bump deployment target to 10.13 2020-11-24 15:26:26 -08:00
Dan Leehr
850fe390ca Fixes FLAC playback crash on Apple Silicon
- Avoid creating an NSDictionary with NULL context object (https://github.com/kode54/Cog/blob/master/Audio/Chain/InputNode.m#L81 passes NULL as context, so this must be handled in NSDictionary creation
- When calling addObserver, downgrade options from NSNumber * to NSKeyValueObservingOptions (aka NSUInteger)

Not sure why this would be specific to Apple Silicon...
2020-11-23 17:01:25 -05:00
Christopher Snowhill
0001bd581b Phase one of Big Sur 2020-06-30 01:04:55 -07:00
Christopher Snowhill
3b628c3989 Touched by Xcode 2020-06-07 19:57:15 -07:00
Christopher Snowhill
6c7b7f7213 Maximum volume increased to 800% 2020-04-06 23:30:07 -07:00
Christopher Snowhill
b7487e2ad2 Clean up audio output code just a bit 2020-03-23 01:46:41 -07:00
Christopher Snowhill
117ab53343 Fix multi-plugin cascade to handle non-seeking readers, where disposing of some data while finding an input is okay 2020-03-08 20:04:10 -07:00
Christopher Snowhill
6d0166e69b Fix multi-plugin cascade when using non-seeking readers 2020-03-07 16:09:26 -08:00
Christopher Snowhill
7308aa5f7b Fall back on non-container file parsing, since VGMStream is too greedy with its extension list 2020-02-17 19:50:32 -08:00
Jan Weiß
da775ce8a6 Clean up output device code. 2020-02-17 18:20:48 +01:00
Christopher Snowhill
765cb5e890 Usual Xcode update mess 2020-02-13 01:41:21 -08:00
Jan Weiß
b22c5964e4 Improve output handling, 2.
Fix issues with above.
2020-02-01 14:44:07 +01:00
Jan Weiß
97ed738846 Improve output handling. 2020-02-01 14:00:41 +01:00
Christopher Snowhill
fd7ab684c2 Updates for modern Xcode 2019-10-05 00:12:36 -07:00
Christopher Snowhill
050eef7225 Updated to latest Xcode 2019-07-02 16:37:17 -07:00
Christopher Snowhill
67495009ff Updates for new build system. 2018-06-28 04:03:37 -07:00
Christopher Snowhill
bcf839efd1 Apply Xcode's suggested changes to project files. 2018-06-04 00:13:55 -07:00
Chris Moeller
9e8fd61d8c Update xcschemes. 2017-12-05 19:10:41 -08:00
Christopher Snowhill
913287665d Update project files to current recommendations. 2017-09-26 16:12:33 -07:00
Christopher Snowhill
039347f36f Made all scheme configurations shared, imported. 2017-09-17 18:40:02 -07:00
Christopher Snowhill
8ad0b7e8e3 Updated projects to Xcode recommendations. 2016-11-03 22:42:21 -07:00
Christopher Snowhill
7bb116a33b Added a fix so that a rapid succession of sub-10 second files do not get queued up until the player eventually crashes. 2016-09-17 20:59:58 -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
Christopher Snowhill
899cfd6b42 Update project files. 2016-09-01 18:50:33 -07:00
Chris Moeller
aaf320a96c Add autorelease pools to various info loading functions, so that adding massive amounts of tracks to the playlist will not run out of file handles. 2016-06-29 22:14:13 -07:00
Chris Moeller
17272ce43c Clean up lots of warnings and minor issues. 2016-06-29 22:10:29 -07:00