1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-31 03:00:05 +00:00
Commit graph

619 commits

Author SHA1 Message Date
Anthony Nicholls
4808fdce30 CoreAudio: Prevent racing between calls to start and stop a device 2024-06-12 09:35:32 +01:00
reuk
72c7fd3070
CoreAudio: Allow non-combined devices to restart successfully 2024-05-20 12:49:55 +01:00
reuk
f2449cb092
CoreAudioIODevice: Make stopAndGetLastCallback() private 2024-05-20 12:49:55 +01:00
reuk
1f9ba0682c
ComSmartPtr: Make ownership more explicit
COM objects now always start with a refcount of 1, as is convention.
2024-04-16 21:07:45 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
reuk
5d0584059c
CoreAudio: No longer consider a device stopping to be a failure
The device may need to stop because it is about to restart with new
settings.

e.g. When the DemoRunner is started while the microphone is set to
44.1KHz and the speakers are set to 48KHz in Audio MIDI Settings, one of
the devices must be restarted in order for the AudioDeviceCombiner to
work. In this situation, stopping one device shouldn't count as an
error, because the device will be started again with new, compatible,
settings.
2024-03-06 15:58:17 +00:00
reuk
047448fbce
Warnings: Add missing overrides 2024-01-30 11:37:30 +00:00
reuk
35d29d2459
Oboe: Update to 1.8.0 2023-11-29 13:56:10 +00:00
Anthony Nicholls
e8d221ccb3 CoreAudio: Fix a bug when retrieving the index of a device nested inside an AudioIODeviceCombiner 2023-11-21 13:31:41 +00:00
Ian Clarkson
e2eb4aec94 macOS/iOS: Fix setting the AirPlay audio session category 2023-10-26 08:51:45 +01:00
attila
04978b52dd Windows: Fix MIDI compilation issue with WinRTIOWrapper 2023-10-11 00:14:28 +02:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa Formatting: Use nested namespace definitions 2023-10-09 14:49:18 +01:00
Anthony Nicholls
90c458d92e Includes: Move some miscellaneous includes into module header and source files 2023-10-09 14:49:18 +01:00
Anthony Nicholls
4c5cee578a AudioWorkgroup: Fix an issue with reference counters 2023-10-03 21:40:55 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
Tom Poole
ff0cb4ad5b Use NullCheckedInvocation in more places 2023-10-02 13:40:10 +01:00
Tom Poole
2fb19ffd8f Fix some LLVM 17 compiler warnings 2023-09-25 11:21:11 +01:00
reuk
1f90ecf6e3 WASAPI: Allow querying default layouts 2023-09-20 19:17:54 +01:00
reuk
3ee03cadd9
WASAPI: Avoid OOB write when the device activates fewer channels than requested 2023-09-20 18:41:51 +01:00
Anthony Nicholls
3540152d71 CoreAudio: Return the correct index when the list of devices change 2023-09-20 09:18:43 +00:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
Tom Poole
856aeaeeb1 iOS: Enable AirPlay 2023-09-15 15:48:03 +01:00
reuk
9b131c9628
CoreAudio: Fix deprecation warning when building for C++20 2023-08-31 21:33:26 +01:00
Oliver James
7d9cdd3016 Audio: Add AudioWorkgroup support
This allows real-time threads to join an audio workgroup on Apple platforms.
2023-08-30 12:03:47 +01:00
Tom Poole
82f1fd57a4 Fix some compiler warnings 2023-08-29 12:59:09 +01:00
reuk
5f44c14576
CoreAudio: Check all entries in inAddresses array in AudioObjectPropertyListenerProc 2023-07-31 11:37:23 +01:00
Anthony Nicholls
99138c13f8 Android: fix float comparisons
float comparison
2023-05-25 19:40:17 +01:00
reuk
63e80c3908
MIDI: Fix off-by-one bug when accessing MIDI ports on Linux 2023-04-05 11:34:41 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
Tom Poole
8524d4d815 Android: Fix a compiler warning 2023-03-03 13:41:06 +00:00
reuk
fd69d347b4
CoreMidi: Never convert messages to MIDI 2.0 protocol 2023-03-02 12:03:33 +00:00
reuk
a24be991fa
Oboe: Prefer SpinLock to raw atomics 2023-03-02 12:03:33 +00:00
reuk
76589ee800
Oboe: Avoid allocating on each audio callback 2023-03-02 12:03:33 +00:00
reuk
78a12d2f57 UMP: Migrate to std::byte 2023-02-14 22:29:01 +00:00
reuk
26a872ba9f
AudioDeviceManager: Send changeNotification when MIDI devices change
This patch also updates the MidiDemo to automatically refresh the device
lists when the set of available devices changes.
2023-01-25 17:07:24 +00:00
reuk
49a954d473
WASAPI: Only send change broadcast when devices are updated 2023-01-25 17:07:24 +00:00
reuk
f4f8f8e86b
iOS: Fix build issues with Xcode 10.1 2023-01-12 19:13:57 +00:00
attila
55a8b2ac12 Oboe: Add device types introduced between API level 31-33 2022-12-22 16:43:18 +00:00
reuk
93063de28d
CoreAudio: Avoid data race on fifo storage
Previously, whenever the output device sample time changed from
'invalid' to 'valid', the AudioBuffer fifo in the AudioIODeviceCombiner
was cleared. This caused a data race, since the clear operation was not
mutually exclusive with writes from the input device.

