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

7996 commits

Author SHA1 Message Date
ed
ddb59d1361 Docs: Fix typo in Component child adding methods 2021-07-28 10:13:10 +01:00
reuk
802f33b0e8
Thread: Avoid setting realtime priority on Thread instances by default on POSIX systems 2021-07-27 15:11:05 +01:00
reuk
1de762218a
Thread: Check for realtimeAudioPriority in more locations 2021-07-27 15:11:05 +01:00
reuk
c27279b356
DryWetMixer: Make mixers with maximum delays of 0 slightly more efficient 2021-07-27 15:11:05 +01:00
reuk
8f29b2cb83
VST3: Allow plugins to designate the first input bus as Aux rather than Main
To use this feature, derive your AudioProcessor from
VST3ClientExtensions and override getPluginHasMainInput() to return
false. The main input bus will then be designated as an Aux bus, rather
than a Main bus.

This is mainly useful for synth plugins like vocoders, which may need a
sidechain audio input, but which should replace all audio on the channel
with the output of the synth, rather than mixing with the audio input.
2021-07-27 15:10:53 +01:00
reuk
34f308bc5a
Convolution: Update docs for stylistic consistency 2021-07-27 15:10:53 +01:00
ed
0f76c7d097 POSIX: Close file handle after mapping in MemoryMappedFile::openInternal() to avoid hitting max open file limit 2021-07-27 14:34:30 +01:00
ed
c5bcfd5c3f macOS: Use the NSOpenPanel message property to display the FileChooser title correctly 2021-07-27 14:34:30 +01:00
ed
6d53ed3fec AUv3: Handle AURenderEventMIDIEventList 2021-07-27 12:32:28 +01:00
ed
cffb544941 UMP: Remove juce_audio_devices dependency 2021-07-27 12:32:22 +01:00
ed
bdc2334c98 AUv3: Fix unhandled enumeration warning when building against the 12.0 SDK 2021-07-26 10:21:51 +01:00
ed
d52fb9ca26 AUv3: Suppress undeclared selector warning for supportsMPE when building against the 10.11 SDK 2021-07-26 10:21:51 +01:00
reuk
074d188239
Add ScopedLowPowerModeDisabler to suppress App Nap on macOS 2021-07-23 17:13:18 +01:00
ed
4b5c59dbae NullCheckedInvocation: Add missing tag and namespace comment to class declaration 2021-07-23 16:07:54 +01:00
reuk
4980788516
AudioProcessor: Add checks to ensure AAX parameter ID compatibility
The AAX SDK already checks for truncated IDs internally. If any ID is
truncated, details will be written to Pro Tools' log file (you may need
to enable logging first). Search for "AAX_ASSERT" in the log to find
triggered assertions.
2021-07-23 10:58:44 +01:00
reuk
3c68581567
Use jassertquiet where possible 2021-07-23 10:58:44 +01:00
reuk
46e62b9efe
PlatformDefs: Add new jassertquiet macro
This behaves a lot like jassert, but will never emit unused-variable
warnings.
2021-07-23 10:58:43 +01:00
reuk
19e1488e18
Slider: Add getScrollWheelEnabled function 2021-07-23 10:50:00 +01:00
ed
88d2edf189 ModalCallbackFunction: Use NullCheckedInvocation helper to fix potential crash due to calling null std::function 2021-07-22 16:33:42 +01:00
ed
a62f0f91d6 Add juce_Functional.h containing NullCheckedInvocation helper 2021-07-22 16:33:42 +01:00
ed
3d4d0caca8 ModalCallbackFunction: Fix crash due to dangling reference 2021-07-22 16:33:42 +01:00
ed
cf79cc4724 Whitespace 2021-07-22 16:33:42 +01:00
ed
4fd0401752 VST3: Fix editor creation in Adobe Premiere Pro
See commit message of a1337a38 for more details
2021-07-22 16:33:42 +01:00
attila
7c68dd3709 VST3 Client: Avoid allocation in processParameterChanges() 2021-07-22 12:18:11 +02:00
ed
551d7b9c5b Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options
- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
  - Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
  - Update the DialogsDemo to demonstrate the new methods
  - Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
  - Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
  - Use modern TaskDialog on Windows for the native dialog box where available
