mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Use a Logger to print initialization errors
This way the errors will get written to a file instead of to STDERR if `YABRIDGE_DEBUG_FILE` is set.
This commit is contained in:
@@ -12,6 +12,7 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
- Changed installation recommendations to only install using symlinks with hosts
|
- Changed installation recommendations to only install using symlinks with hosts
|
||||||
that support individually sandboxed plugins.
|
that support individually sandboxed plugins.
|
||||||
|
- Respect `YABRIDGE_DEBUG_FILE` when printing initialization errors.
|
||||||
|
|
||||||
## [1.1.0] - 2020-05-07
|
## [1.1.0] - 2020-05-07
|
||||||
|
|
||||||
|
|||||||
@@ -378,13 +378,13 @@ as the _Windows VST plugin_. The whole process works as follows:
|
|||||||
the `dispatcher()` and `audioMaster()` functions respectively. For operations
|
the `dispatcher()` and `audioMaster()` functions respectively. For operations
|
||||||
involving the plugin editor there is also some extra glue in
|
involving the plugin editor there is also some extra glue in
|
||||||
`WineBridge::dispatch_wrapper`. On the receiving end of the function calls,
|
`WineBridge::dispatch_wrapper`. On the receiving end of the function calls,
|
||||||
the `passthrough_event()` function calls the callback functions and handles
|
the `passthrough_event()` function which calls the callback functions and
|
||||||
the marshalling between our data types created by the `*DataConverter`
|
handles the marshalling between our data types created by the
|
||||||
classes and the VST API's different pointer types. This behaviour is
|
`*DataConverter` classes and the VST API's different pointer types. This
|
||||||
separated from `receive_event()` so we can handle MIDI events separately.
|
behaviour is separated from `receive_event()` so we can handle MIDI events
|
||||||
This is needed because a select few plugins only store pointers to the
|
separately. This is needed because a select few plugins only store pointers
|
||||||
received events rather than copies of the objects. Because of this, the
|
to the received events rather than copies of the objects. Because of this,
|
||||||
received event data must live at least until the next audio buffer gets
|
the received event data must live at least until the next audio buffer gets
|
||||||
processed so it needs to be stored temporarily.
|
processed so it needs to be stored temporarily.
|
||||||
|
|
||||||
6. The Wine VST host loads the Windows VST plugin and starts forwarding messages
|
6. The Wine VST host loads the Windows VST plugin and starts forwarding messages
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include "../common/logging.h"
|
||||||
#include "plugin-bridge.h"
|
#include "plugin-bridge.h"
|
||||||
|
|
||||||
#define VST_EXPORT __attribute__((visibility("default")))
|
#define VST_EXPORT __attribute__((visibility("default")))
|
||||||
@@ -55,8 +56,9 @@ VST_EXPORT AEffect* VSTPluginMain(audioMasterCallback host_callback) {
|
|||||||
|
|
||||||
return &bridge->plugin;
|
return &bridge->plugin;
|
||||||
} catch (const std::exception& error) {
|
} catch (const std::exception& error) {
|
||||||
std::cerr << "Error during initialization:" << std::endl;
|
Logger logger = Logger::create_from_environment();
|
||||||
std::cerr << error.what() << std::endl;
|
logger.log("Error during initialization:");
|
||||||
|
logger.log(error.what());
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user