mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 12:10:09 +02:00
Move Win32 event handling to one place
Or technically, two, since the group bridge also does the same loop. We no longer need special handling for VST2 and VST3 plugins, so we can simplify things a bit here.
This commit is contained in:
@@ -16,5 +16,18 @@
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "../editor.h"
|
||||
|
||||
HostBridge::HostBridge(boost::filesystem::path plugin_path)
|
||||
: plugin_path(plugin_path) {}
|
||||
|
||||
void HostBridge::handle_win32_events() {
|
||||
MSG msg;
|
||||
|
||||
for (int i = 0;
|
||||
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
|
||||
i++) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,11 +80,8 @@ class HostBridge {
|
||||
* specific situation that can cause a race condition in some plugins
|
||||
* because of incorrect assumptions made by the plugin. See the dostring for
|
||||
* `Vst2Bridge::editor` for more information.
|
||||
*
|
||||
* TODO: We can get rid of this now, since we no longer have any special
|
||||
* handling here
|
||||
*/
|
||||
virtual void handle_win32_events() = 0;
|
||||
void handle_win32_events();
|
||||
|
||||
/**
|
||||
* The path to the .dll being loaded in the Wine plugin host.
|
||||
|
||||
@@ -379,17 +379,6 @@ void Vst2Bridge::handle_x11_events() {
|
||||
}
|
||||
}
|
||||
|
||||
void Vst2Bridge::handle_win32_events() {
|
||||
MSG msg;
|
||||
|
||||
for (int i = 0;
|
||||
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
|
||||
i++) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
intptr_t Vst2Bridge::dispatch_wrapper(AEffect* plugin,
|
||||
int opcode,
|
||||
int index,
|
||||
|
||||
@@ -68,7 +68,6 @@ class Vst2Bridge : public HostBridge {
|
||||
void run() override;
|
||||
|
||||
void handle_x11_events() override;
|
||||
void handle_win32_events() override;
|
||||
|
||||
/**
|
||||
* Forward the host callback made by the plugin to the host and return the
|
||||
|
||||
@@ -1077,17 +1077,6 @@ void Vst3Bridge::handle_x11_events() {
|
||||
}
|
||||
}
|
||||
|
||||
void Vst3Bridge::handle_win32_events() {
|
||||
MSG msg;
|
||||
|
||||
for (int i = 0;
|
||||
i < max_win32_messages && PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE);
|
||||
i++) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
void Vst3Bridge::register_context_menu(Vst3ContextMenuProxyImpl& context_menu) {
|
||||
std::lock_guard lock(object_instances[context_menu.owner_instance_id()]
|
||||
.registered_context_menus_mutex);
|
||||
|
||||
@@ -232,7 +232,6 @@ class Vst3Bridge : public HostBridge {
|
||||
void run() override;
|
||||
|
||||
void handle_x11_events() override;
|
||||
void handle_win32_events() override;
|
||||
|
||||
/**
|
||||
* Send a callback message to the host return the response. This is a
|
||||
|
||||
Reference in New Issue
Block a user