diff --git a/README.md b/README.md index 1c2facf2..0926ac20 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Tested in # Downloads The current release can be found in the [vst2_bin/](vst2_bin/) folder. -Here's a snapshot of it: [veeseevstrack_0_6_1_win64_bin-08Aug2018.7z](dist/veeseevstrack_0_6_1_win64_bin-08Aug2018.7z) (64bit) +Here's a snapshot of it: [veeseevstrack_0_6_1_win64_bin-09Aug2018.7z](dist/veeseevstrack_0_6_1_win64_bin-09Aug2018.7z) (64bit) Note: The effect plugin can used be as an instrument, too. You just have to send it MIDI events ! diff --git a/dep/dep.7z b/dep/dep.7z index 62fd298d..22bdd343 100644 Binary files a/dep/dep.7z and b/dep/dep.7z differ diff --git a/make.objects b/make.objects index c2f58a40..b2358015 100644 --- a/make.objects +++ b/make.objects @@ -100,7 +100,8 @@ LIB_OBJ= \ LIB_OBJ_WIN= \ src/util/dirent_win32/dirent.o \ - dep/lglw/lglw_windows.o + dep/lglw/lglw_windows.o \ + dep/lglw/lglw_windows_cpp.o SHARED_LIB_OBJ= \ $(COMMON_OBJ) diff --git a/src/settings.cpp b/src/settings.cpp index d087f752..a43c5a89 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -14,6 +14,7 @@ extern void vst2_refresh_rate_set (float _hz); namespace rack { +extern bool b_touchkeyboard_enable; static json_t *settingsToJson() { // root @@ -170,6 +171,16 @@ static void settingsFromJson(json_t *rootJ, bool bWindowSizeOnly) { } } + // touchKbd + if(!bWindowSizeOnly) + { + json_t *touchJ = json_object_get(rootJ, "touchKbd"); + if (touchJ) + { + b_touchkeyboard_enable = json_is_true(touchJ); + } + } + #ifndef USE_VST2 // sampleRate json_t *sampleRateJ = json_object_get(rootJ, "sampleRate"); diff --git a/src/ui/TextField.cpp b/src/ui/TextField.cpp index eeeafec0..421c4f83 100644 --- a/src/ui/TextField.cpp +++ b/src/ui/TextField.cpp @@ -9,6 +9,7 @@ namespace rack { +extern bool b_touchkeyboard_enable; void TextField::draw(NVGcontext *vg) { nvgScissor(vg, 0, 0, box.size.x, box.size.y); @@ -37,6 +38,11 @@ void TextField::onMouseDown(EventMouseDown &e) { cursor = selection = getTextPosition(e.pos); } OpaqueWidget::onMouseDown(e); + + if(b_touchkeyboard_enable) + { + lglw_touchkeyboard_show(rack::global_ui->window.lglw, LGLW_TRUE); + } } void TextField::onMouseMove(EventMouseMove &e) { @@ -64,7 +70,7 @@ void TextField::onText(EventText &e) { void TextField::onKey(EventKey &e) { switch (e.key) { - case LGLW_VKEY_BACKSPACE/*GLFW_KEY_BACKSPACE*/: + case LGLW_VKEY_BACKSPACE: if (cursor == selection) { cursor--; if (cursor >= 0) { @@ -81,7 +87,7 @@ void TextField::onKey(EventKey &e) { } break; - case LGLW_VKEY_DELETE/*GLFW_KEY_DELETE*/: + case LGLW_VKEY_DELETE: if (cursor == selection) { text.erase(cursor, 1); onTextChange(); @@ -94,7 +100,7 @@ void TextField::onKey(EventKey &e) { } break; - case LGLW_VKEY_LEFT/*GLFW_KEY_LEFT*/: + case LGLW_VKEY_LEFT: if (windowIsModPressed()) { while (--cursor > 0) { if (text[cursor] == ' ') @@ -109,7 +115,7 @@ void TextField::onKey(EventKey &e) { } break; - case LGLW_VKEY_RIGHT/*GLFW_KEY_RIGHT*/: + case LGLW_VKEY_RIGHT: if (windowIsModPressed()) { while (++cursor < (int) text.size()) { if (text[cursor] == ' ') @@ -124,15 +130,15 @@ void TextField::onKey(EventKey &e) { } break; - case LGLW_VKEY_HOME/*GLFW_KEY_HOME*/: + case LGLW_VKEY_HOME: selection = cursor = 0; break; - case LGLW_VKEY_END/*GLFW_KEY_END*/: + case LGLW_VKEY_END: selection = cursor = text.size(); break; - case 'v'/*GLFW_KEY_V*/: + case 'v': #if 0 if (windowIsModPressed()) { const char *newText = glfwGetClipboardString(global_ui->window.gWindow); @@ -142,7 +148,7 @@ void TextField::onKey(EventKey &e) { #endif break; - case 'x'/*GLFW_KEY_X*/: + case 'x': #if 0 if (windowIsModPressed()) { if (cursor != selection) { @@ -155,7 +161,7 @@ void TextField::onKey(EventKey &e) { #endif break; - case 'c'/*GLFW_KEY_C*/: + case 'c': #if 0 if (windowIsModPressed()) { if (cursor != selection) { @@ -167,20 +173,24 @@ void TextField::onKey(EventKey &e) { #endif break; - case 'a'/*GLFW_KEY_A*/: + case 'a': if (windowIsModPressed()) { selection = 0; cursor = text.size(); } break; - case LGLW_VKEY_RETURN/*GLFW_KEY_ENTER*/: + case LGLW_VKEY_RETURN: // printf("xxx TextField::onKey: RETURN\n"); if (multiline) { insertText("\n"); } else { EventAction e; + if(b_touchkeyboard_enable) + { + lglw_touchkeyboard_show(rack::global_ui->window.lglw, LGLW_FALSE); + } onAction(e); } break; diff --git a/src/vst2_main.cpp b/src/vst2_main.cpp index 804c1f19..335724a9 100644 --- a/src/vst2_main.cpp +++ b/src/vst2_main.cpp @@ -17,7 +17,7 @@ /// /// created: 25Jun2018 /// changed: 26Jun2018, 27Jun2018, 29Jun2018, 01Jul2018, 02Jul2018, 06Jul2018, 13Jul2018 -/// 26Jul2018, 04Aug2018, 05Aug2018, 06Aug2018, 07Aug2018 +/// 26Jul2018, 04Aug2018, 05Aug2018, 06Aug2018, 07Aug2018, 09Aug2018 /// /// /// @@ -63,9 +63,11 @@ extern void vst2_handle_queued_params (void); extern float vst2_get_param (int uniqueParamId); extern void vst2_get_param_name (int uniqueParamId, char *s, int sMaxLen); extern void vst2_set_shared_plugin_tls_globals (void); +extern "C" extern int vst2_handle_effeditkeydown (unsigned int _vkey); namespace rack { extern void settingsLoad(std::string filename, bool bWindowSizeOnly); + bool b_touchkeyboard_enable = false; // true=support effEditKey* } @@ -1213,6 +1215,61 @@ VstIntPtr VSTPluginDispatcher(VSTPlugin *vstPlugin, r = 1; break; + case effEditKeyDown: + // [index]: ASCII character [value]: virtual key [opt]: modifiers [return value]: 1 if key used @see AEffEditor::onKeyDown + // (note) only used for touch input + printf("xxx effEditKeyDown: ascii=%d (\'%c\') vkey=0x%08x mod=0x%08x\n", index, index, value, opt); + if(rack::b_touchkeyboard_enable) + { + wrapper->setGlobals(); + { + uint32_t vkey = 0u; + + switch(uint32_t(value)) + { + // see aeffectx.h + case VKEY_BACK: vkey = LGLW_VKEY_BACKSPACE; break; + case VKEY_TAB: vkey = LGLW_VKEY_TAB; break; + case VKEY_RETURN: vkey = LGLW_VKEY_RETURN; break; + case VKEY_ESCAPE: vkey = LGLW_VKEY_ESCAPE; break; + case VKEY_END: vkey = LGLW_VKEY_END; break; + case VKEY_HOME: vkey = LGLW_VKEY_HOME; break; + case VKEY_LEFT: vkey = LGLW_VKEY_LEFT; break; + case VKEY_UP: vkey = LGLW_VKEY_UP; break; + case VKEY_RIGHT: vkey = LGLW_VKEY_RIGHT; break; + case VKEY_DOWN: vkey = LGLW_VKEY_DOWN; break; + case VKEY_PAGEUP: vkey = LGLW_VKEY_PAGEUP; break; + case VKEY_PAGEDOWN: vkey = LGLW_VKEY_PAGEDOWN; break; + case VKEY_ENTER: vkey = LGLW_VKEY_RETURN; break; + case VKEY_INSERT: vkey = LGLW_VKEY_INSERT; break; + case VKEY_DELETE: vkey = LGLW_VKEY_DELETE; break; + break; + + default: + vkey = (char)index; + // (note) some(most?) DAWs don't send the correct VKEY_xxx values for all special keys + switch(vkey) + { + case 8: vkey = LGLW_VKEY_BACKSPACE; break; + // case 13: vkey = LGLW_VKEY_RETURN; break; + // case 9: vkey = LGLW_VKEY_TAB; break; + // case 27: vkey = LGLW_VKEY_ESCAPE; break; + default: + if(vkey >= 128) + vkey = 0u; + break; + } + break; + } + + if(vkey > 0u) + { + r = vst2_handle_effeditkeydown(vkey); + } + } + } + break; + default: // ignoring all other opcodes printf("vstrack_plugin:dispatcher: unhandled opCode %d [ignored] \n", opCode); diff --git a/src/window.cpp b/src/window.cpp index ac4b6d4d..3e74146c 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -310,6 +310,14 @@ static lglw_bool_t lglw_keyboard_cbk(lglw_t _lglw, uint32_t _vkey, uint32_t _kmo return bHandled; } +int vst2_handle_effeditkeydown(unsigned int _vkey) { + // (note) only used for touch keyboard input + lglw_bool_t bHandled = lglw_keyboard_cbk(rack::global_ui->window.lglw, _vkey, 0u/*kmod*/, LGLW_TRUE/*bPressed*/); + lglw_keyboard_cbk(rack::global_ui->window.lglw, _vkey, 0u/*kmod*/, LGLW_FALSE/*bPressed*/); + return bHandled; +} + + void lglw_dropfiles_cbk(lglw_t _lglw, int32_t _x, int32_t _y, uint32_t _numFiles, const char **_pathNames) { // onPathDrop EventPathDrop e; diff --git a/vst2_bin/CHANGELOG_VST.txt b/vst2_bin/CHANGELOG_VST.txt index 6b9fb992..0079310c 100644 --- a/vst2_bin/CHANGELOG_VST.txt +++ b/vst2_bin/CHANGELOG_VST.txt @@ -1,3 +1,9 @@ +** August 9th, 2018 +- add settings.json:"touchKbd" option + - show / hide virtual keyboard when textfield is clicked + - support virtual keyboard input via effEditKeyDown + + ** August 8th, 2018 - support Windows 8 touch API and add settings.json:"touchInput" configuration item - RMB is emulated via ctrl-LMB or LMB-hold diff --git a/vst2_bin/README_vst2.txt b/vst2_bin/README_vst2.txt index 7059b489..cc4d1107 100644 --- a/vst2_bin/README_vst2.txt +++ b/vst2_bin/README_vst2.txt @@ -1,4 +1,4 @@ -VeeSeeVST Rack VST 2.4 Plugin -- August 8th, 2018 +VeeSeeVST Rack VST 2.4 Plugin -- August 9th, 2018 ================================================= !!!------------------------------------------------------------------------------ diff --git a/vst2_bin/log.txt b/vst2_bin/log.txt index a5c15096..4e575907 100644 --- a/vst2_bin/log.txt +++ b/vst2_bin/log.txt @@ -2,120 +2,120 @@ [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:673] vcvrack: Loaded static plugin Alikins 0.6.1 -[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin AS 0.6.1 -[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin AudibleInstruments 0.6.1 -[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin BaconMusic 0.6.1 -[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Befaco 0.6.1 -[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bidoo 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bogaudio 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin cf 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin DHE-Modules 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin DrumKit 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin ErraticInstruments 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin ESeries 0.6.1 -[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin FrozenWasteland 0.6.1 -[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Fundamental 0.6.1 -[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Gratrix 0.6.1 -[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin HetrickCV 0.6.1 -[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin huaba 0.6.1 -[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin JW-Modules 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin LindenbergResearch 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin LOGinstruments 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin ML_modules 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin moDllz 0.6.1 -[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin modular80 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin mscHack 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin mtsch-plugins 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin NauModular 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Ohmer 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Qwelk 0.6.1 -[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin RJModules 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin SerialRacker 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin SonusModular 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin Southpole-parasites 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin SubmarineFree 0.6.1 -[0.007 info src/plugin.cpp:673] vcvrack: Loaded static plugin Template 0.6.1 -[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin trowaSoft 0.6.1 -[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin unless_modules 0.6.1 -[0.008 info src/plugin.cpp:673] vcvrack: Loaded static plugin Valley 0.6.1 -[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist -[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist -[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist -[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist -[0.010 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll -[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist -[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist -[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist -[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist -[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist -[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist -[0.014 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist -[0.014 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist -[0.014 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll -[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist -[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist -[0.015 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist -[0.015 info src/settings.cpp:224] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json -[0.033 info src/window.cpp:591] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf -[0.034 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg -[0.034 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg -[0.034 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg -[0.035 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg -[0.035 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg -[0.035 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg -[0.035 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg -[0.036 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg -[0.036 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg -[0.036 info src/settings.cpp:224] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json -[0.040 info src/app/RackWidget.cpp:196] Loading patch from string -[0.041 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg -[0.042 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg -[0.042 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg -[0.042 info src/window.cpp:591] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf -[0.044 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg -[0.048 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg -[0.048 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg -[0.048 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg -[0.049 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg -[0.049 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg -[0.049 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg -[0.049 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg -[0.050 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg -[0.050 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg -[0.052 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg -[0.052 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg -[0.054 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg -[0.054 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg -[0.056 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg -[0.056 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg -[0.057 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg -[0.057 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg -[0.057 info src/window.cpp:646] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg -[21.687 info src/app/RackWidget.cpp:158] Saving patch to string +[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin AS 0.6.1 +[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin AudibleInstruments 0.6.1 +[0.000 info src/plugin.cpp:673] vcvrack: Loaded static plugin BaconMusic 0.6.1 +[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin Befaco 0.6.1 +[0.001 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bidoo 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin Bogaudio 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin cf 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin DHE-Modules 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin DrumKit 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin ErraticInstruments 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin ESeries 0.6.1 +[0.002 info src/plugin.cpp:673] vcvrack: Loaded static plugin FrozenWasteland 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Fundamental 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Gratrix 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin HetrickCV 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin huaba 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin JW-Modules 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin Koralfx-Modules 0.6.1 +[0.003 info src/plugin.cpp:673] vcvrack: Loaded static plugin LindenbergResearch 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin LOGinstruments 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin ML_modules 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin moDllz 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin modular80 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin mscHack 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin mtsch-plugins 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin NauModular 0.6.1 +[0.004 info src/plugin.cpp:673] vcvrack: Loaded static plugin Ohmer 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Qwelk 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin RJModules 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin SerialRacker 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin SonusModular 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin Southpole-parasites 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin squinkylabs-plug1 0.6.1 +[0.005 info src/plugin.cpp:673] vcvrack: Loaded static plugin SubmarineFree 0.6.1 +[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Template 0.6.1 +[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin trowaSoft 0.6.1 +[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin unless_modules 0.6.1 +[0.006 info src/plugin.cpp:673] vcvrack: Loaded static plugin Valley 0.6.1 +[0.006 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Alikins/plugin.dll does not exist +[0.006 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AS/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/AudibleInstruments/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BaconMusic/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Befaco/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bidoo/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Bogaudio/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/BOKONTEPByteBeatMachine/plugin.dll does not exist +[0.007 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/cf/plugin.dll does not exist +[0.008 info src/plugin.cpp:155] Loaded plugin dBiz 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/dBiz/plugin.dll +[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DHE-Modules/plugin.dll does not exist +[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/DrumKit/plugin.dll does not exist +[0.008 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ErraticInstruments/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ESeries/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/FrozenWasteland/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Fundamental/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Gratrix/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/HetrickCV/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/huaba/plugin.dll does not exist +[0.009 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/JW-Modules/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Koralfx-Modules/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LindenbergResearch/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/LOGinstruments/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/ML_modules/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/moDllz/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/modular80/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mscHack/plugin.dll does not exist +[0.010 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/mtsch-plugins/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/NauModular/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Ohmer/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Qwelk/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/RJModules/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SerialRacker/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SonusModular/plugin.dll does not exist +[0.011 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Southpole-parasites/plugin.dll does not exist +[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/squinkylabs-plug1/plugin.dll does not exist +[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/SubmarineFree/plugin.dll does not exist +[0.012 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template/plugin.dll does not exist +[0.012 info src/plugin.cpp:155] Loaded plugin Template_shared 0.6.1 from f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Template_shared/plugin.dll +[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/trowaSoft/plugin.dll does not exist +[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/unless_modules/plugin.dll does not exist +[0.013 warn src/plugin.cpp:86] Plugin file f:\git\VeeSeeVSTRack\vst2_bin\/plugins/Valley/plugin.dll does not exist +[0.013 info src/settings.cpp:235] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json +[0.030 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/DejaVuSans.ttf +[0.030 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_146097_cc.svg +[0.031 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_31859_cc.svg +[0.031 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343816_cc.svg +[0.031 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1343811_cc.svg +[0.032 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1084369_cc.svg +[0.032 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1745061_cc.svg +[0.032 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_1240789_cc.svg +[0.032 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_305536_cc.svg +[0.033 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/icons/noun_468341_cc.svg +[0.033 info src/settings.cpp:235] Loading settings f:\git\VeeSeeVSTRack\vst2_bin\/settings.json +[0.036 info src/app/RackWidget.cpp:196] Loading patch from string +[0.038 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/AudioInterface.svg +[0.038 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/ScrewSilver.svg +[0.039 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/PJ301M.svg +[0.039 info src/window.cpp:599] Loaded font f:\git\VeeSeeVSTRack\vst2_bin\/res/fonts/ShareTechMono-Regular.ttf +[0.041 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/Core/MIDIToCVInterface.svg +[0.044 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/XCO.svg +[0.045 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_68px.svg +[0.045 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_16px.svg +[0.045 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_0.svg +[0.045 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/button_9px_1.svg +[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/knob_38px.svg +[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_0.svg +[0.046 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/slider_switch_2_14px_1.svg +[0.047 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Bogaudio/res/port.svg +[0.048 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCA.svg +[0.049 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundLargeBlackKnob.svg +[0.050 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/Fundamental/res/VCF.svg +[0.051 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\/res/ComponentLibrary/RoundHugeBlackKnob.svg +[0.052 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/ADSR.svg +[0.053 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-hexscrew.svg +[0.053 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePot.svg +[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-SlidePotHandle.svg +[0.054 info src/window.cpp:654] Loaded SVG f:\git\VeeSeeVSTRack\vst2_bin\plugins/AS/res/as-PJ301M.svg +[4.171 info src/app/RackWidget.cpp:158] Saving patch to string diff --git a/vst2_bin/settings.json b/vst2_bin/settings.json index 1b35dd76..2d3c810b 100644 --- a/vst2_bin/settings.json +++ b/vst2_bin/settings.json @@ -5,8 +5,8 @@ 820.0 ], "windowPos": [ - 60.0, - 83.0 + 0.0, + 0.0 ], "wireOpacity": 50.0, "wireTension": 0.97, @@ -15,6 +15,7 @@ "vsync": true, "allowCursorLock": true, "touchInput": false, + "touchKbd": false, "sampleRate": 44100.0, "lastPath": "", "moduleBrowser": { diff --git a/vst2_common_msvc_pre.mk b/vst2_common_msvc_pre.mk index 1d401c70..09267dab 100644 --- a/vst2_common_msvc_pre.mk +++ b/vst2_common_msvc_pre.mk @@ -10,7 +10,7 @@ else EXTRALIBS+= -LIBPATH:dep/lib/msvc/x86 endif -EXTRALIBS+= libspeexdsp.lib glew.lib opengl32.lib gdi32.lib user32.lib kernel32.lib Comdlg32.lib Shell32.lib ws2_32.lib winmm.lib +EXTRALIBS+= libspeexdsp.lib glew.lib opengl32.lib gdi32.lib user32.lib kernel32.lib Comdlg32.lib Shell32.lib ws2_32.lib winmm.lib ole32.lib #glfw.lib plugin_lib = $(PLUGIN_DIR)/$(1)/$(1).lib