Browse Source

Merge branch 'main' into feature/add-dbiz

pull/166/head
dreamer 3 years ago
parent
commit
28af587435
5 changed files with 45 additions and 14 deletions
  1. +29
    -7
      .github/workflows/build.yml
  2. +1
    -1
      dpf
  3. +1
    -1
      plugins/Bidoo
  4. +3
    -0
      plugins/Cardinal/src/plugin.hpp
  5. +11
    -5
      src/CardinalUI.cpp

+ 29
- 7
.github/workflows/build.yml View File

@@ -1041,16 +1041,31 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Set up cache
id: cache
uses: actions/cache@v2
with:
path: |
src/Rack/dep/bin
src/Rack/dep/include
src/Rack/dep/lib
src/Rack/dep/share
src/Rack/dep/jansson-2.12
src/Rack/dep/libarchive-3.4.3
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: pluginval-v${{ env.CACHE_VERSION }}
- name: Set up dependencies
run: |
# custom repos
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb
sudo dpkg -i kxstudio-repos_10.0.3_all.deb
wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb
sudo dpkg -i kxstudio-repos_11.1.0_all.deb
sudo apt-get update -qq
# build-deps
sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
# runtime testing
sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint valgrind xvfb
sudo apt-get install -yqq carla-git lilv-utils lv2-dev lv2lint kxstudio-lv2-extensions mod-lv2-extensions valgrind xvfb
- name: Set up ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
@@ -1066,6 +1081,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,13 +1104,13 @@ 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
for p in $(lv2ls); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
xvfb-run valgrind \
--error-exitcode=255 \
--leak-check=no \
--track-origins=yes \
@@ -1099,7 +1121,7 @@ jobs:
run: |
for p in $(ls bin/*.vst/*.so); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
xvfb-run valgrind \
--error-exitcode=255 \
--leak-check=no \
--track-origins=yes \
@@ -1110,7 +1132,7 @@ jobs:
run: |
for p in $(ls bin/ | grep vst3); do \
env CARLA_BRIDGE_DUMMY=1 CARLA_BRIDGE_TESTING=native \
valgrind \
xvfb-run valgrind \
--error-exitcode=255 \
--leak-check=no \
--track-origins=yes \


+ 1
- 1
dpf

@@ -1 +1 @@
Subproject commit 71b17971f63dc9def67faea500dcbaced979efb4
Subproject commit 6cf523adada34df242dc1bf4b33bfb025284c631

+ 1
- 1
plugins/Bidoo

@@ -1 +1 @@
Subproject commit 5d2f5721e2701f747d0410fc407e6b1e782f16dc
Subproject commit b88130f6b6311c8cd58669c20cc9842f2ea81575

+ 3
- 0
plugins/Cardinal/src/plugin.hpp View File

@@ -70,6 +70,9 @@ float d_findMaxNormalizedFloat(const float floats[], const std::size_t count)

for (std::size_t i=1; i<count; ++i)
{
if (!std::isfinite(floats[i]))
__builtin_unreachable();

tmp = std::abs(*floats++);

if (tmp > maxf2)


+ 11
- 5
src/CardinalUI.cpp View File

@@ -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<rack::CardinalPluginModelHelper*>(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();
}
}


Loading…
Cancel
Save