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

12933 commits

Author SHA1 Message Date
Tom Poole
db3c6e6216 macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
Tom Poole
e984395b1d GCC: Fix some compiler warnings in GCC 11 2022-04-26 15:30:54 +01:00
Tom Poole
f69fe7be0f Resave projects 2022-04-26 15:30:29 +01:00
reuk
0c5b617f98 Projucer: Use preprocessor definitions and include paths when building rc files
This more closely matches the behaviour of CMake when adding rc files to
targets.
2022-04-26 15:27:58 +01:00
reuk
118682f030 StandardHeader: Include <utility> for GCC 12 compatibility 2022-04-26 15:27:45 +01:00
Tom Poole
a77936ecda VST3: Fix a compiler warning in the VST3 SDK 2022-04-26 11:38:19 +01:00
Tom Poole
b6a3020dc6 LiveConstantDemo: Improve the documentation 2022-04-26 11:04:55 +01:00
reuk
e02561c958
ListBox: Add checks to ensure that the ListBoxModel remains valid 2022-04-25 17:03:29 +01:00
Oli
1abb704ce0 WavAudioFormat: Add ASWG metadata support 2022-04-25 12:49:49 +01:00
reuk
61f3c1dd98
LV2: Add initial client support 2022-04-22 14:18:52 +01:00
reuk
1182024fc4
LV2: Add initial hosting support 2022-04-22 14:18:51 +01:00
reuk
1d04669410
LV2: Add turtle-writer program 2022-04-22 14:18:51 +01:00
reuk
6fffbdae92
LV2: Add generated resources 2022-04-22 14:18:51 +01:00
reuk
e4b3eda5ef
LV2: Add supporting library files 2022-04-22 14:18:51 +01:00
reuk
77090bb499
AudioProcessorGraph: Fix processing of plugins with no inputs or outputs 2022-04-22 14:18:51 +01:00
reuk
de1e387a7a
Windows: Initialise variable 2022-04-22 14:18:51 +01:00
reuk
40d6a063af
AudioPluginHost: Speed up out-of-process scanning 2022-04-22 14:18:50 +01:00
reuk
4bfcb78809
PopupMenu: Use DPI awareness of target component when creating new windows
Also updates the drop shadower so that the DPI-awareness of the shadows
matches the DPI-awareness of the shadowed component.
2022-04-22 14:18:50 +01:00
reuk
858aab823a
ComponentBoundsConstrainer: Properly constrain secondary windows in plugins 2022-04-22 14:18:50 +01:00
reuk
3e0fa4489a
LinuxComponentPeer: Properly transform coordinates into peer space when collision testing 2022-04-22 14:18:50 +01:00
reuk
092314deac
VST2 Host: Avoid bad window errors when editor peer is deleted 2022-04-22 14:18:50 +01:00
reuk
fe744f8112
VST2 Client: Flush command buffer after attaching plugin window on Linux 2022-04-22 14:18:50 +01:00
reuk
fcd6752d4f
VST2 Client: Fix popupmenu window location in VST2 plugins under the AudioPluginHost 2022-04-22 14:18:50 +01:00
reuk
8ba09acc59
VST2 Client: Avoid potential deadlocks on stateInformationLock 2022-04-22 14:18:50 +01:00
reuk
e6efdaae0e
VST2 Client: Hook onto host event loop when editor is open 2022-04-22 14:18:50 +01:00
reuk
c91514f57f
VST3 Client: Properly notify host about added/removed event loop FDs 2022-04-22 14:18:49 +01:00
reuk
7815d2007b
OpenGL: Set OpenGL view position correctly after adjusting the global scale factor 2022-04-22 14:18:49 +01:00
reuk
c30b3a1a31
Plugin Hosting: Take custom scaling into account when computing editor sizes 2022-04-22 14:18:49 +01:00
reuk
5f5cb5e885
Examples: Add host plugin demo 2022-04-22 14:18:49 +01:00
reuk
e9b376ce14
XEmbed: Add function to force window bounds update 2022-04-22 14:18:49 +01:00
reuk
5fcb718ac9
String: Avoid using refcount to detect empty strings 2022-04-22 14:18:49 +01:00
reuk
5705a83065
ListenerList: Remove deprecation warning 2022-04-22 14:18:49 +01:00
reuk
cfa289d943
AudioProcessor: Allow querying of the host timestamp in processBlock 2022-04-22 14:18:49 +01:00
reuk
5d096b46d7
Add simple Optional type 2022-04-22 14:18:48 +01:00
Tom Poole
833c1e590f
macOS/iOS: Add a Metal layer renderer
This restores the functionality of JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS.
Using this preprocessor flag may avoid Core Graphics rendering much larger regions than
necessary, but the small regions that are rendered will likely be rendered slower.
Whether using this flag improves or degrades the performance of your rendering overall
will be specific to each application.

