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

12315 commits

Author SHA1 Message Date
reuk
d396bdb97f
CMake: Allow setting the network multicast entitlement 2021-09-23 10:28:47 +01:00
reuk
0d716ab647
CMake: Enable program database output by default for debug builds 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
ed
315f6d8fcd Projucer: Bump WebView2 package version to latest stable 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
a87efde9ba
OpenGL Demos: Fix Thread Sanitizer warnings 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
d13a23ad14
Build: Ensure that plugin and manufacturer codes are exactly four characters in length 2021-09-22 10:23:04 +01:00
reuk
7525da867b
Projucer: Allow setting the network multicast entitlement in the Xcode exporter 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
bde242892f
Projucer: Avoid adding duplicate arrays to plist
Merging a plist which contained UIBackgroundModes or
UISupportedInterfaceOrientations keys could result in these keys being
duplicated in the generated plist.

This patch will avoid adding a new array if the array's key already
exists in the plist.
2021-09-22 10:23:04 +01:00
reuk
65bd869451
Projucer: Properly escape android app names containing apostrophes 2021-09-22 10:23:04 +01:00
reuk
5f7ad995af
Projucer: Escape special characters in MSVC project files 2021-09-22 10:23:03 +01:00
reuk
23e621f26e
Projucer: Add BOM when writing VS solution files
Without the BOM, VS assumes UTF-8 strings (subproject file names etc.)
are ansi-encoded.
2021-09-22 10:23:03 +01:00
reuk
4046912b6e
Projucer: Fix string escaping in IAA name definition 2021-09-22 10:23:03 +01:00
reuk
6c775a367b
Projucer: Escape single quotes in project names for makefile projects 2021-09-22 10:23:03 +01:00
reuk
cd495f136e
Projucer: In Xcode exporter, properly escape single quotes in preprocessor definitions 2021-09-22 10:23:03 +01:00
reuk
f989182f32
Linux windowing: Display utf-8 native window titles correctly 2021-09-21 11:01:31 +01:00
Tom Poole
8cc0d12fb3 Separate C and C++ recommended warning flags 2021-09-21 09:23:48 +01:00
Tom Poole
46ea879739 JUCE version 6.1.2 2021-09-20 13:26:04 +01:00
attila
cea889d311 macOS OpenGL: Use display refresh rate when rate limiting swapBuffers() 2021-09-20 13:25:04 +01:00
Tom Poole
6f4618f9bc Re-save all projects 2021-09-20 13:24:39 +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
reuk
d6633e6b37
CMake: Ensure that plugins can be loaded on M1 macs when using automatic copying 2021-09-16 18:51:46 +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
9f20b8afe6 Projucer: Add -Wshadow to GCC recommended compiler warning flags 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