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

9215 commits

Author SHA1 Message Date
reuk
86ad2a77a0
FileTreeComponent: Avoid blocking the main thread when selecting items while scanning is in progress 2022-09-01 15:44:27 +01:00
reuk
21c214aec8
DirectoryContentsList: Start thread before attempting to scan files
This fixes an issue where opening a FileTreeComponent could cause the UI
to hang. The call to subcontentsList->isStillLoading() in
FileListTreeItem::selectFile() would always return true because the
file-scanner TimeSliceThread wasn't started until the selectFile() call
finished.
2022-09-01 15:44:27 +01:00
reuk
a1bb7aeead
ListBox: Avoid calling updateContent in contructor 2022-09-01 15:44:27 +01:00
reuk
b324a50e82
BailOutChecker: Add checks after callbacks in Slider and ComboBox
Co-authored-by: Roland Rabien <figbug@gmail.com>
2022-09-01 15:44:27 +01:00
reuk
5a6c8b1d0a
Linux Fonts: Improve default selection mechanism 2022-09-01 15:44:26 +01:00
reuk
98d81bf87a
VST3 Client: Allow channel size mismatches on inactive buses
Previously, the bus layout was considered invalid if the host provided
an unexpected number of channels on a disabled bus. Specifically,
Acoustica 7 would prepare sidechain input buses with a non-zero number
of channels, but provide a zero-channel bus during processing.

Given that the plug-in doesn't attempt to read from disabled buses, it
should be safe to process as normal in this scenario.
2022-09-01 15:44:26 +01:00
reuk
6feeb7dcdd
VST3 Host: Avoid updating bus layout and activation of activated plug-ins
According to the VST3 spec, activateBus and setBusArrangements shall not
be called when a plugin is in the 'activated' state.

Previously, if prepareToPlay was called twice in a row on a hosted VST3
plugin, during the second call the plug-in would already be activated,
but its bus layout would still be adjusted. Now, we always ensure that
the plugin is inactive before the bus properties are adjusted.
2022-09-01 15:44:26 +01:00
reuk
6c3b410e6f
VST3 Client: When emulating MIDI CCs with parameters, generate a MIDI event for each parameter event
Based on a similar patch in the Surge-XT fork of JUCE.

Co-authored-by: Paul Walker <paul@pwjw.com>
2022-09-01 15:44:26 +01:00
reuk
b663c36c97
AU Host: Refactor PositionInfo usage
This avoids repeating the 'fallback' values in the case that the
AudioPlayHead or PositionInfo is not available.

As a side-effect of this change, when an AudioPlayHead is available but
does not supply a valid BPM value, a fallback of 120 will be used,
instead of 0. This fixes an issue where the Microtonic sequencer failed
to play in the AudioPluginHost.
2022-09-01 15:44:26 +01:00
reuk
d28815601a
GenericInterpolator: Refactor to avoid repetition
Also fixes an issue in which `numInputSamplesAvailable` was assigned
instead of `exceeded`, Github issue #1114.

Co-authored-by: Tatsuya Shiozawa <shio.tatsu99@gmail.com>
2022-09-01 15:44:26 +01:00
reuk
34341bc597
APVTS: Avoid calling null function when unspecified 2022-09-01 15:44:26 +01:00
reuk
8ec8e36f5c OpenGLContext: Swap buffers on the main thread
This change fixes an issue where opening multiple OpenGLContexts on
certain versions of macOS (observed on 10.13) could cause a deadlock.

The issue can be reproduced by:
- Attaching an OpenGL context to the AudioPluginDemo editor
- Opening multiple copies of the editor simultaneously in a plugin host.
  I tested with Live 10.

