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

7795 commits

Author SHA1 Message Date
ed
ec990202b1 Accessibility: Added VoiceOver (macOS) and Narrator (Windows) accessibility screen reader support to juce_gui_basics 2021-05-10 10:53:14 +01:00
reuk
1df59f7469
VST3 Host: Only send updates for modified parameters 2021-05-07 10:10:53 +01:00
reuk
f35c2d90e2
VST3 Host: Ensure AudioProcessor parameter indices are used when appropriate
Previously, IEditController parameter indices were being used to index
into the AudioProcessor parameter array, but these parameter indices are
not guaranteed to point to the same parameter (parameter groups may
cause reordering on JUCE's side). Now, we use the IEditController
indices universally.
2021-05-06 16:04:22 +01:00
reuk
32f99d2615
AudioPlayHead: Tidy up implementation 2021-05-06 15:51:09 +01:00
reuk
0f690662d8
AutoResizingNSViewComponent: Fix display issues for certain plugin views
Previously, the following plugins were causing issues when hosting their
editors:

- Softube plugins. I used Saturation Knob for testing, which crashed when
  deleting the temporary parent view.
- KORG Gadget series, which displayed a black screen after the temporary parent
  view was deleted.
- FabFilter Pro-C, which displayed at the wrong scale when opened on a
  retina display.
2021-05-06 15:51:09 +01:00
reuk
a7ce9aab98
MidiBuffer: Allow addEvent to report success or failure 2021-05-05 12:13:17 +01:00
reuk
12df164127
Allow VST and LADSPA plugins to load properly from old PluginDescriptions
Old PluginDescriptions may only have the `deprecatedUid` field set, with
the `uniqueId` field set to 0. In this case, the uniqueId should be
ignored, and the deprecatedUid used instead.
2021-05-04 21:02:54 +01:00
reuk
19821db2a3
HWNDComponentPeer: Dismiss modals when windows are moved
This change ensures that popup menus will be dismissed when hosted
plugin windows are moved, even when these plugin views are themselves
hosted inside JUCE views, like those used in the AudioPluginHost.
2021-05-04 14:24:22 +01:00
reuk
15305e69af VST3 hosting: Fix issue where MIDI controller changes were not passed on to plugins 2021-05-02 14:59:12 +01:00
ed
51a593abac CodeEditorComponent: Avoid dereferencing a nullptr when recreating caret component 2021-04-30 17:15:27 +01:00
reuk
22189f7aa4
ArrayBase: Avoid undefined behaviour when trying to copy a range of 0 elements 2021-04-30 14:49:23 +01:00
reuk
e9b26887dd
NSViewComponentPeer: Fix bug where components could draw with unwanted translation
When drawing a popup menu for a target component with a non-unity scale,
the contents of the component were being drawn with an unwanted vertical
offset.
2021-04-29 17:43:31 +01:00
reuk
6e5645bf8f
macOS Windowing: Revert unnecessary change which produced incorrect monitor bounds 2021-04-29 17:43:31 +01:00
ed
d6baa1570d Docs: Removed reference to Graphics::getClipRegion() method which no longer exists 2021-04-29 17:33:24 +01:00
ed
c9731d4827 AUv3: Removed a duplicate statement in getCurrentPosition() 2021-04-29 17:31:33 +01:00
ed
665fac678f TextEditor: Enable horizontal scrollbars for multi-line editors with word wrapping disabled 2021-04-29 17:05:00 +01:00
reuk
f73f8ee849
NSViewComponentPeer: Use JUCE-style coordinates to position subviews 2021-04-28 15:38:10 +01:00
ed
a747f7c47f
CoreGraphics: Added convertToPointFloat() helper 2021-04-28 15:38:09 +01:00
reuk
ec43c7f61c
FileChooser: Remember previous file location on Windows 2021-04-28 13:46:55 +01:00
reuk
0e7fd1b909
StandalonePluginHolder: Fix out-of-bounds read when audio callbacks use larger-than-expected buffers 2021-04-28 12:59:08 +01:00
reuk
0e47da1474
VST Client: Ensure audioMasterIOChanged is sent when latency is updated 2021-04-28 09:57:12 +01:00
ed
d6ac6b543b Removed some unnecessary angled brackets 2021-04-27 15:56:01 +01:00
ed
a8aafed53d Removed some unnecessary virtual keywords 2021-04-27 15:56:01 +01:00
ed
bd17993caa SidePanel: Call onPanelShowHide when animation has completed 2021-04-27 15:56:01 +01:00
ed
8aa84abd7c Oboe: Updated to release 1.5.1 2021-04-27 11:56:35 +01:00
ed
433750941b MemoryBlock: Added a new replaceAll() method and deprecated the replaceWith() method
When passing in valid data with zero size, replaceWith() will do nothing and leave the MemoryBlock in its previous state which may be unexpected. replaceAll() will reset the MemoryBlock and resize it to 0
2021-04-27 09:06:14 +01:00
ed
f5dac0780d TextEditor: Only start new lines when shouldStartNewLine == true when splitting long atoms 2021-04-26 15:05:00 +01:00
ed
7fb45db0d2 TextEditor: Always return positive integers from getMaximumTextWidth/Height() 2021-04-26 15:03:52 +01:00
ed
b9c8a1475f TextEditor: New line atoms should have zero width 2021-04-23 16:17:23 +01:00
ed
b644d7b675 TextEditor: Fixed a wrapping bug when right-justified 2021-04-23 16:17:23 +01:00
ed
0fc1ede50f Used MemoryBlock::isEmpty() in a few places 2021-04-22 18:22:06 +01:00
ed
b2b1685ca6 Added MemoryBlock::isEmpty() 2021-04-22 18:22:06 +01:00
ed
76993469ea CoreGraphics: Fixed a leak when loading an empty MemoryBlock in juce_loadWithCoreImage() 2021-04-22 18:22:06 +01:00
ed
5bff5dc9c8 Whitespace 2021-04-22 18:22:06 +01:00
ed
547dc7712c Fixed a potential crash in DropShadower when the component is deleted before the shadower 2021-04-22 18:20:10 +01:00
reuk
327fc86ff2
PluginDescription: Also check deprecatedUid when matching plugin identifier strings 2021-04-22 14:28:52 +01:00
reuk
36653e8b30
VST Host: Correctly retrieve results of effGetSpeakerArrangement
The plugin should interpret the arguments as VstSpeakerArrangement**
instances. It should modify the pointed-to VstSpeakerArrangement* so
that it points to a long-lived VstSpeakerArrangement in the plugin.
2021-04-22 12:47:46 +01:00
ed
a1337a3863 VST3: Workaround incorrect VST3 editor ref-count bug in Adobe Audition
Audition incorrectly increments the ref-count of the IPlugView* returned from IEditController::createView() and never fully releases it. This commit reverts e0306d25 for Audition to ensure that an editor is always returned, otherwise Audition displays a blank GUI.
2021-04-22 12:20:07 +01:00
ed
3c48207d15 PluginHostType: Added Adobe Audition on macOS 2021-04-22 12:16:25 +01:00
ed
1ab54a9438 PluginHostType: Added AU Lab 2021-04-22 12:16:20 +01:00
ed
b5c0c75a5b ASIO: Read buffer size after setting device sample rate 2021-04-20 17:24:49 +01:00
ed
27af34af8b ASIO: Support larger buffer sizes 2021-04-20 17:24:49 +01:00
ed
b5bb5273c1 TextEditor: Use caret position relative to the Component top-left when calculating scroll amounts in scrollEditorToPositionCaret() and scrollToMakeSureCursorIsVisible() 2021-04-20 17:24:49 +01:00
ed
24c2953369 TextEditor: Call checkLayout() before moving caret and repainting text in remove() 2021-04-20 17:24:49 +01:00
ed
841aae5b18 TextEditor: Call scrollToMakeSureCursorIsVisible() after updating layout when undoing/redoing 2021-04-20 17:24:49 +01:00
ed
c145434adf TextEditor: Fixed a bug causing the caret to disappear at the end of lines 2021-04-20 17:24:49 +01:00
reuk
1e606ddb32
MainMenu: Allow components to directly handle shortcut keys which trigger menu items
This fixes a regression introduced by
6e9261ea66 which meant that components
were not given a chance to respond to shortcut keypresses if those same
keypresses were registered for a menu item. This resulted in behaviour
where shortcuts such as 'cmd+c' would not be passed to a focused
TextEditor if a different command with the same shortcut was registered
in the main menu.

With this change in place, we now check whether the menu item's shortcut
keys match the current event's pressed keys. If the keypresses match, we
can assume that the event was triggered by the keyboard, and dispatch
the keypresses to the ComponentPeer. If the keypresses do not match,
then the menu item was likely selected using space/return, or by
clicking, in which case the event is dispatched directly to the
ApplicationCommandManager.
2021-04-20 17:21:08 +01:00
reuk
75ed712b19 AU Wrapper: Fix build errors when using PreferredChannelConfigurations 2021-04-19 22:32:51 +01:00
reuk
965f14311d
AUv3 Wrapper: Tidy up sample rate detection 2021-04-19 14:37:38 +01:00
reuk
8f74f3624c
AU Format: Enable output channels in MIDI FX
This mostly reverts commit 6e89e61b89.

MIDI FX plugins are allowed to have audio channels, even if they only
produce silence. If a plugin requests a particular bus/channel layout,
the host should respect this request, or attempt to update the layout.
The host should fill all channels that the plugin expects to be filled.

The old commit also meant that we weren't correctly supplying the host
sample rate to MIDI FX plugins.
2021-04-19 14:37:38 +01:00