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

8112 commits

Author SHA1 Message Date
reuk
7b64bd7406
DelayLine: Allow setting a new maximum delay time after construction 2021-09-27 15:44:48 +01:00
reuk
c41f64111f
FilterDesign: Add assertions to catch misuse of design functions 2021-09-27 15:44:48 +01:00
reuk
e02a09da0c
HeapBlock: Disable size-based constructor for non-integral arguments 2021-09-27 15:44:48 +01:00
reuk
07ca7ae13b
GenericAudioProcessorEditor: Update parameter names when AudioProcessor changes 2021-09-27 15:44:48 +01:00
reuk
cfec0b5356
GenericAudioProcessorEditor: Add support for grouped parameters 2021-09-27 15:44:48 +01:00
reuk
3d1d060317
AudioPluginInstance: Add API to retrieve parameter IDs from hosted plugins 2021-09-27 15:44:47 +01:00
reuk
fbe446eac0
ProcessorChain: Add support for C++17 structured bindings 2021-09-27 13:20:47 +01:00
reuk
930a3299f2
Reservoir: Factor out reservoir management code 2021-09-27 13:20:47 +01:00
reuk
abd5fe4a69
DryWetMixer: Update implementation to use SingleThreadedAbstractFifo 2021-09-27 13:15:39 +01:00
reuk
b0bd1c4f63
SingleThreadedAbstractFifo: Move into juce_core 2021-09-27 13:15:39 +01:00
reuk
7504fa065b
FileChooser: In Linux FileChoosers, prefer to open files rather than directories if both are requested
Zenity and Kdialog only support opening either files or directories
during a single invocation.
2021-09-27 12:48:59 +01:00
Attila Szarvas
823bfb0c32 DragAndDropContainer: fix positioning when source Component is transformed 2021-09-27 10:05:19 +00:00
ed
a7915ec47e iOS/macOS Accessibility: Tidy up shared value getter 2021-09-23 15:07:53 +01:00
ed
2abf68d866 iOS Accessibility: Create UIAccessibilityReadingContent protocol-conforming classes dynamically for text elements 2021-09-23 15:07:47 +01:00
ed
a6db2ef4ff iOS Accessibility: Fix a potential use-after-free when deallocating a container element 2021-09-23 15:07:30 +01:00
reuk
b6ab931bcf
File: Add helper function to locate shared containers on macOS and iOS
File::getContainerForSecurityApplicationGroupIdentifier will return the
path to a container which is shared between all apps using the specified
app group ID. This might be useful if you need to share resources
between a standalone app and an AUv3 plugin, for example.
2021-09-23 10:28:48 +01:00
reuk
d738f0274e
File: Fix quoting in openDocument() on Linux
The previous implementation would fail to open directories with names
that contained spaces, as the space would be escaped and then quoted.

I don't think it's particularly meaningful to supply parameters when
opening a file in this way (especially not quoting the parameters too!)
so I've removed that functionality.
2021-09-23 10:28:47 +01:00
reuk
9199fa3c51
Warnings: Avoid triggering missing-prototypes warnings on macOS/iOS 2021-09-23 10:28:47 +01:00
reuk
3768349a05
Font: Make Font and TypefaceCache threadsafe
Previously, it wasn't safe to access Font instances from multiple
threads because there was a chance that they might reference the same
shared internal state. In this case, calling getTypeface() or getAscent from
two threads simultaneously would cause a race on the typeface and ascent
data members, even though the Font instances appeared to be disjoint.

With this change in place, it is now safe to use Font instances from
multiple threads simultaneously.

It is still an error to modify the same Font instance from multiple
threads without synchronization!

    // Fine:
    Font a;
    Font b = a;

    auto futureA = std::async (std::launch::async, [&a] { /* do something with a */ });
    auto futureB = std::async (std::launch::async, [&b] { /* do something with b */ });

    // Bad idea:
    Font f;

    auto futureA = std::async (std::launch::async, [&f] { /* do something with f */ });
    auto futureB = std::async (std::launch::async, [&f] { /* do something with f */ });
