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

12757 commits

Author SHA1 Message Date
reuk
be119c7f7d CMake: Ad-hoc sign plugin bundles before copying them for running locally
Some hosts on Apple Silicon require that the entire bundle has a
well-formed signature, rather than just the plugin binary itself. This
patch checks whether the bundle signature is valid, and if it is not,
ad-hoc signs the bundle before copying.
2022-02-07 14:24:11 +00:00
reuk
4a7b556463 InAppPurchasesDemo: Fix leaky ListBoxModel implementation 2022-02-07 14:24:11 +00:00
reuk
4cf74dfff6 Viewport: Improve drag-to-scroll on devices that can accept simultaneous mouse and touch input
Some Windows 11 devices have both touch screens and mouse inputs, and
these can be used simultaneously.

The Viewport (and ListBox) now check the input source of each mouse
down. If the source is not a mouse, the viewport will always enter
drag-to-scroll mode, regardless of the result of isScrollOnDragEnabled.
2022-02-07 14:24:11 +00:00
reuk
768cf7a54c Projucer: Convert plugin/manufacturer code errors to warnings 2022-02-07 14:24:11 +00:00
reuk
1dc4db581d Projucer: Allow VS project variables in the Extra Libraries field
This change allows users to use macro values defined by Visual Studio in
library names, which might be useful e.g. when selecting different
libraries based on the build configuration.

If the filename of a library contains a special character that would
have a special meaning in the Visual Studio project file, you must use
the ASCII escape sequence for this character instead ("$" becomes "%24",
"%" becomes "%25").

This escaping will happen automatically for non-user-specified library
dependencies, including windows libraries specified in module header
blocks, and the plugin shared code target.
2022-02-07 14:24:11 +00:00
reuk
50dacbc8fc Mac Fonts: Fix rendering of AttributedStrings with empty ranges
Previously, lifetime management of CTFontRefs was not implemented
correctly. For zero-length ranges, the font may not be retained when
applying it to a CFAttributedString, meaning that the reference stored
in the fontMap sometimes became invalid before
createCFAttributedString() returned.

We now retain font refs when adding them to the font map, and release
them when the map is destroyed, ensuring that the font references remain
valid throughout the lifetime of the map.
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
702bfdb2c0 WebView2: Fix nullptr check
This should ensure that the status bar and error page settings work as
intended.
2022-02-07 14:24:11 +00:00
reuk
88853f7eda AlertWindow: Show AlertWindows as modal sheets on macOS when associated component is present 2022-02-07 14:24:11 +00:00
reuk
00e7fbf1c2 DirectoryIterator: Avoid recursing into previously-visited directories 2022-02-07 14:24:11 +00:00
attila
4cf036bb8b ComponentPeer: Add documentation for OptionalBorderSize 2022-02-07 12:39:51 +01:00
attila
6575d24a81 ComponentPeer: Deprecate getFrameSize() 2022-02-03 21:46:36 +01:00
attila
454ff64631 AudioPluginHost: Call setUsingNativeTitleBar() before restoreWindowStateFromString()
Since the window borders are unknown for a short time after window creation on
Linux, restoreWindowStateFromString() needs to adjust the restored position
before passing it on to the XWindow system.

The adjustment is dependent on whether we use the native or the JUCE titlebar.
Hence the adjustment can only be correct if the titlebar configuration has
already happened before calling restoreWindowStateFromString().
2022-02-02 19:59:56 +01:00
attila
a7811661c5 Linux: Fix restoreWindowFromStateString() when the peer already exists 2022-02-02 19:53:31 +01:00
reuk
ea92834845
Accessibility: Explicitly implement protocols
This change is intended to resolve an issue where iOS apps failed
automated review due to use of non-public selectors. Explicitly adopting
the relevant protocols allowed an app to pass automated review during
testing.
2022-02-01 11:07:34 +00:00
reuk
c4022a08e5
NODISCARD: Use more robust language standard check 2022-01-31 11:11:12 +00:00
Roland Rabien
9d692c13cf Fix invalid usage of JUCE_NODISCARD 2022-01-29 13:49:36 -08:00
reuk
9b96442022
NSViewComponentPeer: Only send modal input attempts when modal window is not key 2022-01-28 16:09:59 +00:00
reuk
6a1a96247b
GlyphArrangement: Avoid breaking on non-breaking spaces 2022-01-28 16:09:59 +00:00
reuk
b2f318a775
TreeView: Allow built-in mouse handling to be enabled/disabled for custom components 2022-01-28 16:09:59 +00:00
reuk
ef7c3c6947
TreeView: Support TooltipClient interface 2022-01-28 16:09:59 +00:00
reuk
903873dad2
VST3: Add local search path on Windows
We haven't updated the default post-build copy paths yet, as the new
local directory is not yet well-supported by DAWs.
2022-01-28 16:09:59 +00:00
reuk
ad94a69263
GenericAudioProcessorEditor: Refresh parameter value text when parameter info changes
When plugins change their 'parameter info' this often means that their
previous parameter text is no longer valid, so we should fetch new text
to represent the parameter value.