Previously enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS was ineffective
from versions of macOS around 10.13, but enabling it didn't have any negative impact on
performance. Now enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS may result
in slower rendering.
2022-04-22 14:18:48 +01:00
Tom Poole
570bcb666a
Resave projects 2022-04-22 14:18:48 +01:00
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings 2022-04-22 14:18:48 +01:00
reuk
3bf635e004
Warnings: Always supply all field initialisers
This also fixes an issue where the requested font style could be
incorrectly overwritten.
2022-04-22 14:18:48 +01:00
reuk
6de457f932
Linux Fonts: Add extra default font path 2022-04-22 14:07:46 +01:00
reuk
b720b0f746
Build: Avoid checking in CMake user preset files 2022-04-22 14:07:46 +01:00
reuk
f9c0c626fe
Linux: Avoid picking a bold/oblique version of Bitstream Vera Sans by default 2022-04-22 13:55:47 +01:00
Tom Poole
68514d626c Graphics: Added a global GlyphArrangement cache 2022-04-04 12:36:33 +01:00
Tom Poole
f6995ea217 Fix a compiler crash in GCC < 11 2022-04-04 12:36:33 +01:00
Tom Poole
3dd812052e macOS/iOS: Add a Metal layer renderer
This restores the functionality of JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS.
Using this preprocessor flag may avoid Core Graphics rendering much larger regions than
necessary, but the small regions that are rendered will likely be rendered slower.
Whether using this flag improves or degrades the performance of your rendering overall
will be specific to each application.

Previously enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS was ineffective
from versions of macOS around 10.13, but enabling it didn't have any negative impact on
performance. Now enabling JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS may result
in slower rendering.
2022-04-04 12:36:33 +01:00
Tom Poole
e5cbcd7628 macOS/iOS: Add the ability to weak link module frameworks 2022-04-04 12:36:33 +01:00
Tom Poole
04e7014d0f macOS/iOS: Sync repaint request rate to screen FPS and remove repaint throttling in plug-ins 2022-04-04 12:36:32 +01:00
Tom Poole
89a67ec556 macOS/iOS: Enable asynchronous Core Graphics rendering by default
The helper function setComponentAsyncLayerBackedViewDisabled has been replaced
by a windowRequiresSynchronousCoreGraphicsRendering ComponentPeer style flag.
2022-04-04 12:36:32 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
f77b286b8c
VST3 Client: Work around broken editor resizing in Blue Cat's PatchWork 2022-04-01 16:41:48 +01:00
reuk
cad155bf1c
VST3 Client: Make window sizing slightly more robust in Live
The following was observed for a VST3 plugin hosted in Live 11.1 with
auto-scaling disabled:

- It never calls setContentScaleFactor on the plugin's UI, so the
  wrapper has to check the current display on a timer and update the
  current scale factor when necessary.

- It calls canResize on the plugin view after opening it, but doesn't
  seem to respect the result of this call. According to the VST3
  documentation, a host is supposed to only call checkSizeConstraint
  during a live resize operation (which should only happen if the plugin
  reports it can resize), but Live calls this function every time the
  user drags the editor. It also passes the result of this function to
  onSize, whether or not checkSizeConstraints reported success.

- When dragging an editor between displays, Live will continue to call
  checkSizeConstraint and onSize with the editor’s old size in physical
  pixels. In some cases, JUCE's "scale factor check" timer callback
  fires, resizes the view to the correct size, and then Live
  asynchronously calls onSize again with the editor's old size in
  physical pixels, resulting in the editor being set to the wrong
  logical size.

This patch ensures that checkSizeConstraint always returns the current
size of a nonResizable editor. This means that the logical size of the
editor should not change when the result of checkSizeContraint is used
to resize the window.
2022-04-01 16:41:48 +01:00