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

12285 commits

Author SHA1 Message Date
ed
0b79bcec69 Projucer: Check project item still exists when initialising exporter icon settings and reset to default if missing 2021-07-15 12:35:31 +01:00
ed
d5373eed02 Projucer: Partially revert 8ce68447
When loading exporter icons on a background save thread we need to take the MessageManagerLock as the image file may be an SVG which has a message thread dependency in the Drawable parsing code
2021-07-15 12:35:31 +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
reuk
3c5f09243a
REAPER Demo: Check opcode index before running embedded UI commands
The comment at the top of reaper_plugin_fx_embed.h specifies that the
'index' parameter for the embedded UI feature will always be set to
effEditDraw.
2021-07-14 14:47:55 +01:00
ed
3d8ffd3abf Docs: Fixed incorrect webkit package name 2021-07-13 08:56:36 +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
ed
77b816b042 Projucer: Ensure that save error messages are shown when using the "Save Project and Open in IDE" command 2021-07-09 12:55:34 +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
reuk
6c46512e8b NSViewComponent: Ensure NSView follows size of top-level component
This commit reverts part of f73f8ee84 which introduced an issue when
resizing a subcomponent with an attached OpenGLContext.

More details of the issue can be seen at
https://github.com/juce-framework/JUCE/issues/914.
2021-07-05 12:21:36 +01:00
reuk
280d97eb79 OpenGL: Check at runtime whether non-power-of-two textures are supported 2021-07-05 12:21:36 +01:00
reuk
f0b515cc73 OpenGL: Fix shader compilation on Ubuntu 18.04
Previously, we were always adding a #version 150 directive to shaders
when the GLSL version was higher than 1.2, which could cause compilation
to fail on platforms with GLSL versions between 1.2 and 1.5.
2021-07-05 12:21:36 +01:00
reuk
024a0b4a20 FileBasedDocument: Fix use-after-move bug 2021-07-05 12:21:36 +01:00
reuk
630afbda54 NSViewComponentPeer: Avoid processing mouse events from tracking areas
Some plugins (Izotope Relay, some older DPF plugins) use NSTrackingAreas
to handle mouse events, but unprocessed events seemingly get passed up
to outer views. Processing these events was causing unexpected
behaviour. For example, if the cursor entered a plugin view while
dragging a JUCE window border, a mouseEnter event was be generated,
interrupting the drag.

We now check whether mouse events were generated by an NSTrackingArea
which does not belong to the JUCE view, and ignore the event in this
case.
2021-07-05 12:21:36 +01:00
ed
a9d17d860c macOS Accessibility: Fixed crash due to availability of NSAccessibilityLayoutChangedNotification on < 10.9 2021-07-05 12:07:30 +01:00
ed
3321ff231d Accessibility: Fall back to RowComponent AccessibilityHandler if no custom cell component handler has been set in TableListBox 2021-07-05 12:07:30 +01:00
ed
c559d31e90 Accessibility: Override Accessibility::getHelp() for JUCE widgets that support tooltips 2021-07-05 12:07:30 +01:00
ed
422c8f8114 Accessibility: Disable accessibility for TooltipWindows to prevent them from interfering with focus 2021-07-05 12:07:30 +01:00
ed
f6ceba3e5b Accessibility: Disable accessibility for Drawable base class 2021-07-01 16:23:48 +01:00
ed
e119178b5b Check BailOutChecker before sending accessibility moved/resized event in Component::sendMovedResizedMessages() 2021-07-01 16:23:48 +01:00
Tom Poole
845631c762 Linux: Fix bug restoring window positions from saved state 2021-07-01 11:48:20 +01:00
reuk
6ed8065f70
CMake: Support automatic linking of bundled libraries in modules 2021-06-30 17:04:23 +01:00
reuk
dcd2ef93f9
Colour: Remove restrictions on argument to brighter() and darker() 2021-06-30 17:03:38 +01:00
reuk
407966b2ca
Windows: Fix warnings when building with clang in 64-bit mode 2021-06-30 17:03:38 +01:00
Tom Poole
fe4ba9071b Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
2021-06-30 13:01:14 +01:00
ed
f1768843fb StandaloneFilterWindow: Check that stored previous window position is onscreen 2021-06-30 11:01:29 +01:00
ed
4e9521be2d ComSmartPtr: Fixed behaviour of ComBaseClassHelper::QueryInterface() in release builds 2021-06-29 16:15:01 +01:00
ed
88ec2759cb AAX: Support unicode track names for TrackProperties 2021-06-29 16:14:54 +01:00
ed
0c89469ab6 CoreAudio: Call AudioDeviceStop() on IO thread when stopping audio devices
When AudioDeviceStop() is called from a thread other than the IO thread there are no guarantees about the IOProc being called before the thread actually terminates. Moving this call to the audioCallback() method ensures that the device will be stopped immediately and we can remove a check that was taking a few seconds to close devices.
2021-06-29 16:14:48 +01:00
Tom Poole
e1f855ae6d Fix a compiler warning in ReaperEmbeddedViewDemo 2021-06-26 07:21:09 +01:00
attila
56cf81d32b AU Client: Fix allocation on audio thread in JuceAU::audioProcessorChanged() 2021-06-25 15:05:19 +00:00
attila
570e173583 VST3 Client: Fix allocation on audio thread caused by PluginHostType ctor 2021-06-25 15:05:19 +00:00
ed
d9f7d068ed WaitableEvent: Increased lock scope in signal() 2021-06-25 14:44:35 +01:00
ed
750982069d BufferingAudioReader: Partially revert b3bdfdb3 to snap chunk start position to multiples of samplesPerBlock to fix stuttering MP3 playback on Windows 2021-06-25 14:44:35 +01:00