This change was primarily tested with Kontakt.
2022-01-28 16:09:59 +00:00
reuk
70b667281f
AU Host: Refresh parameter names and labels when requested by the plugin 2022-01-28 16:09:58 +00:00
reuk
093dbc7df1
Plugin Scanning: Fix thread sanitizer issues in the AudioPluginHost 2022-01-27 18:43:22 +00:00
reuk
01e71bc351
OpenGL: Avoid races on viewportArea and scale data members 2022-01-27 18:43:22 +00:00
reuk
e751a5edd7
OpenGL: Avoid race on minSwapTimeMs 2022-01-27 18:43:22 +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
6c046ffc04
AudioPluginHost: Allow out-of-process scanner to scan AUv3 plugins 2022-01-27 18:43:21 +00:00
reuk
53f8650ba3
DocumentWindow: Update documentation 2022-01-27 18:43:21 +00:00
reuk
b80927fc91
Nodiscard: Add to builder-pattern functions 2022-01-27 18:43:21 +00:00
reuk
c9c4d7a747
AudioPluginHost: Allow Audio IO window to display different channel layouts with matching channel counts 2022-01-27 18:43:21 +00:00
reuk
3d1818f5bd
AU Host: Correctly reorder hosted audiounit channels
This change was tested with FabFilter Pro Q 3, which supports new AU
channel layouts for Atmos.
2022-01-27 18:43:21 +00:00
reuk
e210b295ce
Windows: Fix issue where windows could be given incorrect size for their current scale
This issue affected windows with JUCE titlebars. When dragging the
window back and forth between two displays with different DPI settings,
the window could sometimes end up with the wrong size.

It looks like setting new window bounds inside the WM_WINDOWPOSCHANGED
message was occasionally causing the system to lose track of the correct
scale for the window.

As a byproduct of this change, JUCE should no longer receive reentrant
calls to handleDPIChanging.
2022-01-27 18:43:21 +00:00
reuk
7d21a967e4
AudioBlock: Use new size_t overloads from FloatVectorOperations 2022-01-27 18:43:21 +00:00
Tom Poole
0abbba3b18 JUCE version 6.1.5 2022-01-26 13:07:09 +00:00
Tom Poole
4eb6eb828a Resave all projects 2022-01-26 13:06:01 +00:00
Tom Poole
3c03693d07 Bump version number to 6.1.5 2022-01-26 13:00:05 +00:00
reuk
fc6bfaf79e MidiKeyboardComponent: Avoid triggering assertions when painting 2022-01-25 17:27:30 +00:00
Tom Poole
65b649225d Projucer: Fix a typo in an app category name 2022-01-25 12:44:05 +00:00
Tom Poole
1348fafedc Improve the GitHub Issue forum 2022-01-25 12:23:32 +00:00
Tom Poole
c072b1bc8e Fix some typos 2022-01-25 11:48:46 +00:00
Tom Poole
3366ad4ed4 Linux: Avoid sending the string terminator to the X11 clipboard 2022-01-25 11:27:54 +00:00
Tom Poole
ea5dae4ab6 Remove some unused properties from .jucer files and re-save all projects 2022-01-25 11:25:08 +00:00
Tom Poole
147aa46486 Projucer: Remove a dangling reference to a deleted header file 2022-01-25 11:04:38 +00:00
Tom Poole
de97e53a87 Add 24000 Hz to standard device sample rates to support Airpods Pro 2022-01-21 16:38:49 +00:00
ed
e0e8e85d6b Add KeyboardComponentBase class for custom MIDI keyboard components and MPEKeyboardComponent class 2022-01-21 14:44:14 +00:00
Tom Poole
20064d2ba8 Update the GitHub Issue and PR templates to a new format and add a CLA workflow 2022-01-20 15:58:13 +00:00
ed
461192b355 Add FocusOutline class for indicating Component keyboard focus 2022-01-20 15:46:53 +00:00
Tom Poole
0e24c9557e Fix a documentation typo 2022-01-20 12:45:32 +00:00