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

13272 commits

Author SHA1 Message Date
reuk
b3a4d54a72
Build: Update the minimum C++ standard to C++17 2022-09-12 16:14:57 +01:00
reuk
e9e39de069
AU: Avoid forming references to variable-size structs MIDIEventList and MIDIPacketList 2022-09-12 16:14:56 +01:00
reuk
f8e91d4003
AU: Replace CoreAudioUtilityClasses with files from new SDK 2022-09-12 16:14:56 +01:00
attila
c0f31aa12a CoreGraphics: fillAll() fills a larger area to avoid alpha blended edges
Alternatively we could disable antialiasing before the fill operation
but this could cause neighbouring Components to overlap on the screen
even if their coordinates don't.
2022-09-12 15:39:05 +02:00
Leigh Marble
0816dbbae7 Docs: Correct a reference to a non-existent method 2022-09-08 12:52:16 +01:00
attila
372290d352 FlacAudioFormat: Use FLAC version 1.3.4
This commit replaces the contents of the flac directory with the
unchanged contents of the flac_134 directory.
2022-09-06 12:42:29 +00:00
attila
3810252ae2 FLAC: Prepare 1.3.4 lib files for inclusion in the JUCE build 2022-09-06 12:42:29 +00:00
attila
2ba2bc9677 FLAC: Add library source files for version 1.3.4 2022-09-06 12:42:29 +00:00
Tom Poole
c4dd405b16 macOS: Fix repaint lagging in Studio One 5 2022-09-05 16:34:01 +01:00
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
1975bb7479
Projucer: Update default Android SDK, adjust CMake flag specification 2022-09-01 15:44:27 +01:00
reuk
72f6e84ca4
CMake: Add JUCE_PLUGIN_ARTEFACT_FILE property for Standalone plug-in targets 2022-09-01 15:44:26 +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
d066a0b694 Projucer: Avoid running copy commands when plugin copy step is disabled on Linux 2022-08-31 17:42:47 +01:00
reuk
538dc0e120 Projucer: Correctly resolve path to LV2 manifest helper on Linux 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