reuk
4a172a3d71
AUSDK: Fix out-of-bounds read when fetching parameter names
2023-12-07 15:44:52 +00:00
Tom Poole
4153d59e39
Formatting
2023-10-02 15:42:20 +01:00
reuk
33ef4a86f4
Plugin Client: Remove unnecessary wrapper files
2023-03-14 19:13:03 +00:00
reuk
10bd8235e7
Plugin Client: Move all private helper functions into detail namespace
2023-03-13 13:09:30 +00:00
reuk
a760307d0f
Plugin Client: Rename utility folder to detail, for consistency with namespace naming
2023-03-09 14:10:27 +00:00
reuk
c5ddf64d16
Plugin Client: Respect requested layer-backedness of editor
2023-03-09 14:10:27 +00:00
reuk
3b2c6a545e
Plugin Client: Normalise includes
2023-03-09 14:10:27 +00:00
reuk
7da615a7a3
Objective-C: Tidy up block usages, and document block helpers
2023-03-02 13:25:49 +00:00
reuk
d5ad26a162
AUv2 Client: Add support for new MIDIEventList APIs on supported platforms
2023-02-15 22:23:56 +00:00
reuk
42bd861d70
AUv3 Client: Notify host when parameter info changes
2023-01-12 19:13:57 +00:00
reuk
ec13f4b744
AU Client: Use stored timestamp when host transport is unavailable
2023-01-04 11:39:43 +00:00
reuk
d6f30304f0
AudioProcessor: Return unique_ptr from createPluginFilterOfType
2022-12-14 11:12:33 +00:00
reuk
403ba3007f
PluginHostType: Automatically set jucePlugInClientCurrentWrapperType during createPluginFilterOfType
2022-12-14 11:12:33 +00:00
reuk
a78194c9e3
AUv3 Client: Notify host when latency changes
...
This can be tested by toggling 'Distortion' on and off in the
DSPModulePluginDemo, and checking the latency reported in the node
statistics in AUM.
2022-12-14 11:12:31 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]]
2022-12-01 11:41:50 +00:00
hogliux
3705a5c413
AUv2: Fix crash in Ableton Live when bus name listeners are called for no reason
2022-10-26 09:34:49 +02:00
reuk
ccf9818902
AU Client: Fix bug where PluginHostType reported a wrapper type of "undefined" for AU plug-ins
2022-10-19 14:28:43 +01:00
reuk
3b8792d5c5
AUv3 Client: Correctly set default channel layout for buses with more than two channels
2022-09-29 12:05:42 +01:00
reuk
77f5da93ac
AU Client: Fix build problem when PreferredChannelConfigurations enabled
2022-09-14 16:16:26 +01:00
reuk
f8e91d4003
AU: Replace CoreAudioUtilityClasses with files from new SDK
2022-09-12 16:14:56 +01:00
reuk
6d267c2fdc
AUv3 Client: Improve const-correctness
2022-08-25 10:52:33 +01:00
reuk
a1e8aa4278
AUv3 Client: Remove unnecessary base class
2022-08-25 10:52:32 +01:00
reuk
064fb6fa53
AUv3 Client: Switch static data member for proper singleton
2022-08-25 10:52:32 +01:00
reuk
dedfac8dd8
AUv3 Client: Tidy up static methods
2022-08-25 10:52:31 +01:00
reuk
9712775e5b
macOS: Remove macOS 10.12 preprocessor checks
...
The current minimum-supported Xcode (10.1) includes the macOS 10.14.1
SDK, so APIs from macOS 10.12 will always be available.
2022-08-04 22:51:17 +01:00
reuk
a22b23e335
iOS: Remove iOS 11 preprocessor checks
...
The current minimum-supported Xcode (10.1) includes the iOS 12.1 SDK, so
APIs from iOS 10 will always be available.
2022-08-04 22:51:17 +01:00
reuk
752c913cd2
AudioPlayHead: Move HostTimeNs out of AudioProcessor, to consolidate timing information
2022-06-16 16:19:09 +01:00
reuk
8fbd99c424
AudioPlayHead: Improve granularity of position info
2022-06-16 16:18:20 +01:00
Tom Poole
2ec861d99e
Update licensing banners to JUCE 7
2022-05-16 17:55:48 +01:00
attila
5f4da905d7
ARA Client: Add ARA interface extensions to AU and VST3 wrappers
2022-05-12 12:31:30 +02:00
attila
cc8aa57793
AU Client: Only call prepareToPlay() from SetProperty() if already in prepared state
2022-05-11 16:06:18 +02:00
Tom Poole
c2ecde591b
macOS: Remove 32 bit specific functionality
...
This includes Carbon support
2022-05-03 08:16:37 +01:00
reuk
0f16d2dded
AU Client: Prevent parameter change messages being sent during state restoration
...
This is intended to fix two issues:
- In REAPER, setting automation recording to 'Latch', recording some
automation, saving and reloading the project, then starting playback causes
automation data to be overwritten. This appears to be because REAPER
interprets parameter change messages sent during state restoration as
originating from the user.
- In Ableton Live, automation lanes are sometimes disabled when loading
projects. This also seems to be because the setStateInformation call
may send parameter change messages back to the host.
According to the docs for kAudioUnitProperty_ClassInfo, the host is
required to notify all parameter listeners that the parameter values may
have changed, implying that the plugin need not send its own parameter
change notifications during state restoration.
2022-04-28 14:11:55 +01:00
reuk
45a5235298
AUv3: Fix race on factoryPresets
...
Some AUv3 presets crash when querying the set of presets in Loopy Pro.
The issue seems to be because `addPresets` may end up being called
concurrently with the host's queries.
2022-04-28 11:31:31 +01:00
Tom Poole
3b6c05ec10
iOS: Fix a compiler warning
2022-04-26 15:37:38 +01:00
reuk
cfa289d943
AudioProcessor: Allow querying of the host timestamp in processBlock
2022-04-22 14:18:49 +01:00
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings
2022-04-22 14:18:48 +01:00
Tom Poole
dea3fe60e4
Update copyright banners
2022-04-04 12:36:32 +01:00
reuk
bb0a40e009
AU Client: Order parameters according to version hint
2022-03-03 13:44:49 +00:00
reuk
3d38ca764e
AU Client: Switch HashMap to unordered_map
2022-03-03 13:44:49 +00:00
reuk
288765b3c8
AU Client: Avoid potential out-of-bounds write when clearing buffers
...
Fixes an issue introduced in 72fa2d98e1
where zeromem might write past the end of the channel buffer.
2022-02-23 10:56:12 +00:00
reuk
409aaea43d
AUv3 Client: Add missing autorelease
...
This autorelease was accidentally removed in
2a199d5225
2022-02-17 16:04:58 +00:00
reuk
0f06f45098
AUv3: Add timestamps to all parameter changes when possible
2022-02-07 14:24:11 +00:00
reuk
3f315ddd00
Plugin clients: Fix bypass behaviours to match getBypassParameter() documentation
2022-02-07 14:24:11 +00:00
reuk
7650a96092
AUv3: Send parameter begin/end gesture events
...
Note that hosts using the AUv2 API (e.g. JUCE hosts) to host JUCE AUv3
plugins may not receive begin/end gesture events, depending on the OS
version, and potentially the host architecture. I suspect this is
because older versions of the OS-provided AUv2/AUv3 translation layer
don't handle these events.
In testing, an Intel host on Catalina did not receive begin/end events,
but an Arm host on Monterey did receive these events.
2022-01-27 18:43:22 +00:00
reuk
2678c1d10d
AUv3 Wrapper: Use correct timestamps for outgoing events
...
Previously, with two instances of the MIDILogger AUv3 in series in
Logic, the timestamps received by the second plugin in the chain would
not match the timestamps of the events emitted by the first plugin.
2022-01-10 22:15:21 +00:00
reuk
43280c3f7f
AU: Tidy up ChannelRemapper
2022-01-10 22:15:19 +00:00
reuk
7d8c5b845d
AU: Cache MIDI output block
2021-11-24 16:20:35 +00:00
reuk
6de3af3566
AU: Make channel/bus handling more robust
2021-11-24 16:20:35 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function
2021-11-24 11:51:11 +00:00