I also observed the issue in a standalone app that opened new windows
containing OpenGLContexts on a timer.
2022-08-31 17:42:48 +01:00
reuk
322aa64459 OpenGLContext: Share CVDisplayLinks with NSViewComponentPeer 2022-08-31 17:42:47 +01:00
reuk
20584cf201 NSViewComponentPeer: Fix bug where OpenGLViews would fail to display after window deminiaturization
This bug was introduced in 869760cb2a
2022-08-31 17:42:47 +01:00
reuk
bc177c2252 NSViewComponentPeer: Share display links between all windows 2022-08-31 17:42:47 +01:00
reuk
4b94c9b54a NSViewComponentPeer: Use RAII to manage display link 2022-08-31 17:42:47 +01:00
reuk
d4184b120d WebBrowserComponent: Allow developer tools in debug builds on macOS 2022-08-31 17:42:47 +01:00
reuk
e0fd976779 VST2: Always request a resize from the host when attaching an editor
This fixes an issue in Live 11.2 where editors using OpenGL would be
scaled incorrectly after closing and reopening the editor.
2022-08-31 17:42:47 +01:00
reuk
b27af5def9 OpenGL: Tidying 2022-08-31 17:42:47 +01:00
reuk
e64f87b26c OpenGL: Allow setting window bounds from repaint callback
On Windows, the OpenGL context window sometimes receives a repaint
request after moving between screens with different scale factors.
If the screen has changed size/scale since the last paint operation,
failing to invalidate the painted area may cause the screen contents
to be drawn at the wrong scale until paint is next called.
2022-08-31 17:42:47 +01:00
reuk
02b5ab748a OpenGL: Add support for a few more OpenGL profiles
- 4.1 and 4.3 contexts can now be requested
- The requested context version is no longer ignored on Linux
- Debugging contexts are now enabled in Debug builds with GL 4.3
- Fixes a bug where glEnable(GL_TEXTURE_2D) was called in core profiles
2022-08-31 17:42:47 +01:00
reuk
ac6a455229 VST Host: Fix iOS/Android build issue 2022-08-31 17:42:47 +01:00
reuk
11b4672b55 VST3 Client: Fix occasional incorrect scaling in Ableton Live when rendering with OpenGL
This patch fixes an issue where closing and reopening a plugin editor in
Live could cause it to display at the wrong scale when using OpenGL.
2022-08-31 17:42:47 +01:00
reuk
ceb601af64 LV2 Host: For parameters with scale points, correctly convert values to text 2022-08-31 17:42:47 +01:00
reuk
7ebd34012c LV2 Client: Use preferredChannelConfiguration if available when writing manifest 2022-08-31 17:42:47 +01:00
reuk
028d1eea78 Projucer: Fix signing issue when building LV2 plugins on Arm macs 2022-08-31 17:42:47 +01:00
chroma
6bd1582b47 Stats: Unique Machine ID 2022-08-31 16:20:48 +01:00
Tom Poole
4418376335 macOS/iOS: Fixed an issue creating native FileChoosers 2022-08-30 11:30:53 +01:00
attila
988d65e24f CoreAudio: Report error if combined devices don't share a common sample rate 2022-08-25 15:20:24 +02:00
attila
3323c68f96 AudioDeviceManager: Take sample rate compatibility into account during default device selection 2022-08-25 15:20:24 +02:00
attila
5ec536f13f CoreAudio: Forward errors to callback during device initialisation 2022-08-25 15:18:26 +02:00
reuk
5b355f6373
Graph: Tidy up names 2022-08-25 10:52:34 +01:00
reuk
44a7987322
Graph: Add unit tests 2022-08-25 10:52:34 +01:00
reuk
5746bc99da
Graph: Add isAnInputTo overload 2022-08-25 10:52:34 +01:00
reuk
ecdebbd885
Graph: Define functions inline 2022-08-25 10:52:33 +01:00
reuk
e6c8857351
Graph: Pimpl-ify 2022-08-25 10:52:33 +01:00
reuk
6c762f74d1
Graph: Refactor so that connections are stored as a single value type 2022-08-25 10:52:33 +01:00
reuk
01d51a860a
Graph: Modify the RenderSequenceBuilder so that it only needs a const ref to the graph during building 2022-08-25 10:52:33 +01:00
reuk
c44c0e0e9e
Graph: Reduce templating in RenderSequenceBuilder 2022-08-25 10:52:33 +01:00
reuk
a6c2f1d46e
Graph: Tidy and refactor 2022-08-25 10:52:33 +01:00
reuk
455c865d37
CoreAudio: Avoid occasional deadlocks when calling AudioDeviceStart 2022-08-25 10:52:33 +01:00
reuk
5d328f2038
AU Host: Tidy and refactor 2022-08-25 10:52:33 +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
ef4b5957ec FileChooserDialogBox: Fix documentation bug 2022-08-23 19:20:06 +01:00
reuk
6de9927347 CMake: Avoid building juce_lv2_helper unless required for LV2 target 2022-08-23 18:10:27 +01:00
reuk
c920eb95fd Fonts: Fix issue where default fonts were set to use non-existent styles 2022-08-23 13:43:03 +01:00
Tom Poole
7296b8e3f7 Bump version number to 7.0.2 2022-08-15 17:26:35 +01:00