From db7f027981a6d838df9781cf2d7d9b16df7250d2 Mon Sep 17 00:00:00 2001 From: "Paul Walker (baconpaul)" Date: Sat, 23 May 2020 16:18:05 -0400 Subject: [PATCH] More Linux Fixes 1. Pipeline to 18.04 2. Fix the sprintf errors 3. Upgrade vstgui in high-rect mode to be faster, closing #1103 again --- azure-pipelines.yml | 4 ++-- src/common/Parameter.cpp | 6 +++--- src/common/gui/CNumberField.cpp | 2 +- src/common/gui/SurgeGUIEditor.cpp | 7 ++++++- vstgui.surge | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 94ea58fb3b2..16c573cd7ea 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -27,11 +27,11 @@ jobs: imageName: 'vs2017-win2016' isWindowsUnitTest: True linux-lv2: - imageName: 'ubuntu-16.04' + imageName: 'ubuntu-18.04' isLinux: True linuxProject: lv2 linux-vst3: - imageName: 'ubuntu-16.04' + imageName: 'ubuntu-18.04' isLinux: True linuxProject: vst3 linux-unittest: diff --git a/src/common/Parameter.cpp b/src/common/Parameter.cpp index f4fd5510f71..49557c5e748 100644 --- a/src/common/Parameter.cpp +++ b/src/common/Parameter.cpp @@ -1092,7 +1092,7 @@ void Parameter::get_display_alt(char* txt, bool external, float ef) int oct_offset = 1; if (storage) oct_offset = Surge::Storage::getUserDefaultValue(storage, "middleC", 1); - char notename[8]; + char notename[16]; sprintf(txt, "%s", get_notename(notename, i_value, oct_offset)); break; @@ -1106,7 +1106,7 @@ void Parameter::get_display_alt(char* txt, bool external, float ef) int oct_offset = 1; if (storage) oct_offset = Surge::Storage::getUserDefaultValue(storage, "middleC", 1); - char notename[8]; + char notename[16]; sprintf(txt, "%s", get_notename(notename, i_value, oct_offset)); break; @@ -1291,7 +1291,7 @@ void Parameter::get_display(char* txt, bool external, float ef) int oct_offset = 1; if (storage) oct_offset = Surge::Storage::getUserDefaultValue(storage, "middleC", 1); - char notename[8]; + char notename[16]; sprintf(txt, "%s", get_notename(notename, val.i, oct_offset)); break; } diff --git a/src/common/gui/CNumberField.cpp b/src/common/gui/CNumberField.cpp index 3c8a03c8970..0add60e9fda 100644 --- a/src/common/gui/CNumberField.cpp +++ b/src/common/gui/CNumberField.cpp @@ -333,7 +333,7 @@ void CNumberField::draw(CDrawContext* pContext) int oct_offset = 1; if (storage) oct_offset = Surge::Storage::getUserDefaultValue(storage, "middleC", 1); - char notename[8]; + char notename[16]; sprintf(the_text, "%s", get_notename(notename, i_value, oct_offset)); } break; diff --git a/src/common/gui/SurgeGUIEditor.cpp b/src/common/gui/SurgeGUIEditor.cpp index 44bcb3ffa4b..1a953b34c73 100644 --- a/src/common/gui/SurgeGUIEditor.cpp +++ b/src/common/gui/SurgeGUIEditor.cpp @@ -745,6 +745,11 @@ void SurgeGUIEditor::refresh_mod() } // ctnvg frame->redraw(); // frame->setDirty(); +#if LINUX + frame->invalid(); + // Turns out linux is very bad with lots of little invalid rects in vstgui + // see github issue 1103 +#endif } int32_t SurgeGUIEditor::onKeyDown(const VstKeyCode& code, CFrame* frame) @@ -5048,7 +5053,7 @@ R"HTML( { int oct_offset = 1; oct_offset = Surge::Storage::getUserDefaultValue(&(this->synth->storage), "middleC", 1); - char notename[8]; + char notename[16]; std::string rowstyle=""; std::string tdopen=""; diff --git a/vstgui.surge b/vstgui.surge index d483072902b..d723171b87f 160000 --- a/vstgui.surge +++ b/vstgui.surge @@ -1 +1 @@ -Subproject commit d483072902b22357ed3e5af7ae73081a5111df39 +Subproject commit d723171b87f089931815b76f427bcb568d530f2b