Commit Graph

599 Commits

Author SHA1 Message Date
Robbert van der Helm 96511ca8a3 Make realtime priority setting more granular
On the plugin side.
2021-01-23 14:43:06 +01:00
Robbert van der Helm 58c687f9d7 Revert "Don't override existing host thread priorities"
This reverts commit 9b0324f4a7.

Since the plugin is initialized from the GUI thread, this doesn't make
any sense.
2021-01-22 00:38:44 +01:00
Robbert van der Helm 9b0324f4a7 Don't override existing host thread priorities
If the thread that's hosting yabridge's plugin is already using realtime
scheduling.
2021-01-21 20:30:08 +01:00
Robbert van der Helm f8ac296ec7 Print the tempo part of VstTimeInfo
At debug level 2. This was needed to debug an issue with Renoise.
2021-01-21 20:04:35 +01:00
Robbert van der Helm 36535fc3b5 Fix VST2 editor resizing in REAPER
After solving this for VST3 plugins it become clear that REAPER required
us to do the exact same thing for VST2 plugins.
2021-01-19 17:49:40 +01:00
Robbert van der Helm abb21c396b Fix spelling in the changelog 2021-01-19 15:33:05 +01:00
Robbert van der Helm dac817323b Add an option to force drag-and-drop under REAPER
This works around a long standing bug in REAPER itself that would
prevent you from dragging files onto any plugin editor window.
2021-01-19 15:11:27 +01:00
Robbert van der Helm 53c0ecbac4 Mention the input focus change in the changelog 2021-01-19 01:41:03 +01:00
Robbert van der Helm 9d5d8c1b60 Update the status on vst3_no_scaling and HiDPI
Apparently 200% scaling with Wine's font DPI set to 192 often does work
correctly.
2021-01-14 17:51:05 +01:00
Robbert van der Helm 5dcedbace5 Add an option to disable VST3 content scaling
This might be necessary when using a HiDPI screen as plugin GUIs often
don't scale correctly under Wine.
2021-01-14 17:36:00 +01:00
Robbert van der Helm bf3a4e7296 Allow changing the event loop tick rate
This also changes the refresh rate for most plugins. You can now lower
this setting if your computer is struggling to keep up with rendering a
certain heavy plugin.
2021-01-11 23:38:21 +01:00
Robbert van der Helm f015739942 Open and close editors without realtime priority 2021-01-11 18:50:53 +01:00
Robbert van der Helm 3ca7061659 Switch to SCHED_OTHER while handling events
GUI drawing should not be able to interrupt the cores that are handling
DSP, but it seems like that was happening for some people with
suboptimal kernel configurations. This will require some more extensive
testing to see if these changes don't actually increase DSP load.
2021-01-11 14:20:03 +01:00
Robbert van der Helm 2f5d22ca17 Handle effMainsChanged on the main UI thread #75
This fixes EZdrummer not producing any sound, as the plugin presumably
schedules some task on the Win32 message loop to load its resources,
which won't happen if this is run from any other thread.
2021-01-05 23:04:18 +01:00
Robbert van der Helm 4ec8b01bcc Completely run effEditIdle from a timer
Although it hasn't shown up, this will get rid of the possibility of
off-thread effEditIdle calls causing issues. And since we need some way
to run call this function while the event loop is running anyways, doing
it entirely from a timer similar to how hosts on Windows would do it
seems like the best solution.
2021-01-04 15:50:17 +01:00
Robbert van der Helm 4a7b560972 Revert "Add a background brush to the window"
While this does get rid of artifacts, it can also add a brief moment
where the gray background becomes visible when the window reconfigures
which can look jarring.

This reverts commit 35c7138333.
2021-01-02 19:32:28 +01:00
Robbert van der Helm c206d68b12 [yabridgectl] Allow permanently disabling checks 2021-01-02 14:32:54 +01:00
Robbert van der Helm ef540f354c [yabridgectl] Add an option to undo setting --path 2021-01-02 14:09:59 +01:00
Robbert van der Helm 872a6aa304 Don't enable unity builds by default
But do suggest enabling them in the readme and enable them on the CI.
Having them enabled by default breaks clangd/ccls, which doesn't sound
like a great idea.

