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
Christopher Snowhill
5fef62dd03
Cog Audio: Implemented device output and input file format changing support
2022-01-12 21:31:22 -08:00
Christopher Snowhill
9feaffc92d
Cog Audio: Made RetroArch resampler safer
2022-01-12 18:45:43 -08:00
Christopher Snowhill
8664bacc60
Core Audio output: Correctly terminate output when requested to stop, preventing a case where multiple outputs were draining the playback buffer at once
2022-01-12 16:04:41 -08:00
Christopher Snowhill
2633e713a3
Cog Audio: Remove seek mess from previous commit
2022-01-12 16:03:49 -08:00
Christopher Snowhill
f1d70aaa54
Cog Audio: Add explanatory comment to source code
2022-01-12 03:36:27 -08:00
Christopher Snowhill
84d445cffe
Cog Audio: Fix converter so that seeking on startup playback position resume works properly
2022-01-12 03:01:55 -08:00
Christopher Snowhill
16402f9982
RetroArch resampler: Stub out code we don't need, reducing code size
2022-01-12 03:01:55 -08:00
Christopher Snowhill
3b125c0440
Cog Audio: Improve virtual ring buffer class
2022-01-11 22:50:18 -08:00
Christopher Snowhill
a76f3c3476
Cog Audio: Reorder project files
2022-01-11 22:48:50 -08:00
Christopher Snowhill
f8e3b0e1ee
Core Audio output: Some more minor changes
2022-01-11 22:06:41 -08:00
Christopher Snowhill
557e0bd399
Core Audio output: Fix so it stops properly
2022-01-11 20:38:17 -08:00
Christopher Snowhill
91c3feac2e
Cog Audio converter: Fix handling signed versus unsigned for 8 bit samples
2022-01-11 19:37:47 -08:00
Christopher Snowhill
f44e4e793b
Cog Audio converter: Fix end of track flush and extrapolation
2022-01-11 19:37:17 -08:00
Christopher Snowhill
ed882e25cb
Cog Audio: Resampler now extrapolates into latency padding for better gapless playback
2022-01-11 18:19:30 -08:00
Christopher Snowhill
7d4841b1c6
Core Audio output: Don't upmix unless output device requests it by default
2022-01-11 18:18:38 -08:00
Christopher Snowhill
ee05fe9e44
Core Audio output: Add sanity checking for supported formats, and support 64 bit float input data, in case anything actually uses that
2022-01-11 17:09:06 -08:00
Christopher Snowhill
4dd46a1b5b
Core Audio output: Fix output stopping properly
2022-01-11 07:52:44 -08:00
Christopher Snowhill
72210c67e4
Replaced AudioQueue output with AUAudioUnit
2022-01-11 07:06:40 -08:00
Christopher Snowhill
c4c9a741ef
Replaced AudioToolbox converter process with homebrew solution, using the RetroArch sinc resampler
2022-01-11 04:09:19 -08:00
Christopher Snowhill
dfe92ffedc
Audio Player: Fix so ReplayGain isn't reset on seek
2021-12-28 21:05:25 -08:00
Christopher Snowhill
841481599e
Audio Player: Minor change
2021-12-28 21:04:46 -08:00
Christopher Snowhill
c1c21ec84f
Hopefully fix glitching on seeking
2021-12-28 16:04:16 -08:00
Christopher Snowhill
486352ea72
Core Audio output: Enforce some minimum quality settings
2021-12-28 15:41:31 -08:00
Christopher Snowhill
ba3746fcff
Remove blank line
2021-12-28 15:40:53 -08:00
Christopher Snowhill
476dd913b2
Audio player: Attempt to fix queue issues. There are still remaining issues if a single short track queues repeatedly and the user changes tracks manually.
2021-12-28 15:40:26 -08:00
Christopher Snowhill
38c530043d
Output converter: Add more upmixing modes
2021-12-28 15:39:23 -08:00
Christopher Snowhill
b13235ec5f
Fix 6.1 stereo downmix mapping
2021-12-28 00:10:44 -08:00
Christopher Snowhill
258a56a276
Audio Output: Implement more upmixing modes, and correct some upmixing behavior
2021-12-28 00:09:57 -08:00
Christopher Snowhill
ad3058c4f3
Audio Queue: Better handle a lot of short files playing in a row, so files don't get skipped, and so the player doesn't get overburdened starting new files
2021-12-27 23:21:48 -08:00
Christopher Snowhill
e2bca8f93b
OpenMPT: Correctly OS version gate the OpenMPT plugins, and add an interface for any other plugin to use, should it ever become necessary
2021-12-27 17:46:09 -08:00
Christopher Snowhill
25a43a9083
Audio Output: Fix converter to always emit trailing samples on end of track
2021-12-27 17:04:16 -08:00
Christopher Snowhill
8e895c88c0
Core Audio output: Properly apply or remove default device change listener when switching preferences between the 'System Default Device' setting and manually setting the device to the current default
2021-12-26 21:33:28 -08:00
Christopher Snowhill
8435416cd7
Core Audio output: Default device setting now tracks system device changes, and output assigns a speaker mapping depending on the channel count
2021-12-26 21:27:26 -08:00
Christopher Snowhill
378aaf23ae
Clean up several CFStringRef leaks
2021-12-26 18:08:53 -08:00
Christopher Snowhill
d2e480ace5
Core Audio output: Properly support switching output devices
2021-12-26 17:16:16 -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
1cc34ea7d4
Audio Output: Made converter cleanup atomic, to wait on any threads that are still running
2021-12-26 04:34:33 -08:00
Christopher Snowhill
8d7cd6cc93
Multi Input plugin: Correctly forward register and remove observer callbacks to the actual decoder in use
2021-12-26 02:01:53 -08:00
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
Chris Moeller
03b825ced3
Hopefully fix the last of the Automatic Reference Counting issues that remained.
2016-06-19 12:57:18 -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
ce2303ef24
Update project files for new Xcode
2015-11-12 21:31:10 -08:00
Chris Moeller
52362e4341
Workaround bugs in the 10.11 SDK by using the 10.10 SDK instead
2015-08-05 17:03:12 -07:00
Chris Moeller
897c9b069e
Work around compilation issue with Xcode 7 beta targeting systems older than El Capitan
2015-08-03 18:09:46 -07:00
Chris Moeller
06d0f1834c
Added slight sleep delay to retry cycle of input decoder chain
2015-08-02 00:18:22 -07:00
Chris Moeller
a6b6369a6d
Added class priority levels to metadata readers, properties readers, and containers, all so sidplay can be downvoted for mishandling id MUS format when trying to read its own MUS format
2015-04-13 00:39:24 -07:00
Chris Moeller
5677527ffd
Changed code signing procedures, removed unnecessary Plugin.h copies from numerous PlugIn bundles, and re-signed Growl.framework with a valid signature
2015-03-18 21:45:32 -07:00
Chris Moeller
b50ed67591
Fixed Repeat None correctly this time
2015-02-10 21:42:36 -08:00
Chris Moeller
f55eb1d3bf
Added a silence decoder, and fall back all decoder open failures on one second of silence
2015-02-08 18:15:02 -08:00
Chris Moeller
7d4df7e1f2
Fixed code signing issues
2014-08-01 03:46:25 -07:00
Chris Moeller
9d5a1fc32e
Handled FLAC seeking to the end of file, and stopping on seek errors in general
2014-03-26 02:46:36 -07:00
Chris Moeller
7af4e94b03
Removed signature application from individual projects and added --deep option to the main app project
2013-10-22 18:41:57 -07:00
Chris Moeller
ad9a949c26
Turned on code signing
2013-10-21 18:28:53 -07:00
Chris Moeller
9c660b593a
Whoops, fixed observer handling
2013-10-21 11:24:48 -07:00
Chris Moeller
63fba5930e
Implemented support for multiple decoders per file name extension, with a floating point priority control per interface. In the event that more than one input is registered to a given extension, and we match that extension, it will be passed off to an instance of the multi-decoder wrapper, which will try opening the file with all of the decoders in order of priority, until either one of them accepts it, or all of them have failed. This paves the way for adding a VGMSTREAM input, so I can give it a very low priority, since it has several formats that are verified by file name extension only. All current inputs have been given a priority of 1.0, except for CoreAudio, which was given a priority of 0.5, because it contains an MP3 and AC3 decoders that I'd rather not use if I don't have to.
2013-10-21 10:54:11 -07:00
Chris Moeller
755147b48a
Through a bit of ugliness and interface exposure, the InputNode will now pause the OutputNode while it is making the decoder seek, which prevents cases of the output continuing to run for seconds at a time during a slow seek operation by decoders such as HighlyComplete
2013-10-20 22:04:09 -07:00
Chris Moeller
5b13ee3f97
Fixed Ogg chained streams which I broke with the previous commit
2013-10-18 05:56:41 -07:00
Chris Moeller
8c80981827
Minor changes that may or may not have any impact on gaplessness
2013-10-18 05:33:38 -07:00
Chris Moeller
b9ce8462c4
Corrected gaplessness with my new converter setup
2013-10-18 05:33:20 -07:00
Chris Moeller
39f4c60f19
Enabled DEBUG=1 macro in debug builds of several older projects
2013-10-17 23:39:26 -07:00
Chris Moeller
70e571fed9
Now handling a race condition where the buffer is emptied between where it is read and where it is told how much has been read from it
2013-10-13 05:59:19 -07:00
Chris Moeller
a52c54a12c
Initialize some pointers properly, and redesign to reallocate the converter buffer instead of freeing it every time
2013-10-13 05:14:57 -07:00
Chris Moeller
b9a014ab16
Upgraded a couple of projects, raised the minimum OS version to 10.7, and removed libstdc++ setting from any projects that needed it
2013-10-12 19:18:46 -07:00
Chris Moeller
759aeab4fb
Implemented pause on startup
2013-10-12 19:16:47 -07:00
Chris Moeller
26cf87a62e
Oops, ChainQueue items should not be removed twice
2013-10-12 16:03:59 -07:00
Chris Moeller
c088011fd5
mamburu: Some more fixes
2013-10-12 14:01:21 -07:00
Chris Moeller
1b818bcaa7
mamburu: Fixed InputNode's thread not being stopped at all
2013-10-12 13:59:34 -07:00
Chris Moeller
56848daad6
mamburu: Fixed crashes when seeking near the end of stream
2013-10-12 13:52:58 -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
c29583ec42
Fixed ConverterNode listener
2013-10-10 20:02:02 -07:00
Chris Moeller
dda7bf994d
Whoops, forgot to enable generating debugging symbols for the release targets in those projects
2013-10-10 04:52:15 -07:00
Chris Moeller
0ca7c2ee2f
Enabled DWARF with dSYM for release target on all projects
2013-10-10 04:41:25 -07:00
Chris Moeller
5ade3931d3
Corrected bundle identifiers
2013-10-10 04:28:04 -07:00
Chris Moeller
3e057adf56
Replaced every instance of NSEnumerator with for/in loops
2013-10-10 01:44:45 -07:00
Chris Moeller
bbb5549873
Added MPEG Audio support to FFMPEG plugin, which also supports proper seeking in VBR files; Fixed decoding of files which contain multiple streams
2013-10-08 23:57:58 -07:00
Chris Moeller
1123dc6b91
Whoops, forgot to remove the volume scaling option observer when cleaning up ConverterNode
2013-10-07 20:21:34 -07:00
Chris Moeller
cdafef8a9c
Fixed handling ReplayGain info on automatic track changes
2013-10-07 13:03:34 -07:00
Chris Moeller
2837b12d32
Fix unsigned reporting, and can't match unsigned type declaration exactly
2013-10-07 11:26:23 -07:00
Chris Moeller
15c545b10d
Fixed input to float conversion and made it mandatory, so I could move volume scaling to the converter node
2013-10-07 03:59:04 -07:00
Chris Moeller
8aa01894ee
Added downmixing of surround for stereo output devices
2013-10-07 00:24:26 -07:00
Chris Moeller
167524b6f2
Added basic output device channel mapping support
2013-10-07 00:24:00 -07:00
Chris Moeller
74b6188772
Implemented floating point sample format support into CogAudio and all relevant plug-ins
2013-10-05 14:15:09 -07:00
Chris Moeller
52c947db10
Changed all sub-component projects to skip install, since copy steps bundle them all into the target app
2013-10-04 13:11:32 -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
5a4a450dea
Changed all projects to use latest SDK and build 32/64 bit Universal, and target for deployment on 10.6
2013-10-02 14:59:22 -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
Chris Moeller
fa6b5d4290
Changed debug target to 32-bit so I can debug with the 10.6 SDK target
2013-09-29 17:25:22 -07:00
Chris Moeller
17682d4397
Updated DUMB
2013-09-27 20:24:23 -07:00
vspader
288c5cbee5
Misc leaks fixes.
2009-09-01 21:14:07 -07:00
vspader
a531e31d42
Force stereo output. Ugly hack, but it's unlikely non-stereo was working properly anyways.
2009-06-28 11:57:48 -07:00
vspader
170c8cb2f3
Fixed bug where audio device was set after the format.
2009-06-28 10:51:30 -07:00
vspader
bf7b2c0a2b
Added timeout and chillout logic to the HTTP source so it doesn't freak out when there's no data available.
2009-03-06 21:58:50 -08:00
vspader
4bd8f6142c
Moved growl/scrobbler notifications into PlaybackEventController.
2009-03-05 09:03:30 -08:00
vspader
87c0109773
Corrected logic for resetting streams.
2009-02-28 22:02:26 -08:00
vspader
d7ddda160e
Modified plugin logic so one class can be multiple plugin types.
2009-02-28 20:12:47 -08:00
vspader
b5b5b45eda
Fixed thread leak when next streams are reset.
2009-02-28 19:14:52 -08:00
vspader
1fcf3bb2ff
Fixed up fading logic.
2009-02-28 13:19:26 -08:00
vspader
384911beb6
Playback continues as expected when you moved a song that was at the end of the playlist.
2009-02-28 11:11:22 -08:00
vspader
85630c836a
Fixed bug when you changed the playlist without having a next song queued up.
2009-02-28 11:01:49 -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
c9e542f570
Added better tooltip feedback.
2009-02-09 05:53:38 +00:00
lmsilva
6c4f9c7745
2008-12-15 10:34:45 +00:00
lmsilva
dda74d0608
fixed seek slider from becoming active & disabling it when STOP occurs
2008-11-21 15:14:23 +00:00
vspader
c78a553532
Bug fix for cue sheet changes.
2008-05-01 23:34:23 +00:00
vspader
dd89208ee0
Removed singleton nonsense.
2008-03-03 02:18:27 +00:00
matthewleon
a0cdf1a03e
Fixed CogAudio bool bug.
2008-03-01 15:32:28 +00:00
matthewleon
6b35fee9e3
Cleaning CogAudio code.
2008-03-01 15:28:17 +00:00
matthewleon
666d803897
Code cleanup.
2008-03-01 15:04:46 +00:00
vspader
3ab720427e
Made stop update synchronous since there were issues when moving on to the next song.
2008-02-22 03:46:04 +00:00
vspader
c6dc1fd141
Fixed #70 .
2008-02-22 03:09:03 +00:00
areff
567711e85e
Fixed Trac bug 65: Doesn't show correct position after 203:50 mins - caused by an unsigned long overflow.
2008-02-18 11:37:33 +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
5228709d0f
Fixed fadeout code so it sounds a bit better (timer fires faster, steady drop in volume rather than incremental)
2008-02-16 15:28:39 +00:00
vspader
03b0abb92f
Fixed memory leak in previous commit caused by anal retentive retention.
2008-02-16 02:52:49 +00:00
vspader
a4eb42eab0
Fixed crash, and in doing so introduced a huge memory leak!
...
Added patch from Eric Hanneken that improves shuffle.
2008-02-16 02:46:19 +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
vspader
5715522470
Moved to frame-based reading/seeking instead of byte/second based. Some formats have still not been updated and are broken.
...
Added icons for other formats.
2007-11-24 20:16:27 +00:00
vspader
678d406879
Bug fix for flac files.
2007-11-04 03:08:41 +00:00
vspader
9a344922da
Fixed the way plugin controller was setup and loaded.
...
Updated cuesheet to search for alternate types if wav is not there.
2007-10-20 15:53:52 +00:00
vspader
cc806285e0
Updated plugin architecture. No more plugin classes! Now loads classes based on protocol alone.
2007-10-20 15:46:39 +00:00
vspader
5ff84158cc
Made playlist/cuesheet encoding a little more robust (Vasfed).
2007-10-20 15:08:06 +00:00
vspader
2e44b9833e
Fixed some synchronization problems.
2007-10-20 03:24:27 +00:00
vspader
d82fdcbf62
Bug fixes from 0.07 branch.
2007-10-19 02:23:10 +00:00
vspader
5084b555cb
Removed nonexistent framework search paths.
2007-10-14 19:18:20 +00:00
vspader
535e0e802f
Updated mime-types.
2007-10-14 18:56:23 +00:00
vspader
f1b9141f4b
Added mime type support.
2007-10-14 18:12:15 +00:00
vspader
c536ea06a5
Removed useless PropertiesReader classes.
...
PluginController now uses the decoder if a properties reader class is not found.
PropertiesReaders should still be created if performance can be improved if code is only reading properties.
2007-10-14 17:31:20 +00:00
vspader
fca5ddc8d0
Fixed bug that was causing play/pause button not to work with a lot of short tracks.
2007-10-13 08:50:40 +00:00
vspader
c76c95529a
Fixed end of playlist crash.
2007-10-13 08:25:44 +00:00
vspader
fc9069d7c7
Fixed unguarded critical sections.
2007-10-13 08:14:05 +00:00
vspader
97a278a143
Cleaned up memory leaks.
2007-10-13 07:09:46 +00:00
vspader
b51d8aedb5
Added metadata reading to cue sheets.
2007-10-13 01:07:19 +00:00
vspader
139bab5e0e
Fixed up streaming a bit.
...
Removed debugging code for http source. Was that in 0.06? Whoops.
2007-10-12 02:55:59 +00:00
vspader
ad844b1df3
Finished comment.
2007-10-11 11:31:36 +00:00
vspader
b57bcc121c
Added support for gapless multitrack files.
...
Modified cue sheet plugin to use it.
2007-10-11 02:08:29 +00:00
vspader
50395e6e72
Basic cue sheet support working. Bug city.
2007-10-10 01:59:25 +00:00
vspader
88aecc7de2
Added AudioContainer plugin and made pls and m3u loaders that use it.
2007-10-09 01:20:46 +00:00
vspader
0e2da5efc7
Cleaned up converter. Added Media Keys support for apple's new multimedia keyboard (has not been tested).
2007-10-03 22:26:39 +00:00
vspader
5fd24bd88b
Fixed ConverterNode.m file.
2007-10-03 20:24:14 +00:00
vspader
5ad2728d3c
Moved converter to a seperate node again.
2007-10-03 20:23:14 +00:00
vspader
daba91b462
Removed debugging messages.
2007-07-11 01:20:32 +00:00
vspader
a2b9db5f58
Fixed bug where dialogs would lose focus when the dock icon is clicked.
...
Fixed bug where playback would not resume when seeking to the end of a file.
Fixed bug where seek bar is enabled on launch.
2007-07-05 23:08:10 +00:00
vspader
3c81795044
Fixed paths for xcode dependency handling.
2007-07-04 15:26:11 +00:00
vspader
96ed93e5eb
Fixed some problems with non-lowercase file extensions.
...
Added automatic filetype finding for quicktime plugin. Note that the files it adds are rather generous (txt, swf, and other file types that are not neccessarily audio)
2007-06-10 22:05:49 +00:00
vspader
bf67dbb5d1
Fixed play/pause button when pausing/seeking.
2007-06-03 17:04:23 +00:00
vspader
78a908274b
Fixed bug where unseekable songs still allowed the user to move the slider and updated the time.
2007-05-27 15:11:30 +00:00
vspader
88d26d3461
Fixed some seeking bugs.
2007-05-26 22:13:11 +00:00
vspader
b653133695
Added debug message for when output buffer runs dry.
2007-05-26 12:44:01 +00:00
vspader
0f7f8f2750
A fix to try to stop the buffer from running dry when seeking.
2007-05-26 12:42:00 +00:00
vspader
5f7215e5e7
Fixed overflow error.
2007-05-22 23:37:22 +00:00
vspader
086acdc849
Fixed crash when encountering nonexistent file.
2007-05-22 23:15:07 +00:00
vspader
4e1f598ac4
Fix for short audio files.
2007-05-16 23:07:00 +00:00
vspader
1eda6c0e7d
Removed debugging messages.
2007-05-16 01:31:04 +00:00
vspader
a18ab13d58
Fixed up shorten decoder.
2007-05-16 01:30:28 +00:00
vspader
79934e0607
Fix for some playback issues (low frequency files).
2007-05-16 01:06:23 +00:00
svenforkbeard
8fd4ca4d50
Removed the French localization.
2007-05-15 05:19:33 +00:00
vspader
bbba06e4b2
Fixed bug that caused problems when doing sample rate conversion.
2007-05-10 23:19:56 +00:00
vspader
77c7819dd6
Added some error messages that should hopefully fix some initial stuttering issues.
2007-03-19 00:19:47 +00:00
vspader
15f1aa2ebd
Cleaned up code. Added PlaylistLoader class properly, with support for m3u and pls formats. Changed default playlist to m3u. Added bugs GALORE!
2007-03-09 01:16:06 +00:00
vspader
ce08d6d4da
Doubled the buffer size. Since the converter and input are now merged, a larger buffer is a good thing (tm).
2007-03-04 16:00:26 +00:00
vspader
eb96a75a1f
Modified CoreAudioDecoder to use new source based system. It just ignores the source and uses its own, since the ExtAudioFile API is absolutely hopeless when it comes to streaming.
2007-03-04 04:36:10 +00:00
vspader
d5c777f7e8
Fix crash when input errors.
2007-03-04 00:59:40 +00:00
vspader
c810d2f492
Muleiple vorbis bitstreams in one file for streaming. Bitstreams can be different formats. (!)
2007-03-03 22:55:26 +00:00
vspader
aafb021a80
Gapless playback fixes.
2007-03-03 21:13:25 +00:00
vspader
1e16835c8c
Fixed up converter/inputnode relationship.
2007-03-03 18:25:10 +00:00
vspader
1aead1bf0d
Merged decoder and converter threads to facilitate midstream format changing.
2007-03-03 17:19:37 +00:00
vspader
116e78c3ed
Removed SourceNode, since its dumb.
2007-03-03 00:41:19 +00:00
vspader
934840ace5
Added source plugin support. Things are incredibly broken. Besides Ogg Vorbis. That should still work.
2007-03-02 01:36:52 +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
656be855ce
Removed decoders folder.
2007-02-28 00:03:38 +00:00