Show startup errors in a desktop notification

This should make it much easier to spot what goes wrong if you're new to
yabridge and don't know where to look yet.
This commit is contained in:
Robbert van der Helm
2021-06-22 17:40:29 +02:00
parent 8873c11e1d
commit 5ffe4773e9
3 changed files with 13 additions and 5 deletions
+5 -5
View File
@@ -10,11 +10,11 @@ Versioning](https://semver.org/spec/v2.0.0.html).
### Added ### Added
- When the Wine plugin host process fails to start, yabridge will now show a - When a plugin fails to load or when the Wine plugin host process fails to
desktop notification to notify you about this. This lets you diagnose issues start, yabridge will now show you the error in a desktop notification instead
faster if you didn't already start your DAW from a terminal. These of only printing it to the logger. This makes diagnosing issues much faster if
notifications require `libnotify` and the `notify-send` application to be you didn't already start your DAW from a terminal. These notifications require
installed. `libnotify` and the `notify-send` application to be installed.
- Added an environment variable to disable the watchdog timer. This allows the - Added an environment variable to disable the watchdog timer. This allows the
Wine process to run under a separate namespace. If you don't know that you Wine process to run under a separate namespace. If you don't know that you
need this, then you probably don't need this! need this, then you probably don't need this!
+4
View File
@@ -53,6 +53,10 @@ extern "C" VST_EXPORT AEffect* VSTPluginMain(
logger.log("Error during initialization:"); logger.log("Error during initialization:");
logger.log(error.what()); logger.log(error.what());
// Also show a desktop notification most people likely won't see the
// above message
send_notification("Failed to initialize VST2 plugin", error.what());
return nullptr; return nullptr;
} }
} }
+4
View File
@@ -55,6 +55,10 @@ bool InitModule() {
logger.log("Error during initialization:"); logger.log("Error during initialization:");
logger.log(error.what()); logger.log(error.what());
// Also show a desktop notification most people likely won't see the
// above message
send_notification("Failed to initialize VST3 plugin", error.what());
return false; return false;
} }
} }