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

7685 commits

Author SHA1 Message Date
Tom Poole
60d52182bb Fixed a data race in ThreadedAnalyticsDestination 2021-03-25 18:24:11 +00:00
Tom Poole
2367d648f4 Fixed an issue rendering AttributedStrings containing horizontal font scale 2021-03-25 15:50:21 +00:00
Tom Poole
a9ad07a945 Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
reuk
767f63dfb0
UIViewComponentPeer: Fix issue where heavyweight windows could "drift" when resized slowly 2021-03-25 11:51:28 +00:00
reuk
92ca22c080
UIViewComponentPeer: Fix issue where view may be accessed after deletion 2021-03-25 11:51:28 +00:00
reuk
819736054f
GenericAudioProcessorEditor: Allow double-click on a slider to return to default value 2021-03-25 11:51:28 +00:00
reuk
de278cf555
AudioPluginHost: Allow resizing plugins from the host, and increase border size on mobile
The increased border size should make it slightly less fiddly to tap on
the window border.
2021-03-25 11:51:28 +00:00
reuk
6f92906107
AudioProcessor: Make wrapperType member const 2021-03-24 16:11:07 +00:00
ed
65bdf50d93 Docs: Fixed a typo in the docs for WebInputStream::Listener::postDataSendProgress() 2021-03-24 08:58:00 +00:00
reuk
d08b526930
AudioProcessor: Fix default behaviour of updateHostDisplay
This patch fixes an issue where calling `updateHostDisplay` with no
argument would have no effect.
2021-03-23 14:37:10 +00:00
reuk
0f6f2728f2
AlertWindow: Scale window according to scale of associatedComponent
For DialogWindow, uses the scale of componentToCentreAround.

This allows drawing dialog windows at the expected scale in plugins.
An associated component must be supplied in order for this to work.
2021-03-23 12:09:35 +00:00
reuk
7b6d41be3f AudioBuffer: Make assertions more specific 2021-03-22 12:56:02 +00:00
Tom Poole
4c58e50f2e Bump version number to 6.0.8 2021-03-22 09:24:48 +00:00
ed
71b8885460 VST3: Fixed a crash accessing the program parameter when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1 2021-03-22 08:34:10 +00:00
reuk
799c5ef51b
BasicNativeHeaders: Increment minimum required IE version on Windows
This ensures the function IUnknown_GetWindow is declared in shlwapi.h
when building against the Windows 7 SDK.
2021-03-18 12:22:32 +00:00
reuk
5bcd2b0dfb
NSViewComponentPeer: Force repaint when window becomes key
This resolves an issue on macOS Catalina when using
JUCE_COREGRAPHICS_DRAW_ASYNC where windows would sometimes fail to
completely repaint when they were unminimized.
2021-03-17 14:29:08 +00:00
reuk
3fe0b07a82
SystemStats: Avoid "pragma intrinsic" when building with the Intel compiler 2021-03-16 17:20:14 +00:00
reuk
ba475a8008
AudioDeviceSelectorComponent: Draw text using TextLayout rather than GlyphArrangement
This fixes an issue where non-ascii characters in channel and MIDI
device names were not drawn correctly.
2021-03-16 17:20:13 +00:00
ed
914119eca5 Standalone: Avoid hitting an assertion when setting resize limits 2021-03-16 17:17:38 +00:00
reuk
7b6ad28b46
AUv3 wrapper: Allow host to resize editor view 2021-03-15 19:23:02 +00:00
reuk
8fb4541fdb
iOS: Avoid unnecessary numeric conversion 2021-03-15 19:23:01 +00:00
ed
77d4ac7242 URL: Fixed backwards compatibility of URL::createInputStream() when specifying a POST-like request with parameters and no POST data 2021-03-15 09:58:09 +00:00
ed
7d71efe6e0 Standalone: Use AudioProcessorEditor::setBoundsConstrained() when setting editor bounds 2021-03-12 18:25:37 +00:00
ed
db618477ff Standalone: Respect AudioProcessorEditor resize limits 2021-03-12 18:25:33 +00:00
ed
ad8f2013b5 AudioProcessorEditor: Set ComponentBoundsConstrainer stretchingTop/Left/Bottom/Right values when calling setBoundsForComponent() 2021-03-12 18:25:22 +00:00
reuk
df06a471c0
AudioProcessorPlayer: Support a greater variety of IO configurations
Previously, the AudioProcessorPlayer would always match the
AudioProcessor's bus configuration to the requested bus configuration,
even if the processor did not explicitly support the requested
configuration.

Now, if the requested configuration has one or fewer input channels, the
AudioProcessorPlayer will attempt to find a multi-input channel layout
for which `checkBusesLayoutSupported` returns true, and will use such a
layout if it exists. Otherwise, as a last resort, it will fall back to
using the channel layout requested by the AudioProcessorPlayer.

If the AudioProcessorPlayer has no input channels, but the wrapped
processor is initialised with multiple input channels, each of these
inputs will be fed with silence.

