chroma
d3cff375be
Thread: Introduce a new Thread backend
This is a breaking change - see BREAKING-CHANGES.txt
2 years ago
hogliux
98e0ee75a3
CoreAudio: Ensured that latency is correctly reported when input/output audio devices are different devices
2 years ago
hogliux
a8a0342745
CoreAudio: Include buffer size and stream latency when calculating CoreAudio device's total latency
2 years ago
hogliux
9a62775809
CoreAudio: More code modernisation and clean-up
2 years ago
attila
fcb7e0fc20
WinRT midi: Ensure object lifetimes in WinRT async callbacks
While the affected callbacks are cancelled before the referenced
state is deleted, we have had user reports that they can still be
accessed by the cancelled callbacks causing crashes. After only
finding warnings that WinRT AsyncCallback cancellation is not a
guaranteed thing, we saw it best to wrap the pointers.
2 years ago
hogliux
7958599848
CoreAudio: Fixed typo in recent CoreAudio clean-up
2 years ago
reuk
a6185421a2
ASIO: Add missing override on destructor
2 years ago
attila
f075de78fa
AudioIODeviceCallback, AudioBuffer, AudioFormatReader: Use const T* const* for multi-channel data
2 years ago
Fabian Renn-Giles
37d57810f2
CoreAudio: Modernised code interacting with CoreAudio audio objects
2 years ago
hogliux
9f803fe88b
WASAPI: Search for the maximum number of channels on a WASAPI device instead of relying on default
2 years ago
reuk
e9e39de069
AU: Avoid forming references to variable-size structs MIDIEventList and MIDIPacketList
2 years ago
attila
988d65e24f
CoreAudio: Report error if combined devices don't share a common sample rate
2 years ago
attila
5ec536f13f
CoreAudio: Forward errors to callback during device initialisation
2 years ago
reuk
455c865d37
CoreAudio: Avoid occasional deadlocks when calling AudioDeviceStart
2 years ago
reuk
f821015080
iOS: Remove iOS 10 preprocessor checks
The current minimum-supported Xcode (10.1) includes the iOS 12.1 SDK, so
APIs from iOS 10 will always be available.
2 years ago
Tom Poole
b51e835baf
Mac Catalyst: Fix compilation issues
2 years ago
reuk
8fbd99c424
AudioPlayHead: Improve granularity of position info
3 years ago
Tom Poole
db3c6e6216
macOS/iOS: Fix unguarded availability warnings
3 years ago
reuk
cfa289d943
AudioProcessor: Allow querying of the host timestamp in processBlock
3 years ago
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings
3 years ago
Tom Poole
eda5c696e5
macOS/iOS: Fix unguarded availability warnings
3 years ago
Tom Poole
dea3fe60e4
Update copyright banners
3 years ago
reuk
5491e7aae2
ALSA: Fix thread sanitizer warnings
3 years ago
Tom Poole
1f29416fd0
AudioDeviceManager: Improve device sample rate handling
3 years ago
Tom Poole
8573fb2442
macOS: Fix default buffer size for AirPods Pro
3 years ago
reuk
1616c0ee26
CoreAudio: Ensure devices are restarted correctly after changing sample rate
f1b6bbc921
erroneously replaced
callback = newCallback;
previousCallback = callback;
with
previousCallback = std::exchange (callback, newCallback);
It looks like previousCallback is intended to hold the last active
callback, so the previous version was correct after all.
3 years ago
Tom Poole
de97e53a87
Add 24000 Hz to standard device sample rates to support Airpods Pro
3 years ago
reuk
550d61e487
AudioIODevice: Ensure CoreAudio device can be restarted after stopping
3 years ago
reuk
f429647ae9
MinGW: Add uuid definitions for MinGW-w64
3 years ago
ed
f4f6433374
Android: Fix OpenSL build
3 years ago
ed
3f7791bbfe
ASIO: Include max size when adding supported buffer sizes
3 years ago
ed
fc0f6b1f2f
Tidy up
3 years ago
ed
b8cb4da497
ASIO: Amend 61fdde7c
to always sleep after calling setSampleRate()
3 years ago
ed
61fdde7cf9
ASIO: Add short sleep after calling setSampleRate() to allow devices to respond to changes
3 years ago
reuk
f1b6bbc921
CoreAudio: Fix thread sanitizer warnings
3 years ago
ed
7d1918b385
macOS/iOS: Replace compile-time deployment target checks with runtime checks using the available keyword
3 years ago
ed
69d4e0186f
Update code to use new AudioData interleaving/deinterleaving API
3 years ago
ed
3e606cc378
Update code to use new AudioData interleaving/deinterleaving helper methods
3 years ago
ed
291f88abb2
macOS/iOS: Suppress and fix unguarded availability warnings
3 years ago
reuk
22f0f2b433
AudioDeviceManager: Refactor to avoid repetition
3 years ago
reuk
b0bd1c4f63
SingleThreadedAbstractFifo: Move into juce_core
3 years ago
reuk
9199fa3c51
Warnings: Avoid triggering missing-prototypes warnings on macOS/iOS
3 years ago
reuk
fd87195941
iOS Audio: Allow specifying a fixed set of preferred sample rates
By defining JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES, the iOS audio device
will always use the requested samplerates instead of querying the
current audio device for the samplerates it supports. This is useful
because certain hardware (such as the Focusrite iTrack Dock) takes a
long time to set new samplerates, which can end up freezing the main
thread for significant lengths of time.
This approach is inspired by the AUM app for iOS, which appears to
provide a fixed list of "allowed" samplerates, rather than querying the
device for its allowed samplerates.
3 years ago
reuk
3f5862cf17
WASAPI: Tidy up internal buffering mechanism
3 years ago
ed
a6df818255
Android: Update to Oboe release 1.6.1
3 years ago
ed
cffb544941
UMP: Remove juce_audio_devices dependency
3 years ago
reuk
3c68581567
Use jassertquiet where possible
3 years ago
reuk
48659d6e9b
MIDI: Avoid data races in Linux MidiInput
3 years ago
ed
0c89469ab6
CoreAudio: Call AudioDeviceStop() on IO thread when stopping audio devices
When AudioDeviceStop() is called from a thread other than the IO thread there are no guarantees about the IOProc being called before the thread actually terminates. Moving this call to the audioCallback() method ensures that the device will be stopped immediately and we can remove a check that was taking a few seconds to close devices.
3 years ago
reuk
a70488e38e
MacOS: Fix API deprecations in macOS 12.0 and iOS 15.0
4 years ago