This change causes the AudioIODeviceCombiner to keep track of the
timestamp of the first input device callback after the output device is
invalidated. The output device is unable to read from the fifo until its
timestamp exceeds the stored input device callback timestamp.
2022-12-14 15:12:17 +00:00
reuk
6cd2ed022d
CoreAudio: Avoid race on currentSampleRate data member of AudioIODeviceCombiner 2022-12-14 13:17:57 +00:00
reuk
753b750858
Android: Fix build issues with OpenSL
Previously, JUCE_ANDROID_REALTIME_THREAD_AVAILABLE sometimes remained
unset, even though JUCE_USE_ANDROID_OBOE was set to its default value.
This is because in this case, JUCE_USE_ANDROID_OBOE is only defined in
juce_audio_basics.h, so it is not visible when compiling juce_core.cpp.
2022-12-14 11:12:32 +00:00
reuk
da38c1ed2a
TextInputTarget: Improve IME support on Android 2022-12-07 13:12:02 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
attila
5162793245 CoreAudioIODevice: Fix handling channel configurations with disabled lower bits
Prior to this commit it was not possible to deactivate the first few
channels of an audio device. If say channel 5 was active in the
requested configuration then all channels up to 5 would be active as
well regardless of the provided activation pattern.
2022-11-23 12:11:26 +01:00
attila
b33dde8134 CoreAudio: Report the number of active output channels in the device callback
As opposed to the number of hardware output channels.
2022-11-23 12:11:26 +01:00
reuk
f9b6e2ef69 CoreAudio: Refactoring 2022-11-09 13:03:05 +01:00
attila
9f99f02eb2 CoreAudioIODevice: Fix stale channel information after device information change
Until this commit CoreAudioIODevice could report inconsistent information in its
getActiveOutputChannels() and getOutputChannelNames() functions, and for
inputs as well. The reason for this was that a sudden configuration change
would immediately be reflected by the CoreAudioInternal::Stream::chanNames
member because those are read in the Stream's constructor. The activeChan
member would however just store stale values, until the Stream was recreated
later during device reopen.

This issue could lead to the AudioPluginHost crashing when opening a
Bluetooth headset.
2022-11-09 13:03:05 +01:00
hogliux
4abdb6da3e ASIO: Make "DENON DJ ASIO Driver" workaround more specific to the exact buggy driver version 2022-10-26 09:35:07 +02:00