2021-09-23 10:28:47 +01:00
ed
300f573163 PluginHostType: Add Ableton Live 11 detection 2021-09-23 10:21:02 +01:00
ed
55ffe91db8 TreeView: Don't add MouseListener for nested custom components
This restores the behaviour of TreeViews with custom item components prior to ec990202
2021-09-23 10:20:36 +01:00
ed
d589f65b36 AUv3: Fall back to view size if AUViewControllerBase preferredContentSize property has a zero size when opening plug-in editor 2021-09-22 13:52:56 +01:00
ed
ada1b2d693 AU: Reset plug-in host callbacks in prepareToPlay() in case they were removed when uninitialising or resetting the audio unit 2021-09-22 13:52:36 +01:00
ed
4649bc1b13 Windows: Add WebView2Preferences struct to modify aspects of WebView2 behaviour 2021-09-22 13:50:53 +01:00
reuk
056700572c
OpenGLPixelFormat: Tidy up equality function 2021-09-22 11:04:47 +01:00
reuk
abf493122f
OpenGL: Attempt to enable multisampling on Android 2021-09-22 11:04:47 +01:00
reuk
75258a4ba6
OpenGL: Add multisampling support on Linux 2021-09-22 11:04:46 +01:00
reuk
f0d11f961b
OpenGLContext: Avoid reading from component on background thread 2021-09-22 10:23:05 +01:00
reuk
ceae64dd40
AudioDeviceSelectorComponent: Always show the actual samplerate of the device
Previously, the samplerate combo would display as a blank box in the
case that the device's actual samplerate wasn't one of the "available"
samplerates reported by the device.
2021-09-22 10:23:05 +01:00
reuk
fd87195941
iOS Audio: Allow specifying a fixed set of preferred sample rates
By defining JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES, the iOS audio device
will always use the requested samplerates instead of querying the
current audio device for the samplerates it supports. This is useful
because certain hardware (such as the Focusrite iTrack Dock) takes a
long time to set new samplerates, which can end up freezing the main
thread for significant lengths of time.

This approach is inspired by the AUM app for iOS, which appears to
provide a fixed list of "allowed" samplerates, rather than querying the
device for its allowed samplerates.
2021-09-22 10:23:04 +01:00
reuk
3f5862cf17
WASAPI: Tidy up internal buffering mechanism 2021-09-22 10:23:04 +01:00
reuk
32322a51e8
TableHeaderComponent: Avoid repainting in setColumnWidth if requested size is outside limits 2021-09-22 10:23:04 +01:00
reuk
c49e18cad4
Projucer: Add option to automatically set up oneMKL in VS exporters 2021-09-22 10:23:04 +01:00
reuk
f989182f32
Linux windowing: Display utf-8 native window titles correctly 2021-09-21 11:01:31 +01:00
Tom Poole
bc75010116 Bump version number to 6.1.2 2021-09-20 12:15:47 +01:00
Tom Poole
f1fecfdc88 Add some missing Doxygen tags 2021-09-20 11:36:56 +01:00
ed
a46c484afb Fix some conversion warnings flagged up by Android Studio 2021-09-15 16:00:22 +01:00
ed
ae8662ce6d macOS Accessibility: Silence some unguarded-selector warnings 2021-09-15 14:04:23 +01:00
ed
30b37da39b Accessibility: Fix parent handler traversal when hit test handler is ignored in AccessibilityHandler::getChildAt() 2021-09-15 14:04:23 +01:00
ed
d6fd33b38d Accessibility: Disable accessibility for PopupMenu windows on the desktop when their parent window or target component have accessibility disabled 2021-09-15 14:04:23 +01:00
ed
b65dc65bc2 Android Accessibility: Don't send accessibility events when inside populateNodeInfo() callback
Calling AccessibilityHandler::getChildren() or getParent() may cause an AccessibilityHandler object to be created and an InternalAccessibilityEvent::elementCreated notification to be sent. Calling AndroidAccessibilityEvent.setSource may then cause a recursive populateNodeInfo() call.
2021-09-15 14:03:46 +01:00
ed
d8214732ed Android Accessibility: Send appropriate content change types for TYPE_WINDOW_CONTENT_CHANGED accessibility event 2021-09-15 14:03:07 +01:00
ed
74a83440e2 Android Accessibility: Check for valid host pointer when calling into C++ peer code from Java accessibility callbacks 2021-09-15 14:02:15 +01:00
reuk
0a288fc71e
AU Host: Fix bug where modifying parameters from a custom editor would sometimes update incorrect parameters in the host
This issue could be seen when modifying the "OSC FmModSrc" parameter of
U-He Diva AU from the custom editor in the AudioPluginHost. The
parameter display in the generic parameter editor did not update
properly because the wrong parameter was marked as changed.
2021-09-14 19:36:57 +01:00
ed
9db2647971 Docs: Fix a typo 2021-09-14 11:43:24 +01:00
ed
24910cc4b4 Fix GCC Wshadow warnings 2021-09-14 08:42:56 +01:00
ed
1d55452b78 VST3 Host: Ensure that plug-ins without IPlugViewContentScaleSupport support are resized correctly when the native scale factor changes 2021-09-13 11:47:34 +01:00
ed
f17425c880 VST3 Host: Be more forgiving of internal parameter IDs in beginEdit/performEdit/endEdit methods 2021-09-13 11:47:34 +01:00
ed
3f699f5b14 VST3 Host: Only call onSize() in resizeView() if the size has changed
This fixes a recursive resizeView()->onSize()->resizeView() loop in Arturia Pigments as it immediately calls resizeView() with the same size.
2021-09-13 11:47:24 +01:00
ed
598748c825 VST3 Host: Call updateMidiMapping() after enabling plug-in MIDI busses in setupIO()
This fixes a crash in Roland Cloud plug-ins due to calling methods on the IMidiMapping interface before it was initialised.
2021-09-13 11:47:10 +01:00