reuk
a9a99a0a08
CoreMidi: Correctly apply protocol conversions for incoming messages
2025-09-24 13:12:19 +01:00
reuk
fa1b4b07ef
CoreMidi: Respect input protocol request
2025-09-24 13:00:55 +01:00
reuk
774819540e
CoreMidi: Fetch detailed error information on supported platforms
2025-09-17 12:50:07 +01:00
reuk
883d3cdce3
UMP: Fix typos and add detail to docs
2025-09-17 12:50:07 +01:00
reuk
c1c9c5c066
UMP: Move StaticDeviceInfo definition to a new header file
2025-09-17 12:50:07 +01:00
reuk
a99bff1e1d
JACK: Fix build failure on Linux when JUCE_JACK=1
2025-09-17 12:50:07 +01:00
reuk
ba7593df26
MIDI: Add support for MIDI 2.0 I/O using Universal MIDI Packets
...
Includes support for communication with USB and Bluetooth devices, as well as virtual devices.
2025-09-17 12:50:07 +01:00
reuk
3636f2c666
WaitFreeListeners: Add new ListenerList implementation for listeners that must be called in a realtime context
2025-09-17 12:50:06 +01:00
reuk
71b1d001de
BluetoothMidiDevicePairingDialogue: Improve formatting
2025-09-17 12:50:06 +01:00
reuk
9a7e70ced3
MIDI: Get rid of InputHandler types that are no longer required
2025-09-17 12:50:06 +01:00
reuk
7dc906fa1b
MIDI: Update UMPDispatcher to allow dispatching on a specific group
2025-09-17 12:50:06 +01:00
reuk
fa1f8ed54e
MIDI: Switch BytestreamMidiView for BytesOnGroup in a few places
2025-09-17 12:50:06 +01:00
reuk
835216c581
MIDI: Use Spans instead of pointer pairs in more places
2025-09-17 12:50:06 +01:00
reuk
9a7ac1f743
Bela: Drop support
2025-09-17 12:50:05 +01:00
reuk
8ce1f19bf0
JNI: Tidying
2025-09-17 12:50:05 +01:00
reuk
99d8b9b5e1
iOS: Fix sample rate detection on iOS 26
2025-09-16 22:46:56 +01:00
Tom Poole
360dfe5f3d
Bump version number to 8.0.10
2025-09-15 09:30:11 +01:00
Tom Poole
cb9ec7e38f
Bump version number to 8.0.9
2025-09-01 14:44:25 +01:00
reuk
9be03bc99e
Android Oboe: Reopen streams correctly after device disconnection
...
Even if the output stream is the only one receiving callbacks, it's
possible that the input device got disconnected, in which case we'll
still need to recreate both streams.
2025-08-27 16:57:17 +01:00
Anthony Nicholls
36d07a6ce3
Docs: Replace doxygen preprocessor conditionals with @cond and @endconds
2025-07-21 18:11:43 +02:00
reuk
37bb7a6c30
iOS: Fix deprecation warning
2025-06-10 20:16:02 +01:00
reuk
dcf0bf1c2a
WASAPI: Fix bug where attempting to clear output buffers had no effect
2025-06-03 16:12:00 +01:00
reuk
4045b0f8f6
WASAPI: Attempt to avoid potential races on state flags
2025-06-03 16:11:59 +01:00
reuk
86e0248f79
WASAPI: Use more early returns
2025-06-03 16:11:59 +01:00
reuk
3c1012baeb
AudioDeviceManager: Handle loading of XML with missing fields more gracefully
2025-06-03 16:08:56 +01:00
reuk
f6df3e3ce1
CoreAudio: Respect buffer size passed to audio callback
...
We now query the incoming buffers to see how many samples are available.
If the callback's buffers will fit into our preallocated buffer (i.e. the
length in samples is smaller or equal to the preallocated buffer), then
we perform an audio callback with the provided data, even if the number
of samples is smaller than expected.
If the callback's buffers are larger than expected, we split the
incoming buffer into chunks that are no larger than the prepared
buffer-size.
2025-06-03 16:08:20 +01:00
reuk
ff99341179
CoreAudio: Replace HeapBlock with vector to retain allocation size
2025-06-03 16:08:20 +01:00
Tom Poole
b0d569c74b
Bump version number to 8.0.8
2025-06-02 09:24:54 +01:00
reuk
457de394e0
iOS Audio: Remove buffer size assertion
...
This assertion is no longer relevant now that the AudioDeviceManager
enforces the maximum buffer size.
2025-05-27 14:39:27 +01:00
reuk
b4f71ab6db
AudioDeviceManager: Tidy up CallbackMaxSizeEnforcer
2025-05-27 14:39:25 +01:00
reuk
ee37564083
AudioDeviceManager: Move CallbackMaxSizeEnforcer from StandaloneFilterWindow
2025-05-27 14:39:25 +01:00
Tom Poole
99b752a1d2
Bump version number to 8.0.7
2025-04-08 10:51:07 +01:00
reuk
51be8b9332
Android: Remove unnecessary SDK version checks
2025-03-19 11:06:17 +00:00
Anthony Nicholls
f985cf0c31
iOS: Restore sample rate after iterating available sample rates
2025-02-27 14:50:53 +00:00
Anthony Nicholls
76e498f495
AudioDeviceManager: Skip validation when there is only one device
2025-02-27 14:50:53 +00:00
Anthony Nicholls
a433e4dce0
iOS: Set target settings before updating hardware info to reduce the number of device changes
2025-02-27 14:50:53 +00:00
Anthony Nicholls
462c1c857e
iOS: Improve performance when detecting and changing sample rates
2025-02-27 14:50:53 +00:00
Anthony Nicholls
4cbbf203f8
iOS: Improve performance when detecting and changing buffer sizes
2025-02-27 14:50:05 +00:00
Anthony Nicholls
5008d349e9
iOS: Prevent audio glitches when changing sample rate
2025-02-27 14:50:05 +00:00
Anthony Nicholls
bd7eff0705
iOS: Fix an issue in which the reported sample rate may not always be correct
2025-02-13 09:34:41 +00:00
Anthony Nicholls
0864d614fd
iOS: Provide a workaround for discovering sample rates on iOS 18
...
There appears to be a bug on iOS 18 which means the session sample
may not update after a call to setPreferredSampleRate
2025-02-12 11:58:02 +00:00
reuk
08fcb744cc
JACK: Fix missing-prototype and unused-function warnings emitted by clang
...
Co-authored-by: Pierre Guillot <guillotpierre6@gmail.com>
2025-01-13 15:27:00 +00:00
tpoole
0baffff182
Bump version number to 8.0.6
2025-01-10 09:29:00 +00:00
tpoole
902ddc7567
Bump version number to 8.0.5
2025-01-08 14:23:21 +00:00
Oliver James
f608e7cce2
juce_audio_devices: Add support for JACK on Windows and macOS
2024-12-11 13:50:13 +00:00
Oliver James
b7d0364e69
AudioTransportSource: hasStreamFinished returns true when stream finished
2024-12-11 13:48:47 +00:00
Oliver James
951b02c86d
AudioDeviceManager: Always save audioDeviceBufferSize
2024-12-06 12:19:16 +00:00
attila
1f8882dee0
Avoid assertions during AudioDeviceManagerTests
2024-12-04 15:40:21 +00:00
reuk
5c138561bb
MidiDeviceListConnectionBroadcaster: Avoid constructing MessageManager on incorrect thread
...
Previously, if the very first call to
MidiDeviceListConnectionBroadcaster::get() happened on a background
thread (which could happen on macOS in response to a MIDI setup
configuration change), then MessageManager::getInstance and
getAvailableDevices could be called on that same thread.
With this change in place, midi change notifications will be ignored if
there's no message manager available, and getAvailableDevices will only
be called on the message thread.
2024-12-03 12:24:35 +00:00
reuk
dfe4858e55
AudioTransportSource: Avoid nullptr dereference in hasStreamFinished()
2024-12-02 17:20:42 +00:00