Christopher Snowhill
|
502e52d699
|
Core Audio output: Hopefully stop buffer looping on device stop
|
2022-01-22 14:37:37 -08:00 |
Christopher Snowhill
|
6011982a63
|
Equalizer: Correctly activate the equalizer when starting playback
|
2022-01-22 12:59:59 -08:00 |
Christopher Snowhill
|
9d1fd08574
|
HDCD Decoder: Only process lossless tracks
|
2022-01-21 22:47:11 -08:00 |
Christopher Snowhill
|
26e0e0cead
|
HDCD Decoding: Add HDCD indicator
|
2022-01-20 23:53:45 -08:00 |
Christopher Snowhill
|
178b32cbdf
|
Core Audio output: Remove all delayed track end events when buffer reset
|
2022-01-19 14:54:04 -08:00 |
Christopher Snowhill
|
576f1a702a
|
Core Audio output: Hopefully really fix deadlock issue
|
2022-01-19 14:50:48 -08:00 |
Christopher Snowhill
|
16a58e87a0
|
Core Audio output: Attempt to fix deadlock near track transitions when buffer resets occur
|
2022-01-19 14:38:48 -08:00 |
Christopher Snowhill
|
6f0a737123
|
Cog Audio: Implement HDCD decoding
|
2022-01-19 02:08:57 -08:00 |
Christopher Snowhill
|
f2feb3bcd7
|
Equalizer: Fix applying equalizer presets on automatic track change
|
2022-01-19 01:23:59 -08:00 |
Christopher Snowhill
|
31e5cd9337
|
Core Audio output: Add debugging code for logging output to disk, only enabled at compile time as necessary
|
2022-01-19 00:41:42 -08:00 |
Christopher Snowhill
|
de193b70e2
|
Converter: Improve extrapolation for resampler, and also pad decimated DSD, even if not resampling it
|
2022-01-19 00:40:40 -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
|
f9ace87319
|
Add static container types to Info.plist generator stub
|
2022-01-18 16:58:31 -08:00 |
Christopher Snowhill
|
9085cf18df
|
Core Audio output: Fix crash on playback reaching the end of the playlist
|
2022-01-18 16:48:37 -08:00 |
Christopher Snowhill
|
5c0a510848
|
Core Audio output: Add various minor changes
|
2022-01-18 16:43:58 -08:00 |
Christopher Snowhill
|
c4c29be35a
|
Output converter: Limit extrapolation to only be trained on twice as many samples as the extrapolation order
|
2022-01-18 16:43:10 -08:00 |
Christopher Snowhill
|
39a5ee8ab7
|
Utility: Add stubs to regenerate Info.plist with file type associations
|
2022-01-18 03:07:32 -08:00 |
Christopher Snowhill
|
7a0c1d230e
|
Volume control: Make preamp optional, defaulting to a limit of 100% volume
|
2022-01-17 22:41:26 -08:00 |
Christopher Snowhill
|
83ad969d9b
|
Equalizer: Add option for presets to track the music genre tags
|
2022-01-17 20:43:08 -08:00 |
Christopher Snowhill
|
87c771c67c
|
Equalizer: Add option to toggle the equalizer on or off
|
2022-01-17 01:22:15 -08:00 |
Christopher Snowhill
|
c8057e1037
|
Fix bug in new Core Audio output code
|
2022-01-16 14:08:17 -08:00 |
Christopher Snowhill
|
71b2f7a4f2
|
Implement graphic equalizer
|
2022-01-16 07:32:47 -08:00 |
Christopher Snowhill
|
c640481c25
|
Add SIMD optimized volume scaling
|
2022-01-16 00:46:21 -08:00 |
Christopher Snowhill
|
72453ba05a
|
Cog Audio: Converter now rounds up sample counts affected by resamlping ratio
|
2022-01-15 23:41:31 -08:00 |
Christopher Snowhill
|
8eb2b4c4a3
|
Cog Audio: Finally fix track glitching on lots of tiny tracks
|
2022-01-15 02:52:35 -08:00 |
Christopher Snowhill
|
fbef034903
|
Cog Audio: Further overhaul output buffering and track queue code
|
2022-01-15 02:09:26 -08:00 |
Christopher Snowhill
|
5ab728b205
|
Cog Audio: Overhaul output buffering yet again, adding an extra buffer stage between the converter and the output thread
|
2022-01-14 22:46:41 -08:00 |
Christopher Snowhill
|
ccbfc6ec4b
|
Semaphore: Change timedWait to wait in microseconds
|
2022-01-14 22:43:46 -08:00 |
Christopher Snowhill
|
d24a01a637
|
Implemented basic embedded CueSheet support
|
2022-01-14 16:46:35 -08:00 |
Christopher Snowhill
|
6315377eaf
|
Cog Audio: Fix extrapolator to use signed type for sample delta
|
2022-01-14 11:37:52 -08:00 |
Christopher Snowhill
|
af6677cf34
|
Cog Audio: Keep track of last resampler quality used so we don't reinitialize when not necessary, and also keep track of DSD decimated sample rate separately, so the input format remains unmodified
|
2022-01-14 11:18:50 -08:00 |
Christopher Snowhill
|
2e164d3fc8
|
Cog Audio: Reduce glitching on track change by invoking a delegate method that occurs when the track finishes outputting without waiting for it
|
2022-01-14 11:16:35 -08:00 |
Christopher Snowhill
|
3cc5b46a0e
|
Cog Audio: Improve end of track handling
|
2022-01-14 10:17:41 -08:00 |
Christopher Snowhill
|
cb3782d0b1
|
Cog Audio: Improve ring buffer
|
2022-01-14 10:17:08 -08:00 |
Christopher Snowhill
|
3ce3edde88
|
Cog Audio: Fix track end extrapolator used by resampler
|
2022-01-14 07:39:55 -08:00 |
Christopher Snowhill
|
748891f285
|
Cog Audio / WavPack input: Add DSD decimation to converter, and change WavPack input to emit only raw DSD
|
2022-01-14 06:26:09 -08:00 |
Christopher Snowhill
|
903b457a28
|
Cog Audio: Make it possible to play obscene sample rate files without major failures
|
2022-01-14 02:00:32 -08:00 |
Christopher Snowhill
|
5aa3f7dd0a
|
Cog Audio: Properly support seeking within the file that appears to be playing, even if it has already finished decoding
|
2022-01-14 00:29:02 -08:00 |
Christopher Snowhill
|
083dbbf18b
|
Cog Audio: Also commit synchronization delay on new track playback
|
2022-01-13 23:54:16 -08:00 |
Christopher Snowhill
|
c8d2864862
|
Cog Audio: Enhance playback queue handler, so it always halts buffering when there are at least 30 seconds worth of buffers filled, possibly spanning multiple files. Also improve the chain reset function so that playlist changes and playback order control reset the queue properly when the queue refill function is currently entered in another thread.
|
2022-01-13 23:05:32 -08:00 |
Christopher Snowhill
|
7cc89c9f92
|
Cog Audio: Enhance track end extrapolator so it will always have a reasonable amount of buffered data for extrapolation
|
2022-01-13 23:03:53 -08:00 |
Christopher Snowhill
|
e6124335d1
|
Cog Audio: Change output callback to always retry reading for sample data until the requested buffer is filled, or until the playback either ends or is torn down. This prevents gaps when the preceding ring buffer wraps around.
|
2022-01-13 23:02:01 -08:00 |
Christopher Snowhill
|
92d29e7acf
|
Cog Audio: Now preserves already resampled output when switching output formats
|
2022-01-13 19:43:18 -08:00 |
Christopher Snowhill
|
ee509b6e13
|
Cog Audio: Remove unnecessary preprocessor macro for RetroArch code
|
2022-01-13 18:01:12 -08:00 |
Christopher Snowhill
|
73348b1616
|
Cog Audio: Implement play position skip ahead when output format changes, based on how much converter output is being discarded
|
2022-01-12 23:17:07 -08:00 |
Christopher Snowhill
|
52b17bd4d8
|
Cog Audio: Implement virtual ring buffer function to read buffered bytes count
|
2022-01-12 23:16:13 -08:00 |
Christopher Snowhill
|
d1b519d59d
|
Cog Audio: Only declare end of stream on read when previous node has declared end of stream and the buffer has actually run empty. This prevents the case where the buffer may terminate early due to the read pointer hitting the end of the ring buffer and wrapping.
|
2022-01-12 23:15:23 -08:00 |
Christopher Snowhill
|
ec7ac74fcd
|
Cog Audio: Fix input chain to reset its buffers when seeking properly
|
2022-01-12 23:13:49 -08:00 |
Christopher Snowhill
|
cc134ce293
|
Cog Audio: Converter node actually pauses when it is being reconfigured, and resets its buffer when the output format is changed
|
2022-01-12 23:13:00 -08:00 |
Christopher Snowhill
|
b0f5a37e85
|
Cog Audio: Only proceed to the next track when the current track has actually finished
|
2022-01-12 21:53:58 -08:00 |