If the AudioProcessorPlayer has a single input channel, but the wrapped
processor is initialised with multiple input channels, each input
channel will be fed with a copy of the AudioProcessorPlayer's mono
input.
2021-03-12 18:05:56 +00:00
ed
fa8c446d0c URL: Added InputStreamOptions and enable POST data to be sent with URL-encoded parameters.
- Added a new URL::createInputStream() overload that takes an InputStreamOptions helper class to simplify stream creation.
  - Modified the internals of URL and WebInputStream so that parameters are only added to the request body when ParameterHandling is set to inPostData. This allows POST data to be added via URL::withPOSTData() and sent with URL-encoded parameters.
2021-03-12 16:23:59 +00:00
ed
f9f0896bbb Tidied up URL and WebInputStream docs 2021-03-12 16:21:00 +00:00
ed
22777e5480 Linux: Remove embedded OpenGL window events from event queue when destroying
This fixes BadWindow errors from Expose events that may be processed after the window is destroyed.
2021-03-12 11:02:24 +00:00
reuk
3dc97ec71c
PluginHostType: Add missing juce:: namespace 2021-03-12 10:11:43 +00:00
reuk
d4e802016a VST3: Fix issue where Ardour would repeatedly try to resize editors
Ardour seems to listen to the bounds of the plugin window, and will call
`onSize` on the plugin editor when move/resize events are sent to the X
window - even if the size of the window didn't really change. This can
result in an infinite resize loop, where calling `onSize` on the VST3
instance sends a resize event to the plugin window, and this event
causes Ardour to call `onSize` on the plugin view.

To get around this, the Linux ComponentPeer will no longer request a
bounds change from the window system if the requested bounds are the
same as the current bounds.
2021-03-11 16:51:35 +00:00
reuk
68d30f9c8d Convolution: Compensate for volume changes when resampling IRs
When normalisation is disabled, the Convolution will now adjust the gain
of the IR using the ratio of the source and destination sampling rates.
This should keep the output level constant when the Convolution's
sampling rate is changed.
2021-03-11 15:19:31 +00:00
ed
34f8afbbca Set standalone plug-in window as resizable based on AudioProcessorEditor::isResizable() 2021-03-11 15:12:02 +00:00
ed
f2fffe6757 AU: Avoid a crash when calling setCurrentProgram() with an out-of-bounds index 2021-03-11 15:12:02 +00:00
reuk
c7feb75b97
PluginHostType: Use the name of the bridged hosting process to determine host
This patch also moves PluginHostType into juce_audio_processors in order
to allow hiding of function implementations.
2021-03-11 11:03:57 +00:00
reuk
1b4960b5bf
PluginHostType: Fix host reporting in bridged hosts on M1
Reports the correct host name for Apple hosts on M1 which host plugins
in a separate process.

Affected hosts are:
- Logic Pro
- GarageBand
- MainStage
- Final Cut Pro
2021-03-10 18:07:22 +00:00
reuk
9b80c7031e
VST3: Add support for 7.x.4 speaker arrangements 2021-03-10 16:14:42 +00:00
reuk
d62d3aaa4f
PopupMenu: Add option to specify initially-selected menu item 2021-03-10 16:14:42 +00:00
reuk
326d8deb16
PopupMenu: Tidy up Options implementation 2021-03-10 16:14:00 +00:00
reuk
daf8761727 AU Host: Ensure discrete parameters are scaled correctly
Previously, the AU hosting code always computed the number of steps in
the parameter range as though the minimum parameter value was 0.

Now, we take the parameter's reported minimum into account when
computing the number of steps. We also use the parameter's range, rather
than its step number, when normalising/denormalising the parameter
value.
2021-03-09 17:26:28 +00:00
ed
40c86d6b2f Linux: Fail more gracefully on systems which don't support 32-, 24-, or 16-bit RGB displays 2021-03-09 12:11:05 +00:00
reuk
27ca5e6ccb
MemoryAudioSource: Fix bug where source looped, even when looping was disabled
This also fixes an issue where zero-size source buffers would cause an
arithmetic exception to be thrown.
2021-03-08 16:10:08 +00:00
reuk
e0306d25d4
VST3 Client: Disallow creating a new editor if one editor is already active 2021-03-08 15:36:50 +00:00
reuk
3afaaa48be FileChooser: Fix IFileDialogEvents leak 2021-03-08 11:23:16 +00:00
ed
ba2027497b MIDI: Standardised and fixed some MIDI channel assertions 2021-03-05 18:40:04 +00:00
ed
fe9493867e Linux: Quote Bash command string in Process::openDocument() to prevent ampersands being treated as a control operator 2021-03-05 18:40:04 +00:00
ed
5a59c92b20 AudioProcessorEditor: Allow editors to have a corner resizer without being resizable by the host and clarified the documentation regarding this and the editor's constrainer 2021-03-05 18:40:04 +00:00
ed
655a6e9367 VST: Use ComponentPeer::getAreaCoveredBy() to get scaled editor bounds on Windows and Linux 2021-03-05 18:40:04 +00:00
ed
7b68d5fa4b VST: Increased the scoped of a thread DPI awareness setter when creating plug-in editors on Windows 2021-03-05 18:40:03 +00:00
ed
8140442746 VST: Removed an old workaround causing plug-in editor window position issues on macOS 2021-03-05 18:40:03 +00:00