1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-19 01:04:20 +00:00
Commit graph

10102 commits

Author SHA1 Message Date
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
ed
32b9b1e9db CoreAudio: Prevent audio glitches before microphone permission granted
If input channels have been requested but no data is being sent from CoreAudio (usually due to permissions not being granted yet) then avoid waiting unnecessarily in AudioIODeviceCombiner::readInput() which could previously cause audio glitches. Also changed the wait time to use an exponential backoff.
2020-10-23 10:53:12 +01:00
ed
22f0e26451 Android: Use performance mode from stream directly when logging Oboe stream details 2020-10-21 17:03:17 +01:00
reuk
b78114cfb3 FileChooser: Add assertion for improved safety when using modal FileChoosers 2020-10-21 16:18:31 +01:00
reuk
2a638b86e7 FileChooser: Use custom save/open panel implementations to ensure that apps cannot terminate while the panel is open 2020-10-21 16:18:31 +01:00
reuk
1d29665e56 FileChooser: Fix issue where preview component may not receive full filename
Some hosts (such as Reaper) weren't creating an instance of exactly
NSOpenPanel or NSSavePanel, which meant that the call to
`getSelectedPaths` was always returning an empty array.

Now, rather than trying to cast the sender to an appropriate type, we
assume that the sender is always the same panel that we opened earlier,
so that we can just query the panel directly for its selection.
2020-10-21 16:18:31 +01:00
reuk
1dae941600 Timer: Add assertion to warn when destroying a timer from a background thread 2020-10-20 10:16:13 +01:00
reuk
0d96ec9baf AppConfig: Ensure AppConfig is always included in plugin wrappers
Previously, the `JUCE_APP_CONFIG_HEADER` macro wasn't being defined/included
in some of the wrapper files, which meant that there was a danger of these
files building without important JucePlugin_Build_* macros defined.
2020-10-20 10:16:13 +01:00
reuk
fdf09a6dde FileChooser: Ensure that macOS preview component always receives user events
Previously, when a file dialog was launched synchronously, the 'dummy' modal
component was preventing user input events from reaching the preview component.

Now, we explicitly allow input events to reach the file preview component, if
it exists.
2020-10-20 10:16:13 +01:00
reuk
dd62aec528 FileChooser: Ensure preview mouse interactions work when showing dialog on macOS 2020-10-20 10:16:13 +01:00
reuk
6fd0baa759 FileChooser: Ensure macOS FileChooserComponent shows when FileChooser is reopened
If the preview is not removed from the desktop, the FileChooser will try to reuse
the same ComponentPeer the next time the preview component is used.
2020-10-20 10:16:13 +01:00
reuk
36664cc487 FileChooser: Fix behaviour of macOS FilePreviewComponent
Previously, when the FileChooser::Native instance entered the
modal state, it was preventing the inner FilePreviewComponent from
receiving events.
2020-10-20 10:16:13 +01:00
reuk
f09b2aa4f5 FileChooser: Ensure macOS accessory panel is initially opened if custom preview component is passed 2020-10-20 10:16:13 +01:00
reuk
2b03936461 FileChooser: Use old-style win32 file chooser if user passes a custom preview component 2020-10-20 10:16:13 +01:00
reuk
8ad5ea0cb1 FileChooser: Fix win32 threading bug
The Win32NativeFileChooser was taking ownership of itself
in its `Thread::run` implementation. This meant that sometimes
the destructor of the file chooser thread would execute directly
in `Thread::run`.

Now, we explicitly transfer ownership into a function object which
will run asynchronously on the main thread. This way, the file chooser
thread will be stopped on the main thread.
2020-10-20 10:16:13 +01:00
ed
d83b3f7716 iOS: Convert logical to physical bounds when resolving OpenGL multisampled framebuffers 2020-10-20 10:00:35 +01:00
Tom Poole
c35bb61c8d Bump version number to 6.0.4 2020-10-14 11:40:30 +01:00
ed
56252ca098 Fixed a bug in TextEditor::setSelectAllWhenFocused() 2020-10-09 14:46:23 +01:00