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

1306 commits

Author SHA1 Message Date
hogliux
e12e0bb4fe Examples: Ensured that the MultiOutSynth example accepts disabled aux busses 2022-10-26 09:35:33 +02: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
attila
621e14d092 Add AnimatedAppComponent::setSynchroniseToVBlank 2022-10-17 12:33:08 +02:00
reuk
57d291588c
Resave all projects 2022-09-29 12:05:43 +01:00
reuk
e7c2d7bda3
Resave all projects 2022-09-29 12:05:43 +01:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases 2022-09-26 18:03:47 +01:00
attila
d05333b61d Resave all projects 2022-09-22 07:50:18 +00: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
reuk
65f1a76614
Tidy up parameter pack expansions 2022-09-12 16:14:57 +01:00
reuk
b3a4d54a72
Build: Update the minimum C++ standard to C++17 2022-09-12 16:14:57 +01:00
reuk
1975bb7479
Projucer: Update default Android SDK, adjust CMake flag specification 2022-09-01 15:44:27 +01:00
Tom Poole
88b6a400f8 Resave all projects 2022-08-15 17:37:04 +01:00
Tom Poole
7296b8e3f7 Bump version number to 7.0.2 2022-08-15 17:26:35 +01:00
Tom Poole
c2180845bc Resave all projects 2022-08-15 17:26:22 +01:00
attila
997ed696c2 ARA Client: Fix GCC warnings 2022-08-15 12:07:40 +02:00
reuk
fc376eab3b
PushNotificationsDemo: Allow alert windows to be dismissed on iOS 2022-08-04 22:51:18 +01:00
reuk
f46b94b6ff
AudioPlaybackDemo: Fix file loading on Android 2022-08-04 22:51:16 +01:00
attila
82a31c9ccc Linux: Enable ARA compilation 2022-08-03 13:06:55 +00:00
reuk
09c107698b
DemoRunner: Avoid hiding UI behind virtual keyboard 2022-07-29 18:54:50 +01:00
Tom Poole
7612f446b5 Matrix3D: Fixed an ordering bug in the multiplication operator 2022-07-28 21:31:47 +01:00
attila
351e8e8916 ARAPluginDemo: Fix warning 2022-07-21 18:57:54 +02:00
attila
2ea0a1b1f6 ARAPluginDemo: Fix incorrect access of playhead from the GUI 2022-07-19 14:30:14 +02:00
reuk
853dac4f3f
CMake: Avoid building the Reaper embedded-view demos if no VST2 SDK is available 2022-07-13 11:13:15 +01:00
attila
3acc71f7df MultiDocumentPanel: Fix reporting wrong active document, avoid reordering 2022-07-11 15:13:08 +02:00
Tom Poole
975bdecae5 Remove some debug logging 2022-07-05 17:22:34 +01:00
Tom Poole
3ab2ef5924 DemoRunner: Fix a crash in MidiDemo 2022-07-05 15:24:33 +01:00
Tom Poole
f82430c746 Resave all projects 2022-07-04 15:33:44 +01:00
Tom Poole
fd8607302d Bump version number to 7.0.1 2022-07-04 15:07:43 +01:00
reuk
e86b886038
UnitTestsDemo: Enable LV2 hosting, so that the Projucer correctly sets up include paths 2022-06-27 12:10:38 +01:00
reuk
6dc002b89c
Demos: Fix missing prototype warning 2022-06-24 19:59:44 +01:00
Tom Poole
1a578f787c Resave all projects 2022-06-21 08:51:47 +01:00
Tom Poole
8b399998b4 Bump version number to 7.0.0 2022-06-21 08:38:55 +01:00
reuk
8fbd99c424
AudioPlayHead: Improve granularity of position info 2022-06-16 16:18:20 +01:00
reuk
964a1aa870
VST3 Client: Allow host to enable/disable buses at will
Previously, activateBus would fail if the new BusesLayout wasn't
supported, as reported by isBusesLayoutSupported. However, according to
the VST3 docs, a host is allowed to enable and disable buses in any
combination, and the plugin should be able to handle this gracefully.

