diff --git a/include/util/math.hpp b/include/util/math.hpp index d67fdcd3..52bf6dff 100644 --- a/include/util/math.hpp +++ b/include/util/math.hpp @@ -297,6 +297,12 @@ struct Rect { r.size = size.plus(delta.mult(2.f)); return r; } + Rect shrink(Vec delta) { + Rect r; + r.pos = pos.plus(delta); + r.size = size.minus(delta.mult(2.f)); + return r; + } }; diff --git a/src/vst2_main.cpp b/src/vst2_main.cpp index bb29b4a9..c21e04c6 100644 --- a/src/vst2_main.cpp +++ b/src/vst2_main.cpp @@ -803,6 +803,30 @@ public: return r; } + sBool getParameterProperties(sUI _index, struct VstParameterProperties *_ret) { + sBool r = 0; + + ::memset((void*)_ret, 0, sizeof(struct VstParameterProperties)); + + if(_index < VST2_MAX_UNIQUE_PARAM_IDS) + { + _ret->stepFloat = 0.001f; + _ret->smallStepFloat = 0.001f; + _ret->largeStepFloat = 0.01f; + _ret->flags = 0; + _ret->displayIndex = VstInt16(_index); + _ret->category = 0; // 0=no category + _ret->numParametersInCategory = 0; + + vst2_get_param_name(_index, _ret->label, kVstMaxLabelLen); + vst2_get_param_name(_index, _ret->shortLabel, kVstMaxShortLabelLen); + + r = 1; + } + + return r; + } + void handleUIParam(int uniqueParamId, float normValue) { if(NULL != _vstHostCallback) (void)_vstHostCallback(&_vstPlugin, audioMasterAutomate, uniqueParamId, 0/*value*/, NULL/*ptr*/, normValue/*opt*/); @@ -1228,7 +1252,6 @@ VstIntPtr VSTPluginDispatcher(VSTPlugin *vstPlugin, break; case effGetParamName: - case effGetParamLabel: // kVstMaxParamStrLen(8), much longer in other plugins // printf("xxx vstrack_plugin: effGetParamName: ptr=%p\n", ptr); wrapper->setGlobals(); @@ -1236,9 +1259,26 @@ VstIntPtr VSTPluginDispatcher(VSTPlugin *vstPlugin, r = 1; break; + case effCanBeAutomated: + // fix Propellerhead Reason VST parameter support + r = 1; + break; + + case effGetParamLabel: + // e.g. "dB" + break; + + case effGetParamDisplay: + // e.g. "-20" + break; + +#if 0 case effGetParameterProperties: - r = 0; + // [index]: parameter index [ptr]: #VstParameterProperties* [return value]: 1 if supported + wrapper->setGlobals(); + r = wrapper->getParameterProperties(sUI(index), (struct VstParameterProperties*)ptr); break; +#endif case effGetChunk: // Query bank (index=0) or program (index=1) state @@ -1623,10 +1663,6 @@ void vst2_unlock_midi_device() { rack::global->vst2.wrapper->mtx_mididev.unlock(); } -// void vst2_handle_queued_set_program_chunk(void) { -// (void)rack::global->vst2.wrapper->handleSetQueuedProgramChunk(); -// } - void vst2_handle_ui_param(int uniqueParamId, float normValue) { // Called by engineSetParam() rack::global->vst2.wrapper->handleUIParam(uniqueParamId, normValue); @@ -1685,6 +1721,13 @@ void vst2_oversample_channels_get(int *_numIn, int *_numOut) { VST_EXPORT VSTPlugin *VSTPluginMain(VSTHostCallback vstHostCallback) { printf("vstrack_plugin: called VSTPluginMain... \n"); +#if 0 + if(!vstHostCallback(0, audioMasterVersion, 0, 0, 0, 0)) + { + return 0; // old version + } +#endif + // simply create our plugin C++ class VSTPluginWrapper *plugin = new VSTPluginWrapper(vstHostCallback, @@ -1696,7 +1739,7 @@ VST_EXPORT VSTPlugin *VSTPluginMain(VSTHostCallback vstHostCallback) { #endif PLUGIN_VERSION, // version VST2_MAX_UNIQUE_PARAM_IDS, // num params - 0, // no programs + 1, // one program NUM_INPUTS, NUM_OUTPUTS ); diff --git a/vst2_bin/CHANGELOG_VST.txt b/vst2_bin/CHANGELOG_VST.txt index 6a72bf85..1d4e85fe 100644 --- a/vst2_bin/CHANGELOG_VST.txt +++ b/vst2_bin/CHANGELOG_VST.txt @@ -1,3 +1,8 @@ +** August 17th, 2018 +- fix VST parameter automation in Propellerhead Reason +- add module Fundamental.VCA-1 (for real this time) + + ** August 16th, 2018 - fix: amplify input channels *10, attenuate output channels /10 => for VCV Rack patch compatibility diff --git a/vst2_bin/README_vst2.txt b/vst2_bin/README_vst2.txt index 7db9be2f..e61a0e35 100644 --- a/vst2_bin/README_vst2.txt +++ b/vst2_bin/README_vst2.txt @@ -1,4 +1,4 @@ -VeeSeeVST Rack VST 2.4 Plugin -- August 16th, 2018 +VeeSeeVST Rack VST 2.4 Plugin -- August 17th, 2018 ================================================== !!!------------------------------------------------------------------------------ diff --git a/vst2_bin/log.txt b/vst2_bin/log.txt index 4edee892..2f8de5e1 100644 --- a/vst2_bin/log.txt +++ b/vst2_bin/log.txt @@ -1,174 +1,108 @@ [0.000 info src/main.cpp:59] VeeSeeVST Rack 0.6.1 -[0.000 info src/main.cpp:62] Global directory: f:\git\VeeSeeVSTRack\vst2_bin\/ -[0.000 info src/main.cpp:63] Local directory: f:\git\VeeSeeVSTRack\vst2_bin\/ -[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin 21kHz 0.6.1 -[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin Alikins 0.6.1 -[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin AS 0.6.1 -[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin AudibleInstruments 0.6.1 -[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin BaconMusic 0.6.1 -[0.004 info src/plugin.cpp:677] vcvrack: Loaded static plugin Befaco 0.6.1 -[0.004 info src/plugin.cpp:677] vcvrack: Loaded static plugin Bidoo 0.6.1 -[0.004 info src/plugin.cpp:677] vcvrack: Loaded static plugin Bogaudio 0.6.1 -[0.005 info src/plugin.cpp:677] vcvrack: Loaded static plugin cf 0.6.1 -[0.005 info src/plugin.cpp:677] vcvrack: Loaded static plugin DHE-Modules 0.6.1 -[0.005 info src/plugin.cpp:677] vcvrack: Loaded static plugin DrumKit 0.6.1 -[0.006 info src/plugin.cpp:677] vcvrack: Loaded static plugin ErraticInstruments 0.6.1 -[0.006 info src/plugin.cpp:677] vcvrack: Loaded static plugin ESeries 0.6.1 -[0.007 info src/plugin.cpp:677] vcvrack: Loaded static plugin FrozenWasteland 0.6.1 -[0.007 info src/plugin.cpp:677] vcvrack: Loaded static plugin Fundamental 0.6.1 -[0.008 info src/plugin.cpp:677] vcvrack: Loaded static plugin Gratrix 0.6.1 -[0.008 info src/plugin.cpp:677] vcvrack: Loaded static plugin HetrickCV 0.6.1 -[0.008 info src/plugin.cpp:677] vcvrack: Loaded static plugin huaba 0.6.1 -[0.009 info src/plugin.cpp:677] vcvrack: Loaded static plugin ImpromptuModular 0.6.1 -[0.009 info src/plugin.cpp:677] vcvrack: Loaded static plugin JW-Modules 0.6.1 -[0.010 info src/plugin.cpp:677] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1 -[0.010 info src/plugin.cpp:677] vcvrack: Loaded static plugin LindenbergResearch 0.6.1 -[0.011 info src/plugin.cpp:677] vcvrack: Loaded static plugin LOGinstruments 0.6.1 -[0.011 info src/plugin.cpp:677] vcvrack: Loaded static plugin ML_modules 0.6.1 -[0.011 info src/plugin.cpp:677] vcvrack: Loaded static plugin moDllz 0.6.1 -[0.012 info src/plugin.cpp:677] vcvrack: Loaded static plugin modular80 0.6.1 -[0.012 info src/plugin.cpp:677] vcvrack: Loaded static plugin mscHack 0.6.1 -[0.013 info src/plugin.cpp:677] vcvrack: Loaded static plugin mtsch-plugins 0.6.1 -[0.013 info src/plugin.cpp:677] vcvrack: Loaded static plugin NauModular 0.6.1 -[0.014 info src/plugin.cpp:677] vcvrack: Loaded static plugin Ohmer 0.6.1 -[0.014 info src/plugin.cpp:677] vcvrack: Loaded static plugin PG-Instruments 0.6.1 -[0.014 info src/plugin.cpp:677] vcvrack: Loaded static plugin Qwelk 0.6.1 -[0.015 info src/plugin.cpp:677] vcvrack: Loaded static plugin RJModules 0.6.1 -[0.015 info src/plugin.cpp:677] vcvrack: Loaded static plugin SerialRacker 0.6.1 -[0.016 info src/plugin.cpp:677] vcvrack: Loaded static plugin SonusModular 0.6.1 -[0.016 info src/plugin.cpp:677] vcvrack: Loaded static plugin Southpole 0.6.1 -[0.017 info src/plugin.cpp:677] vcvrack: Loaded static plugin Southpole-parasites 0.6.1 -[0.017 info src/plugin.cpp:677] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1 -[0.018 info src/plugin.cpp:677] vcvrack: Loaded static plugin SubmarineFree 0.6.1 -[0.018 info src/plugin.cpp:677] vcvrack: Loaded static plugin Template 0.6.1 -[0.018 info src/plugin.cpp:677] vcvrack: Loaded static plugin trowaSoft 0.6.1 -[0.019 info src/plugin.cpp:677] vcvrack: Loaded static plugin unless_modules 0.6.1 -[0.019 info src/plugin.cpp:677] vcvrack: Loaded static plugin Valley 0.6.1 -[0.020 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/21kHz/plugin.dll does not exist -[0.020 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist -[0.020 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist -[0.021 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist -[0.021 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist -[0.022 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist -[0.022 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist -[0.022 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist -[0.023 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist -[0.023 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist -[0.024 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll -[0.024 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist -[0.025 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist -[0.025 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist -[0.026 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist -[0.026 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist -[0.027 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist -[0.027 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist -[0.027 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist -[0.028 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist -[0.028 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ImpromptuModular/plugin.dll does not exist -[0.029 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist -[0.029 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist -[0.030 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist -[0.030 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist -[0.031 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist -[0.031 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist -[0.031 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist -[0.032 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist -[0.032 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist -[0.033 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist -[0.033 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist -[0.034 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/PG-Instruments/plugin.dll does not exist -[0.034 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist -[0.034 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist -[0.035 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist -[0.035 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist -[0.036 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole/plugin.dll does not exist -[0.036 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist -[0.037 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist -[0.037 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist -[0.038 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist -[0.039 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll -[0.039 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist -[0.039 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist -[0.040 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist -[0.040 info src/settings.cpp:287] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json -[0.056 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf -[0.057 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg -[0.057 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg -[0.058 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg -[0.059 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg -[0.060 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg -[0.061 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg -[0.062 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg -[0.062 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg -[0.063 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg -[0.064 info src/settings.cpp:287] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json -[0.076 info src/app/RackWidget.cpp:205] Loading patch from string -[0.079 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg -[0.080 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg -[0.081 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg -[0.082 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf -[0.087 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg -[0.093 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg -[0.093 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg -[0.094 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg -[0.095 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg -[0.096 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg -[0.097 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg -[0.097 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg -[0.098 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg -[0.099 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg -[0.104 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg -[0.104 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg -[0.109 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg -[0.111 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg -[0.116 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg -[0.116 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg -[0.117 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg -[0.118 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg -[0.119 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg -[5.957 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Aux_.svg -[5.958 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Port20.svg -[5.959 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-knobBlack.svg -[5.961 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-trimpotBlack.svg -[5.961 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/LEDButton.svg -[15.800 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Balaclava.svg -[22.156 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Blank2HP.svg -[35.016 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Blank4HP.svg -[42.001 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Blank8HP.svg -[47.562 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Blank16HP.svg -[61.751 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-Blank42HP.svg -[70.559 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/But.svg -[70.560 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-switchv_0.svg -[70.562 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-switchv_1.svg -[77.457 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Cornrows.svg -[77.458 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/hdad-segment14-1.002/Segment14.ttf -[77.461 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/sp-encoder.svg -[87.309 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/DeuxEtageres.svg -[95.332 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Etagere.svg -[95.333 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Etagere_blanc.svg -[169.847 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Falls.svg -[177.188 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Ftagn.svg -[185.769 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Fuse.svg -[197.131 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Gnome.svg -[197.132 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_0.svg -[197.132 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKSS_1.svg -[207.891 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Piste.svg -[215.354 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Pulse.svg -[215.355 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/TL1105_0.svg -[215.355 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/TL1105_1.svg -[224.211 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Rakes.svg -[232.679 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Riemann.svg -[232.680 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/DejaVuSansMono.ttf -[242.427 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Smoke.svg -[242.429 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Espectro.svg -[242.431 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Ritardo.svg -[242.432 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Camilla.svg -[253.739 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Snake.svg -[261.043 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Sns.svg -[267.184 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Splash.svg -[267.186 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Lambs.svg -[267.186 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKD6_0.svg -[267.187 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/CKD6_1.svg -[273.917 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Sssh.svg -[284.396 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Southpole/res/Wriggle.svg -[294.497 info src/app/RackWidget.cpp:167] Saving patch to string +[0.000 info src/main.cpp:62] Global directory: F:\git\VeeSeeVSTRack\vst2_bin\/ +[0.000 info src/main.cpp:63] Local directory: F:\git\VeeSeeVSTRack\vst2_bin\/ +[0.000 info src/plugin.cpp:677] vcvrack: Loaded static plugin 21kHz 0.6.1 +[0.000 info src/plugin.cpp:677] vcvrack: Loaded static plugin Alikins 0.6.1 +[0.000 info src/plugin.cpp:677] vcvrack: Loaded static plugin AS 0.6.1 +[0.000 info src/plugin.cpp:677] vcvrack: Loaded static plugin AudibleInstruments 0.6.1 +[0.000 info src/plugin.cpp:677] vcvrack: Loaded static plugin BaconMusic 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin Befaco 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin Bidoo 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin Bogaudio 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin cf 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin DHE-Modules 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin DrumKit 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin ErraticInstruments 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin ESeries 0.6.1 +[0.001 info src/plugin.cpp:677] vcvrack: Loaded static plugin FrozenWasteland 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin Fundamental 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin Gratrix 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin HetrickCV 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin huaba 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin ImpromptuModular 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin JW-Modules 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin LindenbergResearch 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin LOGinstruments 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin ML_modules 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin moDllz 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin modular80 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin mscHack 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin mtsch-plugins 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin NauModular 0.6.1 +[0.002 info src/plugin.cpp:677] vcvrack: Loaded static plugin Ohmer 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin PG-Instruments 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin Qwelk 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin RJModules 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin SerialRacker 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin SonusModular 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin Southpole 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin Southpole-parasites 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin SubmarineFree 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin Template 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin trowaSoft 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin unless_modules 0.6.1 +[0.003 info src/plugin.cpp:677] vcvrack: Loaded static plugin Valley 0.6.1 +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/21kHz/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist +[0.004 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from F:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/ImpromptuModular/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/PG-Instruments/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist +[0.004 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist +[0.004 warn src/plugin.cpp:86] Plugin file F:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist +[0.004 info src/settings.cpp:287] Loading settings F:\git\VeeSeeVSTRack\vst2_bin\/settings.json +[0.019 info src/window.cpp:599] Loaded font F:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf +[0.019 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg +[0.019 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg +[0.020 info src/window.cpp:654] Loaded SVG F:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg +[0.020 info src/settings.cpp:287] Loading settings F:\git\VeeSeeVSTRack\vst2_bin\/settings.json +[0.122 info src/app/RackWidget.cpp:167] Saving patch to string +[0.192 info src/app/RackWidget.cpp:167] Saving patch to string +[25.754 info src/app/RackWidget.cpp:167] Saving patch to string +[25.754 info src/app/RackWidget.cpp:205] Loading patch from string