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

12790 commits

Author SHA1 Message Date
reuk
72fa2d98e1
AU Wrapper: Ensure that correct input channels are cleared before processing 2022-02-18 16:43:26 +00:00
reuk
1bf9ebb4b1
VST3 Host: Avoid calling initialize twice on objects that implement both IComponent and IEditController 2022-02-18 16:43:26 +00:00
reuk
a3c55a967f
VST3 Host: Only call IPlugView::removed() if a previous call to attached() succeeded 2022-02-18 16:43:26 +00:00
reuk
92f350e617
Windows Accessibility: Fix single-character range/boundary calculation
Narrator on Windows seems to call ExpandToEnclosingUnit to find the
character immediately following the current cursor position. When
expanding a degenerate range with position `input` (used to represent
the cursor position) to a single-character range, the returned range
should start at `input` and end at `input+1`. Previously,
findTextBoundary() would always return the position before
currentPosition when searching backwards by character, so the result of
ExpandToEnclosingUnit would be off-by-one when expanding to the closest
character.
2022-02-18 16:43:26 +00:00
reuk
e5255eb76c
ChildProcessDemo: Fix crashes when stopping child process
Previously, the child process could be deleted from its own
handleConnectionLost() callback, which would attempt to stop the child
process's thread from that same thread.

Now, the demo will attempt to stop the coordinator thread from the main
thread instead.
2022-02-18 16:43:26 +00:00
reuk
c1a3cc28fd
WavAudioFormat: Disambiguate ISRC and source information 2022-02-18 16:43:26 +00:00
reuk
d03fac6823
NSViewFrameWatcher: Extract from NSViewComponent implementation 2022-02-18 16:43:25 +00:00
reuk
bd0ca90952
Linux: Release X lock when unregistering file descriptor in order to avoid deadlocks 2022-02-18 16:43:25 +00:00
reuk
e4a7978621
Windowing: Output error text when window creation fails 2022-02-18 16:43:25 +00:00
reuk
84db4b186f
ComponentBoundsConstrainer: Refactor 2022-02-18 16:43:25 +00:00
reuk
3fa38114d1
AsyncUpdater: Cancel updates in derived class destructors 2022-02-18 16:43:25 +00:00
reuk
068dffdb8c
AudioProcessorEditorHostContext: Fix naming of getContextMenuForParameter 2022-02-18 16:43:25 +00:00
reuk
6b8d07a0f6
MidiLogger Demo: Avoid redrawing when no new messages have been received 2022-02-18 16:43:25 +00:00
reuk
420167f3ec
AudioPluginHost: Add support for loading and saving plugin state directly 2022-02-18 16:43:25 +00:00
reuk
75981dd4b3
MidiFile: Fix typo 2022-02-18 16:43:25 +00:00
reuk
28c5775958
ProcessContextNonReplacing: Fix typo 2022-02-18 16:43:24 +00:00
Tom Poole
300ab8b084 Resave all projects 2022-02-18 16:28:51 +00:00
Tom Poole
dc4b9bd152 Projucer: Fix non-bool app sandbox temporary exception entitlements 2022-02-18 15:03:44 +00:00
reuk
1616c0ee26
CoreAudio: Ensure devices are restarted correctly after changing sample rate
f1b6bbc921 erroneously replaced

    callback = newCallback;
    previousCallback = callback;

with

    previousCallback = std::exchange (callback, newCallback);

It looks like previousCallback is intended to hold the last active
callback, so the previous version was correct after all.
2022-02-17 16:04:58 +00:00
reuk
409aaea43d
AUv3 Client: Add missing autorelease
This autorelease was accidentally removed in
2a199d5225
2022-02-17 16:04:58 +00:00
reuk
7eee7cd892
Windows: Fix non-C++14-compatible noexcept usage in mapi.h 2022-02-17 16:04:58 +00:00
reuk
abfcdc9a7e
CMake: Allow x64 clang-cl builds in CLion 2022-02-17 16:04:57 +00:00
Attila Szarvas
101a886821 MouseInputSource: Eliminate superfluous drag events caused by pressure change
The bug was triggered on Monterey where a pressure of 1 is reported
while a mouse button is being held down. This caused an extra drag
event being triggered between mouse down and up events, even if no
movement occurred.
2022-02-15 10:53:32 +00:00
attila
f6e6627c32 Projucer: Change the package attribute of the Android manifest to match
applicationId
2022-02-09 12:24:36 +00:00
reuk
3d7019bdc2
Fonts: Fix Xcode 13 build issue 2022-02-08 17:48:24 +00:00
attila
a1a8e1339f PopupMenu: Fix click-through from submenu
Previously it was possible to inadvertently activate a menu item by
clicking on a submenu item that was drawn on top of the parent menu.

The root cause was that hide() initiates an asynchronous mechanism
through exitModalState() that eventually destroys the MenuWindow, but
the MouseSourceState timer callbacks and event handlers sometimes still
had a chance to do a state update. Since the submenus have just been
destroyed the update could mistakenly conclude to activate one of the
items of the now lone parent.
2022-02-08 17:38:32 +01:00
reuk
cdba8eb8e9 NSViewComponentPeer: Fix NSTrackingArea leak 2022-02-07 14:24:11 +00:00
reuk
eabcfbad26 NSViewComponentPeer: Add support for true-full-screen with non-native titlebars 2022-02-07 14:24:11 +00:00
reuk
19536fc7a7 NSViewComponentPeer: Allow restoring previous size when zooming a non-native window 2022-02-07 14:24:11 +00:00
reuk
fdfc279bea String: Fix logical error in hex parsing code 2022-02-07 14:24:11 +00:00
reuk
53600d2d9e iOS Accessibility: Allow navigating tables by rows 2022-02-07 14:24:11 +00:00
reuk
793f1bf2ee FileChooser: Avoid crash when destroying an open non-native filechooser 2022-02-07 14:24:11 +00:00
reuk
0f06f45098 AUv3: Add timestamps to all parameter changes when possible 2022-02-07 14:24:11 +00:00
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