The ability to enable/disable individual buses without failure is
particularly important because there's no VST3 API to set a complete bus
layout in one go. That is, the only way to set all buses active or all
buses inactive is to set the appropriate state on each bus individually,
which in turn means that at some point, some buses will be active and
some will be inactive. Disallowing such 'intermediate' states may
prevent the host from putting the plugin into other (valid) states.

To ensure that the VST3 wrapper always accepts activateBus calls, it now
keeps track of the activation state of each bus as requested by the
host. When the host tries to change the activation state, the wrapper
will try to set the host's "ideal" bus layout on the AudioProcessor. If
this fails, the AudioProcessor will retain its previous bus layout.

The buffer remapping inside the process callback has been made more
robust, to handle cases where the host and the AudioProcessor disagree
about the activation state of each bus:

For input buses:
- If the host has activated the bus, but the AudioProcessor decided to
  keep the bus inactive, the host's input will be ignored.
- If the host deactivated the bus, but the AudioProcessor wanted to keep
  the bus active, the AudioProcessor will be provided with silence on
  that bus.

For output buses:
- If the host has activated the bus, but the AudioProcessor decided to
  keep the bus inactive, the wrapper will clear the host's output
  bus buffers.
- If the host deactivated the bus, but the AudioProcessor wanted to keep
  the bus active, the AudioProcessor's output on that bus will be
  ignored.

The AudioBuffer passed to the wrapped AudioProcessor will no longer
contain any pointers from the host's ProcessData. Instead, the host's
inputs will be copied (in JUCE channel order) to a temporary buffer,
and this temporary buffer will be passed to
AudioProcessor::processBlock. After processBlock, the buffer contents
will be copied to the host's output buffers.

This change is intended to avoid a potential issue when reordering
channels into JUCE order, which may necessitate copying a host input
channel to a different host output channel. In the case that the host is
using the same buffers for both inputs and outputs, copying an input to
an output channel may end up overwriting another input channel, breaking
the plugin's inputs.
2022-06-13 15:29:58 +01:00
reuk
2b82ce7c84
DemoRunner: Avoid exposing unnecessary accessible component 2022-06-13 15:29:57 +01:00
reuk
93a815ec8d
DemoRunner: Add AccessibilityDemo to iOS and Android builds 2022-06-13 15:29:57 +01:00
reuk
560e75da27
MultiOutSynthPlugin: Avoid assertions in VST3PluginTestHost 2022-06-13 15:29:55 +01:00
reuk
6375f640db
InAppPurchases: Add support for Android BillingClient 5.0.0 2022-06-09 16:55:17 +01:00
Tom Poole
cdd619e7a1 Xcode: Update LastUpgradeCheck 2022-06-01 13:57:33 +01:00
attila
2fdc4f6633 Projucer: Remove VS2015 and CLion exporters 2022-05-25 13:56:55 +02:00
Tom Poole
92dda5a2d9 Remove the IAA demo project 2022-05-24 17:00:24 +01:00
Tom Poole
24e3340a55 Update all examples to use Visual Studio 2022 as the default Windows exporter 2022-05-23 20:20:44 +01:00
Tom Poole
8c48956681
Resave all projects 2022-05-23 13:18:08 +01:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
attila
10d32c104d Resave all projects 2022-05-12 12:31:30 +02:00
attila
f4e33faea1 Add ARAPluginDemo PIP 2022-05-12 12:31:30 +02:00
Tom Poole
c2ecde591b macOS: Remove 32 bit specific functionality
This includes Carbon support
2022-05-03 08:16:37 +01:00
Tom Poole
b48dddcf4e RTAS: Remove RTAS functionality 2022-05-03 08:16:37 +01:00
Tom Poole
db3c6e6216 macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00