2021-07-21 16:34:12 +01:00
Tom Poole
3ebd548aac VST3: Ignore VS2015 static analysis warning in VST3 SDK 2021-07-20 11:48:06 +01:00
ed
a2d03d2266 Fixed some warnings flagged by Clang's static analyzer 2021-07-19 15:48:31 +01:00
ed
d3556dfd7f macOS Accessibility: Fixed a memory leak when checking for active accessibility clients 2021-07-16 14:21:30 +01:00
ed
db2036e81a ChoicePropertyComponent: Return default index if value is not found in value source mapper 2021-07-16 12:05:35 +01:00
ed
e467473157 Standalone: Fixed a crash due to a dangling input muted value listener 2021-07-15 14:32:42 +01:00
reuk
3d97343c2a
GCC: Fix redundant redeclaration warnings 2021-07-15 09:59:08 +01:00
reuk
48659d6e9b
MIDI: Avoid data races in Linux MidiInput 2021-07-15 09:59:08 +01:00
reuk
1d29091133
FileChooser: Always set initial directory if the initialFileOrDirectory argument is not empty 2021-07-14 15:40:58 +01:00
reuk
90ad1877af
OpenGL: Only use vertex arrays if the GL version is greater or equal to 3 2021-07-14 14:49:15 +01:00
reuk
85226c33d4
Mac MainMenu: Allow commands without modifiers to be passed to peer
Ideally, we want to pass shortcut keys to the component to handle, and
only fall back to invoking a menu item if the component was unable to
handle the keyboard event, or if the action was triggered by
clicking/selecting an item in the menu itself. The old implementation
tried to work out whether the action was triggered by a shortcut by
checking the event's characters and modifiers. This method was
inaccurate, because some shortcuts (such as arrow keys) may add
unexpected numpad/function modifier flags.

We now try handling shortcut keys directly in the peer, and pass events
up to the superclass (which will forward them to the main menu) if the
event could not be handled.

This commit also adjusts some Objective-C method signatures to use the
correct string encoding for the BOOL type.
2021-07-14 14:49:05 +01:00
reuk
aba8c8c1d3
VST Host: Allow specifying the host name for VST hosts which do not have an Application instance
To set a custom host name, add a preprocessor definition for
JUCE_VST_FALLBACK_HOST_NAME.
2021-07-14 14:47:56 +01:00
reuk
d64c4277b4
OpenGL: Reinstate ifdef which was removed accidentally 2021-07-14 14:47:56 +01:00
ed
a5c3b81f82 Use C++14 lambda capture initialisers for initialising deletion checkers 2021-07-12 11:58:29 +01:00
ed
5a78b06f5c Update Button state after sending click callback in Button::mouseUp()
In cases where internalClickCallback() modified the state of the button this was not being updated until the next call to updateState(). Calling it a second time after the click callback will make sure the state is up to date.
2021-07-12 09:36:46 +01:00
Tom Poole
d53388097b AudioProcessorGraph: Improve performance when building large graphs 2021-07-08 10:47:36 +01:00
ed
81534104fb DirectWrite: Don't include trailing whitespace when calculating text layout in CustomDirectWriteTextRenderer::DrawGlyphRun() 2021-07-07 10:21:38 +01:00
ed
e1366361ed TextLayout: Skip whitespace tokens in TokenList::createLayout() to fix misalignment when using horizontally centred justification 2021-07-07 10:21:38 +01:00
ed
09c06fb946 macOS Accessibility: Fixed an incorrect deployment target check 2021-07-06 16:02:19 +01:00
attila
e867d1dbb4 Linux: Fix maximise when not using native titlebar
X11 cannot maximise windows that have their maximum size set. When not
using the native titlebar we now revert to setting the window bounds
without involving the X11 maximise function.
2021-07-06 10:26:14 +02:00
ed
90ea4cc2ab Accessibility: Return button tooltip from ButtonAccessibilityHandler::getHelp() 2021-07-06 09:24:44 +01:00
Tom Poole
61c638106f Clarify some FileChooser example code 2021-07-06 08:06:17 +01:00
reuk
1fb2203517 MidiFile: Allow reporting the type of parsed files 2021-07-05 12:21:36 +01:00
reuk
71bc141770 AttributedString: Fix faulty font lookup when rendering text
In particularly unfortunate cases, the fonts used for laying out and
drawing an AttributedString could end up differing, meaning that
incorrect glyph indices would be used during rendering. The rendered
text would end up using incorrect character symbols, making it
unreadable.

The problem seems to be:
- The AttributedString fetched a typeface during the getOrCreateFont
  call in createCFAttributedString.
- Details of the typeface (its style and name) were stored into the
  CFAttributedString.
- During `createLayout`, a new `Font` object was created using the
  stored typeface name and style.
- When calling `getTypeface` on this new font, during rendering,
  a different typeface was returned.

The fix implemented here stores the Font objects used during the
creating of the CFAttributedString, so that the fonts written to
the juce::AttributedString are guaranteed to match the fonts used
to compute the layout.
2021-07-05 12:21:36 +01:00
reuk
55f6f3227d TextLayout: Tidy up special member functions 2021-07-05 12:21:36 +01:00
reuk
1cd5abe489 AudioBlock: Remove unnecessary casts 2021-07-05 12:21:36 +01:00