Fix headless build, add CI test for it; Add missing Ildaeil.svg
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
34e3c0f782
commit
13727bbf8c
6 changed files with 175 additions and 12 deletions
15
.github/workflows/build.yml
vendored
15
.github/workflows/build.yml
vendored
|
@ -175,6 +175,21 @@ jobs:
|
||||||
path: |
|
path: |
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
|
|
||||||
|
linux-x86_64-headless:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Set up dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -yqq libasound2-dev libgl1-mesa-dev liblo-dev libpulse-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
|
||||||
|
- name: Build linux x86_64 (headless)
|
||||||
|
run: |
|
||||||
|
make features
|
||||||
|
make HEADLESS=true -j $(nproc)
|
||||||
|
|
||||||
linux-x86_64-sysdeps:
|
linux-x86_64-sysdeps:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -65,6 +65,13 @@ ifneq ($(HAVE_XRANDR),true)
|
||||||
$(warning Xrandr dependency not installed/available)
|
$(warning Xrandr dependency not installed/available)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
CARLA_EXTRA_ARGS += HAVE_OPENGL=false
|
||||||
|
CARLA_EXTRA_ARGS += HAVE_X11=false
|
||||||
|
CARLA_EXTRA_ARGS += HAVE_XEXT=false
|
||||||
|
CARLA_EXTRA_ARGS += HAVE_XRANDR=false
|
||||||
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
128
plugins/Cardinal/res/Ildaeil.svg
Normal file
128
plugins/Cardinal/res/Ildaeil.svg
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="131.44501mm"
|
||||||
|
height="128.5mm"
|
||||||
|
viewBox="0 0 131.44501 128.5"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4620"
|
||||||
|
inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
|
||||||
|
sodipodi:docname="glBars.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs4614">
|
||||||
|
<linearGradient
|
||||||
|
gradientTransform="matrix(2.8749528,0,0,1,5.1153789e-6,168.49892)"
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient869"
|
||||||
|
id="linearGradient871"
|
||||||
|
x1="22.450642"
|
||||||
|
y1="0.64095056"
|
||||||
|
x2="22.450642"
|
||||||
|
y2="129.73215"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient869">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#181919;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop865" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#212222;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop867" />
|
||||||
|
</linearGradient>
|
||||||
|
<style
|
||||||
|
id="style6"
|
||||||
|
type="text/css">
|
||||||
|
|
||||||
|
.str0 {stroke:#565656;stroke-width:0.0966867}
|
||||||
|
.str1 {stroke:#4F4F4F;stroke-width:0.193345}
|
||||||
|
.fil0 {fill:none}
|
||||||
|
.fil2 {fill:#2B2A29}
|
||||||
|
.fil1 {fill:#6B6B6B}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="5.6568543"
|
||||||
|
inkscape:cx="15.556349"
|
||||||
|
inkscape:cy="51.176853"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1229"
|
||||||
|
inkscape:window-height="667"
|
||||||
|
inkscape:window-x="51"
|
||||||
|
inkscape:window-y="25"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
width="45.72mm"
|
||||||
|
units="in" />
|
||||||
|
<metadata
|
||||||
|
id="metadata4617">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-168.5)">
|
||||||
|
<rect
|
||||||
|
style="opacity:1;fill:url(#linearGradient871);fill-opacity:1;stroke-width:0.533853;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
id="rect815"
|
||||||
|
width="131.44411"
|
||||||
|
height="128.49823"
|
||||||
|
x="0"
|
||||||
|
y="168.50089" />
|
||||||
|
<g
|
||||||
|
style="fill-rule:evenodd"
|
||||||
|
id="g5299"
|
||||||
|
transform="matrix(6.342689,0,0,6.342689,1.7430866,175.6457)">
|
||||||
|
<g
|
||||||
|
transform="translate(-1.6191379e-5,-0.08553947)"
|
||||||
|
id="Layer_x0020_1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer">
|
||||||
|
<metadata
|
||||||
|
id="CorelCorpID_0Corel-Layer" />
|
||||||
|
<circle
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:0.0966867;stroke-opacity:1"
|
||||||
|
id="circle10"
|
||||||
|
r="0.15916"
|
||||||
|
cy="0.61075097"
|
||||||
|
cx="0.525226"
|
||||||
|
class="fil0 str0" />
|
||||||
|
<circle
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:0.193345;stroke-opacity:1"
|
||||||
|
id="circle12"
|
||||||
|
r="0.42853901"
|
||||||
|
cy="0.61075097"
|
||||||
|
cx="0.525226"
|
||||||
|
class="fil0 str1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
|
@ -15,10 +15,13 @@
|
||||||
* For a full copy of the GNU General Public License see the LICENSE file.
|
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ImGuiWidget.hpp"
|
|
||||||
#include "plugincontext.hpp"
|
#include "plugincontext.hpp"
|
||||||
#include "extra/ScopedPointer.hpp"
|
|
||||||
#include "extra/Thread.hpp"
|
#ifndef HEADLESS
|
||||||
|
# include "ImGuiWidget.hpp"
|
||||||
|
# include "extra/ScopedPointer.hpp"
|
||||||
|
# include "extra/Thread.hpp"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "CarlaNativePlugin.h"
|
#include "CarlaNativePlugin.h"
|
||||||
#include "CarlaBackendUtils.hpp"
|
#include "CarlaBackendUtils.hpp"
|
||||||
|
@ -350,6 +353,7 @@ static intptr_t host_dispatcher(const NativeHostHandle handle, const NativeHostD
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifndef HEADLESS
|
||||||
struct IldaeilWidget : ImGuiWidget, Thread {
|
struct IldaeilWidget : ImGuiWidget, Thread {
|
||||||
static constexpr const uint kButtonHeight = 20;
|
static constexpr const uint kButtonHeight = 20;
|
||||||
|
|
||||||
|
@ -1168,6 +1172,11 @@ struct IldaeilModuleWidget : ModuleWidget {
|
||||||
addOutput(createOutput<PJ301MPort>(Vec(3, 54 + 90), module, IldaeilModule::OUTPUT2));
|
addOutput(createOutput<PJ301MPort>(Vec(3, 54 + 90), module, IldaeilModule::OUTPUT2));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
static void host_ui_parameter_changed(NativeHostHandle, uint32_t, float) {}
|
||||||
|
static const char* host_ui_open_file(NativeHostHandle, bool, const char*, const char*) { return nullptr; }
|
||||||
|
typedef ModuleWidget IldaeilModuleWidget;
|
||||||
|
#endif
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -82,17 +82,12 @@ struct glBarsRendererWidget : OpenGlWidget {
|
||||||
glBars->state.Render();
|
glBars->state.Render();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
struct glBarsWidget : ModuleWidget {
|
struct glBarsWidget : ModuleWidget {
|
||||||
#ifndef HEADLESS
|
|
||||||
glBarsRendererWidget* const glBarsRenderer;
|
glBarsRendererWidget* const glBarsRenderer;
|
||||||
#endif
|
|
||||||
|
|
||||||
glBarsWidget(glBarsModule* const module)
|
glBarsWidget(glBarsModule* const module)
|
||||||
#ifndef HEADLESS
|
|
||||||
: glBarsRenderer(new glBarsRendererWidget(module))
|
: glBarsRenderer(new glBarsRendererWidget(module))
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
setModule(module);
|
setModule(module);
|
||||||
setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/glBars.svg")));
|
setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/glBars.svg")));
|
||||||
|
@ -102,14 +97,15 @@ struct glBarsWidget : ModuleWidget {
|
||||||
addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, 0)));
|
addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, 0)));
|
||||||
addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH)));
|
addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH)));
|
||||||
|
|
||||||
#ifndef HEADLESS
|
|
||||||
glBarsRenderer->box.pos = Vec(2 * RACK_GRID_WIDTH, 0);
|
glBarsRenderer->box.pos = Vec(2 * RACK_GRID_WIDTH, 0);
|
||||||
glBarsRenderer->box.size = Vec(box.size.x - 2 * RACK_GRID_WIDTH, box.size.y);
|
glBarsRenderer->box.size = Vec(box.size.x - 2 * RACK_GRID_WIDTH, box.size.y);
|
||||||
addChild(glBarsRenderer);
|
addChild(glBarsRenderer);
|
||||||
#endif
|
|
||||||
|
|
||||||
addInput(createInput<PJ301MPort>(Vec(3, 54), module, glBarsModule::IN1_INPUT));
|
addInput(createInput<PJ301MPort>(Vec(3, 54), module, glBarsModule::IN1_INPUT));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#else
|
||||||
|
typedef ModuleWidget glBarsWidget;
|
||||||
|
#endif
|
||||||
|
|
||||||
Model* modelGlBars = createModel<glBarsModule, glBarsWidget>("glBars");
|
Model* modelGlBars = createModel<glBarsModule, glBarsWidget>("glBars");
|
||||||
|
|
|
@ -177,8 +177,16 @@ PLUGIN_FILES = plugins.cpp
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# Cardinal (built-in)
|
# Cardinal (built-in)
|
||||||
|
|
||||||
PLUGIN_FILES += $(wildcard Cardinal/src/*.cpp)
|
PLUGIN_FILES += Cardinal/src/Carla.cpp
|
||||||
PLUGIN_FILES += $(wildcard Cardinal/src/*/*.cpp)
|
PLUGIN_FILES += Cardinal/src/glBars.cpp
|
||||||
|
PLUGIN_FILES += Cardinal/src/HostParameters.cpp
|
||||||
|
PLUGIN_FILES += Cardinal/src/HostTime.cpp
|
||||||
|
PLUGIN_FILES += Cardinal/src/Ildaeil.cpp
|
||||||
|
|
||||||
|
ifneq ($(HEADLESS),true)
|
||||||
|
PLUGIN_FILES += Cardinal/src/ImGuiWidget.cpp
|
||||||
|
PLUGIN_FILES += $(wildcard Cardinal/src/DearImGui/*.cpp)
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(NOPLUGINS),true)
|
ifneq ($(NOPLUGINS),true)
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue