diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 27f8acf..72769da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1066,6 +1066,13 @@ jobs: make NOOPT=true SKIP_STRIPPING=true -j $(nproc) - name: Run Cardinal self-tests run: | + #xvfb-run valgrind \ + #--gen-suppressions=all \ + #--exit-on-first-error=yes \ + #--error-exitcode=255 \ + #--leak-check=no \ + #--track-origins=yes \ + #--suppressions=./dpf/utils/valgrind-dpf.supp xvfb-run ./bin/Cardinal selftest - name: Validate LV2 ttl syntax run: | @@ -1082,7 +1089,7 @@ jobs: cp -r bin/CardinalFX.lv2 bin/CardinalSynth.lv2 \ /usr/lib/lv2/{atom,buf-size,core,data-access,kx-control-input-port-change-request,kx-programs,instance-access,midi,mod,parameters,port-groups,port-props,options,patch,presets,resize-port,state,time,ui,units,urid,worker}.lv2 \ ${LV2_PATH} - lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls) + xvfb-run lv2lint -s lv2_generate_ttl -l ld-linux-x86-64.so.2 -M nopack $(lv2ls) - name: Test LV2 plugin run: | export LV2_PATH=/tmp/lv2-path diff --git a/dpf b/dpf index 71b1797..7b8eefb 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 71b17971f63dc9def67faea500dcbaced979efb4 +Subproject commit 7b8eefb59f62dd51e08cdda5c33478781eccb072 diff --git a/plugins/Bidoo b/plugins/Bidoo index 5d2f572..b88130f 160000 --- a/plugins/Bidoo +++ b/plugins/Bidoo @@ -1 +1 @@ -Subproject commit 5d2f5721e2701f747d0410fc407e6b1e782f16dc +Subproject commit b88130f6b6311c8cd58669c20cc9842f2ea81575 diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index 425975c..667fef6 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -469,38 +469,44 @@ public: const ScopedContext sc(this); context->patch->clear(); - context->window->step(); app.idle(); const rack::math::Vec mousePos(getWidth()/2,getHeight()/2); context->event->handleButton(mousePos, GLFW_MOUSE_BUTTON_LEFT, GLFW_RELEASE, 0x0); context->event->handleHover(mousePos, rack::math::Vec(0,0)); - context->window->step(); app.idle(); for (rack::plugin::Plugin* p : rack::plugin::plugins) { for (rack::plugin::Model* m : p->models) { + d_stdout(">>>>>>>>>>>>>>>>> LOADING module %s : %s", p->slug.c_str(), m->slug.c_str()); rack::engine::Module* const module = m->createModule(); DISTRHO_SAFE_ASSERT_CONTINUE(module != nullptr); rack::CardinalPluginModelHelper* const helper = dynamic_cast(m); DISTRHO_SAFE_ASSERT_CONTINUE(helper != nullptr); + d_stdout(">>>>>>>>>>>>>>>>> LOADING moduleWidget %s : %s", p->slug.c_str(), m->slug.c_str()); rack::app::ModuleWidget* const moduleWidget = helper->createModuleWidget(module); DISTRHO_SAFE_ASSERT_CONTINUE(moduleWidget != nullptr); + d_stdout(">>>>>>>>>>>>>>>>> ADDING TO ENGINE %s : %s", p->slug.c_str(), m->slug.c_str()); context->engine->addModule(module); + + d_stdout(">>>>>>>>>>>>>>>>> ADDING TO RACK VIEW %s : %s", p->slug.c_str(), m->slug.c_str()); context->scene->rack->addModuleAtMouse(moduleWidget); for (int i=5; --i>=0;) app.idle(); + d_stdout(">>>>>>>>>>>>>>>>> REMOVING FROM RACK VIEW %s : %s", p->slug.c_str(), m->slug.c_str()); context->scene->rack->removeModule(moduleWidget); - context->engine->removeModule(module); - context->window->step(); - delete module; + app.idle(); + + d_stdout(">>>>>>>>>>>>>>>>> DELETING module + moduleWidget %s : %s", p->slug.c_str(), m->slug.c_str()); + delete moduleWidget; + app.idle(); } }