Commit graph

2941 commits

Author SHA1 Message Date
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
098650099e Fix SQL playlist loader so it doesn't crash on an empty playlist 2021-12-25 16:42:28 -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
d4614a2f03 Syntrax/Jaytrax: Replace cubic interpolation function with a fixed point integer based version, for a 20% performance boost 2021-12-24 23:33:34 -08:00
Christopher Snowhill
a8a982d3a4 SQLite Store: Fix storing strings with multi byte Unicode sequences 2021-12-24 15:48:30 -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
fd75e1b260 HTTP source: Fix API abuse by calling completion handler as requested 2021-12-22 16:27:41 -08:00
Christopher Snowhill
2bb9698e34 FLAC: Remove unused files from libFLAC framework 2021-12-22 16:24:16 -08:00
Christopher Snowhill
e207cdc022 Opus/FFmpeg: Add more streaming types to handle, now supports working Ogg Vorbis, Opus, and FLAC streaming 2021-12-22 16:23:54 -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
7da3324e32 OpenMPT: Enable SSE2 and ARM NEON optimizations for a slight improvement in performance 2021-12-22 00:18:57 -08:00
Christopher Snowhill
c2585f5567 FFMPEG input: Add more formats, reduce buffering so streams start faster, and fix seeking calculation so streams seek properly 2021-12-22 00:17:59 -08:00
Christopher Snowhill
c47bd96d65 FFMPEG / vgmstream: Update dependencies for newer Matroska support 2021-12-22 00:15:19 -08:00
Christopher Snowhill
45ee8b01df HTTP reader: Keep track of task suspend/resume so we don't stall trying to resume an already running stream 2021-12-22 00:14:19 -08:00
Christopher Snowhill
b2ae62a4db URL open panel: Fix invocation of completion handler so it doesn't crash 2021-12-22 00:13:27 -08:00
Christopher Snowhill
bb1f9dcb33 CoreAudio / FFmpeg: Swap decoder priorities so FFmpeg takes priority over Core Audio 2021-12-21 22:26:50 -08:00
Christopher Snowhill
10d43d9154 FFmpeg: Enable extra demuxers, and switch AAC to AAC AudioToolbox 2021-12-21 22:24:05 -08:00
Christopher Snowhill
caf4855b4e Syntrax/Jaytrax: Replace existing reverse engineered implementation with a different one that handles more songs correctly 2021-12-15 16:47:36 -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
554dde4e91 Updated VGMStream to r1690-0-g82d86c64 2021-12-05 21:26:16 -08:00
Christopher Snowhill
8df33d1cc9 Updated libopenmpt to version 0.5.14 2021-12-05 21:05:35 -08:00
Christopher Snowhill
5772662984 Cuesheet: Read and merge metadata from referenced audio files, no matter their format 2021-11-21 00:16:16 -08:00
Christopher Snowhill
63e10bcb77 Fix Git hook to actually trip when only a single match is found 2021-11-21 00:13:17 -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
d8dcb75ec6 Updated VGMStream to r1667-99-g1355279f 2021-11-17 21:11:40 -08:00
Christopher Snowhill
58384cb831 Updated VGMStream to r1667-90-gc57f4383 2021-11-14 21:43:04 -08:00
Christopher Snowhill
4344f358c2 Updated libopenmpt to version 0.5.13 2021-11-14 21:34:08 -08:00
Christopher Snowhill
b53d396a10 Highly Complete: NCSF: Fix portamento register to enable portamento 2021-11-14 21:33:40 -08:00
Christopher Snowhill
b39d585794
Fix dangling team ID
Dammit, I thought I had commit hooks preventing me from letting these changes through?
2021-11-03 20:42:57 -07:00
Christopher Snowhill
bce21b44d4 MIDI: Overhaul player completely, now Audio Unit support works properly, and the Sound Canvas VA hack is no longer needed. Now System Exclusive messages may be filtered for all plugins. 2021-11-02 19:52:12 -07:00
Christopher Snowhill
8b2e4524b2 Sync with latest shpakovski/MASShortcut. 2021-11-01 18:26:18 -07:00
Christopher Snowhill
b3c5bf8e96 GSF: Updated mGBA 2021-11-01 18:23:17 -07:00
Christopher Snowhill
a93510dd8b Updated VGMStream to r1667-70-g3f281cdf 2021-11-01 18:23:17 -07:00
Christopher Snowhill
d522730fd3
Merge pull request #175 from losnoco/nevack/sync-masshortcut
Sync with latest shpakovski/MASShortcut.
2021-10-14 14:59:27 -07:00
Dzmitry Neviadomski
4e93bc2af8 Sync with latest shpakovski/MASShortcut. 2021-10-14 18:18:05 +03:00
Christopher Snowhill
1fd160dc0f VGMStream: Disable HCA key brute forcing 2021-10-05 20:44:00 -07:00
Christopher Snowhill
ac998301c6 Updated VGMStream to r1640-104-gc92e4f85 2021-10-05 20:31:37 -07:00
Christopher Snowhill
3aa2e3149f Updated libopenmpt to version 0.5.12 2021-10-05 19:46:06 -07:00
Christopher Snowhill
ee6faec757 VGMStream: oops, coding error 2021-10-02 18:49:00 -07:00
Christopher Snowhill
6c8c807781 VGMStream: Clear sample buffer, just in case 2021-10-02 18:47:04 -07:00
Christopher Snowhill
71dd68036b Remove obsolete donation methods 2021-10-02 18:42:19 -07:00
Christopher Snowhill
cbf20dab08 VGMStream: Correctly implement mixing support and output channel reporting for downmixes 2021-10-02 18:38:23 -07: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
934bdc9b35 UI: Fix table identifiers 2021-10-02 00:39:23 -07:00