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

7469 commits

Author SHA1 Message Date
Tom Poole
5929103a29 Bump version number to 6.0.5 2020-12-01 10:08:50 +00:00
reuk
6ac0e90e58
FileChooser: Allow new filechooser to load paths containing unicode characters 2020-11-30 19:50:46 +00:00
ed
7053df4b5b iOS: Fixed incorrect desktop window position 2020-11-30 18:27:55 +00:00
ed
45a2e57bf9 macOS: Add Foundation to juce_core OSXFrameworks
Previously we relied on Foundation.framework being implicitly linked by other frameworks, but this change is required when building with Xcode 12 targeting older macOS versions to fix missing CFNetwork symbols.
2020-11-30 11:20:08 +00:00
ed
142a52f9b8 Unquote command-line arguments when adding them to ArgumentList 2020-11-26 19:01:43 +00:00
ed
3a3ef41ad5 Added <array> to juce_StandardHeader.h and removed some unnecessary includes from juce_analytics and juce_dsp 2020-11-25 17:40:12 +00:00
ed
4de5726775 Android: Don't assert on device type 25 which seems to be valid when debugging from Android Studio (although undocumented) 2020-11-25 17:40:03 +00:00
ed
e4c3d53c7a Android: Request ACCESS_FINE_LOCATION permission when using Bluetooth 2020-11-25 17:39:57 +00:00
ed
9005c81f47 Windows: Fixed a potential crash in the DirectWrite TextLayout::createNativeLayout() implementation 2020-11-25 17:39:57 +00:00
reuk
5a19a7c8e8 IPC: Fix potential deadlock in win32 NamedPipe implementation
We use a manual-reset event rather than an auto-reset event to cancel IO
on the pipe. This avoids unlucky cases where new IO would start just
after signalling the event and would block indefinitely while waiting on
the newly-unsignalled event.
2020-11-25 12:50:44 +00:00
reuk
c5136d28b7 NamedPipe: Avoid spurious test failures due to pipe name collisions 2020-11-24 14:45:50 +00:00
reuk
ac612693aa NamedPipe: Fix potential vptr data-race in unit tests 2020-11-23 13:46:06 +00:00
reuk
389e7436ef
IPC: Add some missing locks in native NamedPipe implementations 2020-11-23 12:45:36 +00:00
reuk
9b90398cf9
IPC: Fix occasional windows crash
As far as I can tell, if a read was cancelled from a background thread,
the IO operation wasn't cancelled, so the system was poking at the
stack-allocated OVERLAPPED structure after it had been removed from the
stack, at which point something else might be occupying that region of
stack memory.

I'm pretty sure Address Sanitizer should be able to catch this sort of
thing so I'm surprised it didn't complain here.
2020-11-20 12:14:49 +00:00
reuk
84be2fea9a
IPC: Avoid deadlocks when destroying pipes
Previously, calls to `open` blocked when creating a writeable pipe.

This could cause other calls to block indefinitely, waiting for the pipe
to become available.

Now, we open the pipe in nonblocking mode, which allows us to retry
indefinitely, checking `stopReadOperation` each time to find out whether
`close` has been called and allowing a graceful exit.
2020-11-16 20:14:16 +00:00
reuk
472fac976b
IPC: Prevent disconnection while a read is in progress 2020-11-16 20:13:46 +00:00
reuk
a70101e3ec
IPC: Allow setting custom timeouts in disconnect
Also allows optionally ignoring callbacks during disconnect, so that the
call to `connectionLost` can be bypassed when disconnect is called from
the derived class destructor.
2020-11-16 20:13:46 +00:00
reuk
750c982c1d
Camera: Warn when adding a preview component after starting capture on macOS 2020-11-16 17:22:00 +00:00
reuk
f1362dbb93
Camera: Make addListener trigger continuous photo capture on iOS 2020-11-16 17:22:00 +00:00
ed
8ee13b78ba Avoid drawing TextEditor "empty" text when it isn't visible 2020-11-16 16:10:13 +00:00
ed
e0883ace58 macOS: Updated the required deployment target for WKWebView 2020-11-16 14:01:29 +00:00
reuk
43c692e20d
DSP: Fix typo in Convolution docs 2020-11-16 10:14:54 +00:00
ed
36f1197536 macOS: Forward key events from WKWebView correctly
Also added support for selectAll: selector forwarding in NSViewComponentPeer
2020-11-13 18:16:04 +00:00
ed
5ae32084a7 Made the assertion in the Timer destructor slightly less strict 2020-11-13 18:16:04 +00:00
ed
884f2c1332 Windows: Use Thread::sleep() instead of yield() when waiting for ChildProcess output to avoid eating CPU 2020-11-11 17:38:51 +00:00
ed
270e056e40 CoreAudio: Fixed a data race on isWaitingForInput in DeviceWrapper 2020-11-03 17:07:47 +00:00
ed
09ecc0ebef Linux: Fixed a use-after-free in XWindowSystem::findDisplays() 2020-11-03 17:07:38 +00:00
Tom Poole
8070fa0ec4 Fixed some compiler warnings 2020-11-03 14:01:49 +00:00
ed
1e532b2ae0 macOS: Use objc_msgSendSuper_stret() for return types > 8 bytes in 32-bit builds 2020-11-03 09:46:18 +00:00
ed
3f78998b96 Linux: Fixed semi-transparent windows not rendering correctly
Previously we were choosing a Visual and Colormap on initialisation of the X11 Display which could lead to bugs when opening a window with different visual and colour requirements. This commit makes 16, 24 and 32-bit visuals available and chooses the correct one when opening a window.
2020-11-02 15:46:45 +00:00
ed
7901eb6ca1 Linux: Use synchronous X11 error handling in debug builds 2020-11-02 15:46:18 +00:00
Tom Poole
a357e548a3 AAX: Fixes an Xcode compiler warning
Ignore tautological-overlap-compare in the AAX headers
2020-10-31 08:29:25 +00:00
reuk
35277443e4 SystemStats: Use new dictionaryWithContentsOfURL signature 2020-10-29 15:53:33 +00:00
reuk
4fd3dfb51b FileChooser: Temporarily silence deprecation warnings on iOS 2020-10-29 15:53:33 +00:00
reuk
d236964410 PluginList: Fix revealing plugins 2020-10-29 15:53:33 +00:00
reuk
6811242371 VST2: Fix conversion warnings on Linux 2020-10-29 15:53:33 +00:00
reuk
fb83c45a9d IPC: Fix race condition when destroying connections
It was possible to encounter data races when when requesting connection
callbacks on the message thread, but creating/destroying connection
objects on a background thread.

