Fix headless build, add CI test for it; Add missing Ildaeil.svg

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2021-11-08 17:12:17 +00:00
parent 34e3c0f782
commit 13727bbf8c
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
6 changed files with 175 additions and 12 deletions

View file

@ -175,6 +175,21 @@ jobs:
path: |
*.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:
runs-on: ubuntu-20.04
steps:

View file

@ -65,6 +65,13 @@ ifneq ($(HAVE_XRANDR),true)
$(warning Xrandr dependency not installed/available)
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

View 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

View file

@ -15,10 +15,13 @@
* For a full copy of the GNU General Public License see the LICENSE file.
*/
#include "ImGuiWidget.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 "CarlaBackendUtils.hpp"
@ -350,6 +353,7 @@ static intptr_t host_dispatcher(const NativeHostHandle handle, const NativeHostD
// --------------------------------------------------------------------------------------------------------------------
#ifndef HEADLESS
struct IldaeilWidget : ImGuiWidget, Thread {
static constexpr const uint kButtonHeight = 20;
@ -1168,6 +1172,11 @@ struct IldaeilModuleWidget : ModuleWidget {
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
// --------------------------------------------------------------------------------------------------------------------

View file

@ -82,17 +82,12 @@ struct glBarsRendererWidget : OpenGlWidget {
glBars->state.Render();
}
};
#endif
struct glBarsWidget : ModuleWidget {
#ifndef HEADLESS
glBarsRendererWidget* const glBarsRenderer;
#endif
glBarsWidget(glBarsModule* const module)
#ifndef HEADLESS
: glBarsRenderer(new glBarsRendererWidget(module))
#endif
{
setModule(module);
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, RACK_GRID_HEIGHT - RACK_GRID_WIDTH)));
#ifndef HEADLESS
glBarsRenderer->box.pos = Vec(2 * RACK_GRID_WIDTH, 0);
glBarsRenderer->box.size = Vec(box.size.x - 2 * RACK_GRID_WIDTH, box.size.y);
addChild(glBarsRenderer);
#endif
addInput(createInput<PJ301MPort>(Vec(3, 54), module, glBarsModule::IN1_INPUT));
}
};
#else
typedef ModuleWidget glBarsWidget;
#endif
Model* modelGlBars = createModel<glBarsModule, glBarsWidget>("glBars");

View file

@ -177,8 +177,16 @@ PLUGIN_FILES = plugins.cpp
# --------------------------------------------------------------
# Cardinal (built-in)
PLUGIN_FILES += $(wildcard Cardinal/src/*.cpp)
PLUGIN_FILES += $(wildcard Cardinal/src/*/*.cpp)
PLUGIN_FILES += Cardinal/src/Carla.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)
# --------------------------------------------------------------