1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

868 commits

Author SHA1 Message Date
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
Tom Poole
b769982bb5 Bump version number to 7.0.7 2023-08-23 09:06:58 +01:00
Tom Poole
d5cb08e60e Bump version number to 7.0.6 2023-08-03 10:58:48 +01:00
reuk
5f44c14576
CoreAudio: Check all entries in inAddresses array in AudioObjectPropertyListenerProc 2023-07-31 11:37:23 +01:00
Tom Poole
ff835be2ac Doxygen: Fix some Doxygen issues 2023-07-17 18:24:01 +01:00
Anthony Nicholls
99138c13f8 Android: fix float comparisons
float comparison
2023-05-25 19:40:17 +01:00
Mathieu Demange
c0af8de2f4 Docs: Fix a typo 2023-04-19 16:56:12 +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
d5ad26a162
AUv2 Client: Add support for new MIDIEventList APIs on supported platforms 2023-02-15 22:23:56 +00:00
reuk
78a12d2f57 UMP: Migrate to std::byte 2023-02-14 22:29:01 +00:00
Tom Poole
29a90a0231
BSD: Fix some compiler warnings 2023-02-14 17:00:02 +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
238fbfca94
AudioIODeviceType: Fix typo 2023-01-25 17:07:24 +00:00
Tom Poole
78f1baae08 Bump version number to 7.0.5 2023-01-25 11:37:31 +00:00
reuk
f4f8f8e86b
iOS: Fix build issues with Xcode 10.1 2023-01-12 19:13:57 +00:00
Tom Poole
715fa7e8dc Bump version number to 7.0.4 2023-01-05 14:36:45 +00:00
attila
55a8b2ac12 Oboe: Add device types introduced between API level 31-33 2022-12-22 16:43:18 +00:00
attila
0e685a9c5b Android: Add missing getAndroidRealtimeThreadFactory implementation
The issue affected projects not depending on juce_audio_devices.
2022-12-16 23:12:28 +01: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
Tom Poole
306ed633c6 Bump version number to 7.0.3 2022-11-29 11:04:54 +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
reuk
12be2e8838
CoreAudio: Avoid truncating device names 2022-10-20 18:12:49 +01:00
chroma
d3cff375be Thread: Introduce a new Thread backend
This is a breaking change - see BREAKING-CHANGES.txt
2022-10-18 11:49:47 +01:00
hogliux
98e0ee75a3 CoreAudio: Ensured that latency is correctly reported when input/output audio devices are different devices 2022-10-06 15:47:41 +02:00
hogliux
a8a0342745 CoreAudio: Include buffer size and stream latency when calculating CoreAudio device's total latency 2022-10-06 15:45:36 +02:00
hogliux
9a62775809 CoreAudio: More code modernisation and clean-up 2022-10-06 15:35:26 +02:00
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.
2022-10-05 15:46:09 +02:00
hogliux
7958599848 CoreAudio: Fixed typo in recent CoreAudio clean-up 2022-09-28 16:31:58 +02:00
reuk
a6185421a2
ASIO: Add missing override on destructor 2022-09-27 15:18:21 +01:00
attila
c97864d7f3 Remove AudioIODeviceCallback::audioDeviceIOCallback 2022-09-22 07:50:18 +00:00
attila
f075de78fa AudioIODeviceCallback, AudioBuffer, AudioFormatReader: Use const T* const* for multi-channel data 2022-09-22 07:50:18 +00:00
Fabian Renn-Giles
37d57810f2 CoreAudio: Modernised code interacting with CoreAudio audio objects 2022-09-21 18:11:57 +00:00
hogliux
9f803fe88b WASAPI: Search for the maximum number of channels on a WASAPI device instead of relying on default 2022-09-14 14:17:40 +02:00
reuk
b3a4d54a72
Build: Update the minimum C++ standard to C++17 2022-09-12 16:14:57 +01:00