https://github.com/mesonbuild/meson/issues/8146
2021-01-01 22:53:08 +01:00
Robbert van der Helm 7c133e18da Enable unity builds by default 2021-01-01 22:11:30 +01:00
Robbert van der Helm 5f8926f8ae Defer Win32 window closing
This gets rid of all potential delays when closing windows.
2020-12-31 14:18:26 +01:00
Robbert van der Helm 42b9cf902c Swap read_object arguments to match write_object 2020-12-30 16:38:19 +01:00
Robbert van der Helm 2b0fb8f954 Change wording in changelog 2020-12-29 22:09:09 +01:00
Robbert van der Helm 2c3312b452 Merge branch 'master' into feature/vst3 2020-12-28 11:51:28 +01:00
Robbert van der Helm ae71536639 Add back __cdecl on older Wine versions 2020-12-28 11:50:08 +01:00
Robbert van der Helm fbef37b924 Disable blitting on window position changes
This slightly reduces flickering because redraws are now a bit faster.
2020-12-27 15:08:39 +01:00
Robbert van der Helm 35c7138333 Add a background brush to the window
So the background always gets cleared out when the window resizes.
2020-12-27 14:37:43 +01:00
Robbert van der Helm bce3afa5e4 Revert "Mostly fix editor GUIs drifting in negative coords"
I've also tried a lot of other things, but none of the solutions I've
tried work 100% of the time. It sounds like a better idea to have
something that doesn't work consistently than to have something that
inconsistently sort of works. Setting the size in `WM_WINDOWPOSCHANGING`
to (0, 0) fixes the drifting, but the mouse coordinates are still wrong
and `SetWindowPos()` breaks the reparenting.

This reverts commit db2cc5800a.
2020-12-26 18:13:40 +01:00
Robbert van der Helm db2cc5800a Mostly fix editor GUIs drifting in negative coords
I think some rounding in Wine is causing this issue, but then again
we're not supposed to send these ConfigureNotify events to the window
directly anyways.
2020-12-26 16:30:25 +01:00
Robbert van der Helm 5e26d30752 Add a wrapper for IUnitHandler 2020-12-26 14:12:40 +01:00
Robbert van der Helm d32e566446 Update the changelog for VST3 support 2020-12-26 13:57:57 +01:00
Robbert van der Helm 38f34f91f2 Update the readme for VST3 2020-12-26 13:57:57 +01:00
Robbert van der Helm 49eeee99fa Add an XEmbed compatibility option 2020-12-25 19:49:47 +01:00
Robbert van der Helm 3dc1b1585b [yabridgectl] Add field for indexing VST3 modules 2020-12-23 17:41:16 +01:00
Robbert van der Helm 8c2801ce06 Mention the effEditIdle() change in the changelog 2020-12-22 13:11:54 +01:00
Robbert van der Helm ecd0de9d7d Add todo for adding VST3 entries to changelog 2020-12-20 13:19:18 +01:00
Robbert van der Helm d14697b9fa Merge branch 'master' into feature/vst3 2020-12-20 13:15:13 +01:00
Robbert van der Helm 6ef740e0b0 Fix changelog header
Unreleased changes of coruse don't have a date
2020-12-20 13:14:22 +01:00
Robbert van der Helm af3990e5d4 Mention the libyabridge.so rename 2020-12-20 13:13:23 +01:00
Robbert van der Helm e7d2f015da Move VST3 changelog entry to [Unreleased]
It got stuck in an old release after merging.
2020-12-20 13:11:25 +01:00
Robbert van der Helm 9c97ebb262 Merge branch 'master' into feature/vst3 2020-12-14 23:21:53 +01:00
Robbert van der Helm 449b17b5e2 Get rid of explicit calling convention on main()
Fixes builds on Wine 6.0, and it's apparently also no longer needed for
Wine 5.9 and up.
2020-12-14 23:20:21 +01:00
Robbert van der Helm 4f8fe21fa9 Merge branch 'master' into feature/vst3 2020-12-12 13:33:36 +01:00
Robbert van der Helm 42c484bfc0 Bump to version 2.2.1 2020-12-12 12:48:09 +01:00
Robbert van der Helm 712736e74a Prevent a deadlock in plugin group handling
This was a nasty race condition that only seemed to pop up with Spitfire
plugins in REAPER, but it could also happen elsewhere. The
`active_plugins_mutex` was getting locked from the message loop, but the
plugin would block until `effOpen()` had been called. But because the
mutex was locked by the message loop we would never get to handling
`effOpen()`. Passing the pointer directly both removes this unnecessary
locking and fixes the issue.
2020-12-12 12:44:01 +01:00
Robbert van der Helm 9554bbc12d Merge branch 'master' into feature/vst3 2020-12-11 16:25:53 +01:00
Robbert van der Helm d0b9f1a602 Bump to version 2.2.0 2020-12-11 14:00:16 +01:00
Robbert van der Helm c4f178aa13 Reword changelog 2020-12-11 13:59:27 +01:00
Robbert van der Helm 3e13eb9e46 Merge branch 'master' into feature/vst3 2020-12-11 13:02:49 +01:00
Robbert van der Helm c306048988 Fix hanging processes for good #69 2020-12-11 12:40:50 +01:00