This change ensures that a message will not be processed if the
destination connection is destroyed before the message is delivered.
2020-10-29 13:02:12 +00:00
ed
bef6a91294 Linux: Made the Desktop singleton usable when running headless 2020-10-27 12:39:16 +00:00
ed
f05ae1c709 Added Desktop::isHeadless() method 2020-10-27 12:39:11 +00:00
ed
1f2a7b759d Added documentation to Desktop::getDisplays() 2020-10-27 12:39:06 +00:00
ed
b7e28541ca Replaced deprecated Displays methods 2020-10-27 12:38:59 +00:00
ed
c21241549b Deprecated some methods in the Display class
Deprecated methods returning a Display& in favour of new methods returning a Display* which return nullptr when running on a system with no connected displays.
2020-10-27 12:38:48 +00:00
reuk
f61447fd01 PopupMenu: Allow manual column breaking 2020-10-26 17:04:49 +00:00
reuk
d4450ad8ae PopupMenu: Add LookAndFeelMethods for drawing column separators 2020-10-26 17:04:49 +00:00
reuk
f04e11c4bb PopupMenu: Allow theming of popup menu background based on Options
Adds a new `drawPopupMenuBackgroundForOption` member function to
`PopupMenu::LookAndFeelMethods`. By default this will pass through
to `drawPopupMenuBackground`, but it can be overridden in cases
where the background appearance depends on the current `Options`.
2020-10-26 17:04:49 +00:00
reuk
37c2dbe547 ComboBox: Add const getter for root menu 2020-10-26 15:15:29 +00:00
reuk
6e02c45d37 FileChooser: Fix build compatibility issue with MinGW
The recent IFileChooser update to the JUCE FileChooser meant that
Windows build machines must be running Vista or newer.

For compilers other than MinGW, we were already requiring that the build
machine must be running Windows 8 or newer.
2020-10-26 11:01:32 +00:00
reuk
b41951bc4b AudioProcessorGraph: Ensure nodes are prepared with correct precision
Previously, if `AudioProcessorGraph::prepareToPlay` was called twice,
interspersed with calls to `setProcessingPrecision`, the graph would
consider the nodes 'prepared' on the second call, and wouldn't
re-prepare the inner nodes with the new precision setting.

    graph.setProcessingPrecision (juce::AudioProcessor::singlePrecision);
    graph.prepareToPlay (44100, 512);

    graph.setProcessingPrecision (juce::AudioProcessor::doublePrecision);
    graph.prepareToPlay (44100, 512); // this wouldn't update the nodes

Now, we always explicitly unprepare all nodes at the beginning of
prepareToPlay, so that they'll always receive the newest settings.
2020-10-23 15:50:47 +01:00
reuk
0943291990 MidiFile: Make file-reading more robust
This commit adds tests and fixes some potential crashes caused by
out-of-bounds reads.
2020-10-23 15:50:47 +01:00
ed
99bce8a3a8 Android: Fixed large buffer sizes on some devices
Requesting a callback when opening an Oboe device is required on some devices to get a FAST stream, so pass a dummy callback object to the temporary stream used when querying the device buffer size in order to get the best available.
2020-10-23 14:17:49 +01:00