Get rid of hack_reaper_update_display

It is now no longer necessary.
This commit is contained in:
Robbert van der Helm
2020-10-26 22:22:21 +01:00
parent 5b00ddb0c4
commit e51c7f7ae3
5 changed files with 8 additions and 56 deletions
+8 -2
View File
@@ -10,8 +10,6 @@ Versioning](https://semver.org/spec/v2.0.0.html).
### Added
TODO: Expand on this
- The way yabridge communicates between its plugin and the Wine host process has
been completely revamped. This was necessary to allow yabridge to handle
nested or mutually recursive function calls. What this boils down to is that
@@ -22,6 +20,14 @@ TODO: Expand on this
testing this extensively to make sure that the change does not introduce any
regressions, but please let me know if this does break anything for you.
TODO: Expand on this
### Removed
- The `hack_reaper_update_display` option is now obsolete and has been removed.
TODO: Remove all mentions of `hack_reaper_update_display` from the readme.
## [1.7.1] - 2020-10-23
### Fixed
-6
View File
@@ -84,12 +84,6 @@ Configuration::Configuration(const fs::path& config_path,
} else {
invalid_options.push_back(key);
}
} else if (key == "hack_reaper_update_display") {
if (const auto parsed_value = value.as_boolean()) {
hack_reaper_update_display = parsed_value->get();
} else {
invalid_options.push_back(key);
}
} else if (key == "group") {
if (const auto parsed_value = value.as_string()) {
group = parsed_value->get();
-11
View File
@@ -87,16 +87,6 @@ class Configuration {
*/
bool editor_double_embed = false;
/**
* If this is set to true, then any calls to `audioMasterUpdateDisplay()`
* will automatically return 0 without being sent to the host. This is a
* HACK to work around implementations issues in REAPER and Renoise, see #29
* and #32.
*
* TODO: Remove for yabridge 1.8.0
*/
bool hack_reaper_update_display = false;
/**
* The name of the plugin group that should be used for the plugin this
* configuration object was created for. If not set, then the plugin should
@@ -130,7 +120,6 @@ class Configuration {
template <typename S>
void serialize(S& s) {
s.value1b(editor_double_embed);
s.value1b(hack_reaper_update_display);
s.ext(group, bitsery::ext::StdOptional(),
[](S& s, auto& v) { s.text1b(v, 4096); });
s.ext(matched_file, bitsery::ext::StdOptional(),
-27
View File
@@ -473,29 +473,6 @@ intptr_t PluginBridge::dispatch(AEffect* /*plugin*/,
logger.log(" when using REAPER.");
logger.log("");
// Since the user is using REAPER, also show a reminder that the
// REAPER workaround should be enabled when it is not yet
// enabled since it may be easy to miss
if (!config.hack_reaper_update_display) {
logger.log(
" With using REAPER you will have to enable the");
logger.log(
" 'hack_reaper_update_display' option to prevent");
logger.log(
" certain plugins from crashing. To do so, create a");
logger.log(
" new file named 'yabridge.toml' next to your");
logger.log(" plugins with the following contents:");
logger.log("");
logger.log(
" # "
"https://github.com/robbert-vdh/"
"yabridge#runtime-dependencies-and-known-issues");
logger.log(" [\"*\"]");
logger.log(" hack_reaper_update_display = true");
logger.log("");
}
logger.log_event_response(true, opcode, -1, nullptr,
std::nullopt);
return -1;
@@ -660,10 +637,6 @@ void PluginBridge::log_init_message() {
if (config.editor_double_embed) {
other_options.push_back("editor: double embed");
}
if (config.hack_reaper_update_display) {
other_options.push_back(
"hack: REAPER audioMasterUpdateDisplay() workaround");
}
if (!other_options.empty()) {
init_msg << join_quoted_strings(other_options) << std::endl;
} else {
-10
View File
@@ -559,16 +559,6 @@ intptr_t Vst2Bridge::host_callback(AEffect* effect,
intptr_t value,
void* data,
float option) {
// HACK: Sadly this is needed to work around a mutual recursion issue with
// REAPER and Renoise. See #29 and #32.
// TODO: We don't have access to the verbosity level here, but it would be
// nice to log that this is being skipped when `YABRIDGE_DEBUG_LEVEL
// >= 2`.
if (config.hack_reaper_update_display &&
opcode == audioMasterUpdateDisplay) {
return 0;
}
HostCallbackDataConverter converter(effect, time_info);
return sockets.vst_host_callback.send(converter, std::nullopt, opcode,
index, value, data, option);