Browse Source

Initial modgui implementation

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.02
falkTX 3 years ago
parent
commit
4a65aee7c7
10 changed files with 545 additions and 3 deletions
  1. +15
    -0
      src/MOD/CardinalFX.lv2/modgui.ttl
  2. +99
    -0
      src/MOD/CardinalFX.lv2/modgui/distrho.svg
  3. +169
    -0
      src/MOD/CardinalFX.lv2/modgui/icon.html
  4. +41
    -0
      src/MOD/CardinalFX.lv2/modgui/javascript.js
  5. BIN
      src/MOD/CardinalFX.lv2/modgui/orange-knob.png
  6. BIN
      src/MOD/CardinalFX.lv2/modgui/screenshot.png
  7. +204
    -0
      src/MOD/CardinalFX.lv2/modgui/stylesheet.css
  8. BIN
      src/MOD/CardinalFX.lv2/modgui/switch.png
  9. BIN
      src/MOD/CardinalFX.lv2/modgui/thumbnail.png
  10. +17
    -3
      src/Makefile.cardinal.mk

+ 15
- 0
src/MOD/CardinalFX.lv2/modgui.ttl View File

@@ -0,0 +1,15 @@
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix mod: <http://moddevices.com/ns/mod#> .
@prefix modgui: <http://moddevices.com/ns/modgui#> .

<https://distrho.kx.studio/plugins/cardinal#fx>
mod:brand "DISTRHO" ;
mod:label "CardinalFX" ;
modgui:gui [
modgui:resourcesDirectory <modgui> ;
modgui:iconTemplate <modgui/icon.html> ;
modgui:javascript <modgui/javascript.js> ;
modgui:stylesheet <modgui/stylesheet.css> ;
modgui:screenshot <modgui/screenshot.png> ;
modgui:thumbnail <modgui/thumbnail.png> ;
] .

+ 99
- 0
src/MOD/CardinalFX.lv2/modgui/distrho.svg View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: CorelDRAW -->

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xml:space="preserve"
width="13.038269"
height="13.038269"
style="fill-rule:evenodd"
viewBox="0 0 1.0504196 1.050423"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="distrho.svg"><metadata
id="metadata32"><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><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1298"
inkscape:window-height="646"
id="namedview30"
showgrid="false"
inkscape:zoom="8.8790964"
inkscape:cx="22.667459"
inkscape:cy="6.4311119"
inkscape:window-x="1792"
inkscape:window-y="239"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_x0020_1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs4">
<style
type="text/css"
id="style6">
.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>
<g
id="Layer_x0020_1"
transform="translate(-1.6191379e-5,-0.08553947)">
<metadata
id="CorelCorpID_0Corel-Layer" />
<circle
class="fil0 str0"
cx="0.525226"
cy="0.61075097"
r="0.15916"
id="circle10"
style="fill:none;stroke:#ffffff;stroke-width:0.09668670000000000;stroke-opacity:1"
sodipodi:cx="0.525226"
sodipodi:cy="0.61075097"
sodipodi:rx="0.15916"
sodipodi:ry="0.15916"
d="m 0.684386,0.61075097 c 0,0.0879016 -0.0712584,0.15916001 -0.15916,0.15916001 -0.0879016,0 -0.15916001,-0.0712584 -0.15916001,-0.15916001 0,-0.0879016 0.0712584,-0.15916 0.15916001,-0.15916 0.0879016,0 0.15916,0.0712584 0.15916,0.15916 z" />
<circle
class="fil0 str1"
cx="0.525226"
cy="0.61075097"
r="0.42853901"
id="circle12"
style="fill:none;stroke:#ffffff;stroke-width:0.19334499999999999;stroke-opacity:1"
sodipodi:cx="0.525226"
sodipodi:cy="0.61075097"
sodipodi:rx="0.42853901"
sodipodi:ry="0.42853901"
d="m 0.953765,0.61075097 c 0,0.23667556 -0.19186344,0.42853903 -0.428539,0.42853903 -0.23667556,0 -0.42853901,-0.19186347 -0.42853901,-0.42853903 0,-0.23667556 0.19186345,-0.428539 0.42853901,-0.428539 0.23667556,0 0.428539,0.19186344 0.428539,0.428539 z" />
</g>
</svg>

+ 169
- 0
src/MOD/CardinalFX.lv2/modgui/icon.html View File

@@ -0,0 +1,169 @@
<div class="cardinal-fx mod-pedal">
<div class="cardinal-fx border"></div>
<div mod-role="drag-handle" class="mod-drag-handle"></div>
<div class="cardinal-fx-top clearfix">
<div class="cardinal-fx-top-left">
<div class="spacer"></div>
<div class="distrho-logo"></div>
<div class="cardinal-text">DISTRHO Cardinal -&nbsp;Mini&nbsp;-</div>
<div class="spacer"></div>
</div>
<div class="cardinal-fx-top-right">
<div class="mod-control-group cardinal-patch-comment">
<div class="mod-string-content" mod-role="input-parameter" mod-parameter-uri="https://distrho.kx.studio/plugins/cardinal#fx#comment" mod-widget="string">
<textarea autocomplete=off spellcheck=false class="mod-string-value" mod-role="input-parameter-value" mod-parameter-uri="https://distrho.kx.studio/plugins/cardinal#fx#comment"></textarea>
</div>
</div>
<div class="cardinal-patch-screeenshot">
<div class="screenshot">
</div>
</div>
</div>
</div>
<div class="cardinal-fx-bottom clearfix">
<div class="mod-control-group cardinal-fx-knob-page-selector">
<span class="page-1 selected">1 - 8</span>
<span class="page-2">9 - 16</span>
<span class="page-3">17 - 24</span>
<div class="mod-switch">
<div class="mod-control-group mod-switch-image mod-port transport" mod-role="bypass" mod-widget="film"></div>
</div>
</div>
<div class="mod-control-group cardinal-fx-knobs cardinal-fx-knob-page-1 clearfix">
<div class="mod-knob">
<span class="title">PARAM 1</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_1" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 2</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_2" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 3</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_3" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 4</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_4" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 5</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_5" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 6</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_6" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 7</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_7" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 8</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_8" mod-widget="film"></div>
</div>
</div>
<div class="mod-control-group cardinal-fx-knobs cardinal-fx-knob-page-2 clearfix">
<div class="mod-knob">
<span class="title">PARAM 9</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_9" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 10</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_10" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 11</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_11" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 12</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_12" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 13</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_13" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 14</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_14" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 15</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_15" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 16</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_16" mod-widget="film"></div>
</div>
</div>
<div class="mod-control-group cardinal-fx-knobs cardinal-fx-knob-page-3 clearfix">
<div class="mod-knob">
<span class="title">PARAM 17</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_17" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 18</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_18" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 19</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_19" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 20</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_20" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 21</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_21" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 22</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_22" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 23</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_23" mod-widget="film"></div>
</div>
<div class="mod-knob">
<span class="title">PARAM 24</span>
<div class="mod-control-group mod-knob-image mod-port" mod-role="input-control-port" mod-port-symbol="param_24" mod-widget="film"></div>
</div>
</div>
</div>
<div class="mod-pedal-input">
{{#effect.ports.audio.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-audio-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.audio.input}}
{{#effect.ports.midi.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-midi-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.midi.input}}
{{#effect.ports.cv.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-cv-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.cv.input}}
</div>
<div class="mod-pedal-output">
{{#effect.ports.audio.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-audio-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.audio.output}}
{{#effect.ports.midi.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-midi-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.midi.output}}
{{#effect.ports.cv.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-cv-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.cv.output}}
</div>
</div>

+ 41
- 0
src/MOD/CardinalFX.lv2/modgui/javascript.js View File

@@ -0,0 +1,41 @@
function (event) {

if (event.type == 'start') {
event.icon.find('.cardinal-fx-knob-page-selector .page-1').click(function() {
event.icon.find('.cardinal-fx-knob-page-2').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-3').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-1').css({'display':'flex'});
event.icon.find('.cardinal-fx-knob-page-selector > span').removeClass('selected');
$(this).addClass('selected');
});
event.icon.find('.cardinal-fx-knob-page-selector .page-2').click(function() {
event.icon.find('.cardinal-fx-knob-page-1').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-3').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-2').css({'display':'flex'});
event.icon.find('.cardinal-fx-knob-page-selector > span').removeClass('selected');
$(this).addClass('selected');
});
event.icon.find('.cardinal-fx-knob-page-selector .page-3').click(function() {
event.icon.find('.cardinal-fx-knob-page-1').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-2').css({'display':'none'});
event.icon.find('.cardinal-fx-knob-page-3').css({'display':'flex'});
event.icon.find('.cardinal-fx-knob-page-selector > span').removeClass('selected');
$(this).addClass('selected');
});
return;
}

if (event.type == 'change') {
if (event.uri === "https://distrho.kx.studio/plugins/cardinal#fx#screenshot") {
if (event.value) {
event.icon.find('.screenshot').css({'background-image':'url(data:image/png;base64,'+event.value+')'});
event.icon.find('.cardinal-fx.mod-pedal .cardinal-patch-comment').hide();
event.icon.find('.cardinal-fx.mod-pedal .cardinal-patch-screeenshot').show();
} else {
event.icon.find('.cardinal-fx.mod-pedal .cardinal-patch-screeenshot').hide();
event.icon.find('.cardinal-fx.mod-pedal .cardinal-patch-comment').show();
}
}
return;
}
}

BIN
src/MOD/CardinalFX.lv2/modgui/orange-knob.png View File

Before After
Width: 8320  |  Height: 128  |  Size: 217KB

BIN
src/MOD/CardinalFX.lv2/modgui/screenshot.png View File

Before After
Width: 511  |  Height: 420  |  Size: 61KB

+ 204
- 0
src/MOD/CardinalFX.lv2/modgui/stylesheet.css View File

@@ -0,0 +1,204 @@
/* main pedal */
.cardinal-fx.mod-pedal {
background: #333333;
background: linear-gradient(to bottom, #181919, #333333);
color: white;
width: 480px;
height: 420px;
font-size: 20px;
margin: 0;
padding: 0;
}
.cardinal-fx.mod-pedal .border {
border: 2px solid #4c4d4d;
width: 480px;
height: 420px;
position: absolute;
}

.cardinal-fx.mod-pedal .mod-control-group {
position: relative;
z-index: 35;
}

/* top and bottom area split */
.cardinal-fx.mod-pedal .cardinal-fx-top {
width: 100%;
height: 240px;
position: absolute;
top: 0px;
}

.cardinal-fx.mod-pedal .cardinal-fx-bottom {
width: 100%;
height: 180px;
position: absolute;
top: 240px;
}

/* top area split */
.cardinal-fx.mod-pedal .cardinal-fx-top-left {
width: 120px;
height: 240px;
position: absolute;
top: 0px;
left: 0px;
display: flex;
flex-direction: column;
justify-content: space-around;
text-align: center;
}

.cardinal-fx.mod-pedal .cardinal-fx-top-right {
width: 350px;
height: 240px;
position: absolute;
top: 0px;
left: 120px;
}

.cardinal-fx.mod-pedal .cardinal-patch-comment,
.cardinal-fx.mod-pedal .cardinal-patch-screeenshot {
width: 340px;
height: 210px;
margin: 20px 20px 10px 0px;
}

/* bottom section split */
.cardinal-fx.mod-pedal .cardinal-fx-knob-page-selector {
width: 107px; /* NOTE intentional over bounds */
height: 170px;
position: absolute;
top: 0px;
left: 0px;
text-align: center;
display: flex;
flex-direction: column;
padding-left: 6px;
z-index: 36;
}

.cardinal-fx.mod-pedal .cardinal-fx-knobs {
width: 365px;
height: 170px;
position: absolute;
top: 0px;
left: 105px;
padding: 0px 10px;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
background-color: #181919;
border: 2px solid #4c4d4d;
border-radius: 10px;
}

/* widgets */
.cardinal-fx.mod-pedal .mod-switch-image {
background-image: url(/resources/switch.png{{{ns}}});
background-position: left center;
background-repeat: no-repeat;
background-size: auto 50px;
font-weight: bold;
width: 100px;
height: 50px;
cursor: pointer;
}
.cardinal-fx.mod-pedal .mod-switch-image.off {
background-position: right center !important;
}
.cardinal-fx.mod-pedal .mod-switch-image.on {
background-position: left center !important;
}

.cardinal-fx.mod-pedal .title {
font-size: 15px;
font-weight: bold;
}

.cardinal-fx.mod-pedal .mod-knob {
padding: 0px 5px;
width: 85px;
}

.cardinal-fx.mod-pedal .mod-knob-image {
background-image: url(/resources/orange-knob.png{{{ns}}});
background-position: left center;
background-repeat: no-repeat;
background-size: auto 52px;
font-weight: bold;
height: 52px;
width: 52px;
margin: 0 auto;
position: relative;
overflow: hidden;
}

.cardinal-fx.mod-pedal .distrho-logo {
background-image: url(/resources/distrho.svg{{{ns}}});
background-size: cover;
background-repeat: no-repeat;
height: 48px;
width: 48px;
margin: 0 auto;
}

.cardinal-fx.mod-pedal .cardinal-text {
font-size: 24px;
}

.cardinal-fx.mod-pedal .mod-string-value {
border: 1px solid #4c4d4d;
}

.cardinal-fx.mod-pedal .mod-string-content,
.cardinal-fx.mod-pedal .mod-string-value {
height: 100%;
width: 100%;
}

.cardinal-fx.mod-pedal textarea {
background: black;
color: white;
resize: none;
white-space: pre-wrap;
}
.cardinal-fx.mod-pedal textarea::selection {
background: #4c4d4d;
}

.cardinal-fx.mod-pedal .screenshot {
/* 1x1px black png */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2NgYGD4DwABBAEAwS2OUAAAAABJRU5ErkJggg==);
background-position: center;
background-repeat: no-repeat;
background-size: contain;
width: 100%;
height: 100%;
}

.cardinal-fx.mod-pedal .cardinal-fx-knob-page-selector > span {
cursor: pointer;
background-color: #4c4d4d;
border: solid #181919;
border-width: 2px 0px 2px 2px;
margin: 2px 0px 2px 2px;
font-size: 18px;
}
.cardinal-fx.mod-pedal .cardinal-fx-knob-page-selector > span:first-child {
margin-top: 10px;
}
.cardinal-fx.mod-pedal .cardinal-fx-knob-page-selector > span.selected {
background-color: #181919;
border: solid #4c4d4d;
border-width: 2px 0px 2px 2px;
}

/* initial state */
/*.cardinal-fx.mod-pedal .cardinal-patch-comment,*/
.cardinal-fx.mod-pedal .cardinal-patch-screeenshot,
.cardinal-fx.mod-pedal .cardinal-fx-knob-page-2,
.cardinal-fx.mod-pedal .cardinal-fx-knob-page-3 {
display: none;
}

BIN
src/MOD/CardinalFX.lv2/modgui/switch.png View File

Before After
Width: 600  |  Height: 150  |  Size: 8.4KB

BIN
src/MOD/CardinalFX.lv2/modgui/thumbnail.png View File

Before After
Width: 78  |  Height: 64  |  Size: 5.6KB

+ 17
- 3
src/Makefile.cardinal.mk View File

@@ -152,6 +152,10 @@ ifeq ($(HEADLESS),true)
BASE_FLAGS += -DHEADLESS
endif

ifeq ($(MOD_BUILD),true)
BASE_FLAGS += -DDISTRHO_PLUGIN_USES_MODGUI=1 -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff
endif

ifeq ($(WASM),true)
BASE_FLAGS += -DNANOVG_GLES2=1
BASE_FLAGS += -msse -msse2 -msse3 -msimd128
@@ -256,7 +260,13 @@ CORE_RESOURCES = $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/
CORE_RESOURCES += template.vcv

LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
VST3_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)

# Install modgui resources if MOD build
ifeq ($(MOD_BUILD),true)
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui.ttl
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui
endif

# Cardinal main variant should not use rtaudio fallback (it has CV ports)
ifeq ($(CARDINAL_VARIANT),main)
@@ -266,9 +276,9 @@ endif
# Cardinal main variant is not available as VST2 due to lack of CV ports
ifneq ($(CARDINAL_VARIANT),main)
ifeq ($(MACOS),true)
VST2_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%)
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%)
else
VST2_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%)
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%)
endif
endif

@@ -290,6 +300,10 @@ ifeq ($(MOD_BUILD),true)
$(TARGET_DIR)/$(NAME).lv2/resources/%.svg: ../Rack/res/%.svg ../../deps/svg2stub.py
-@mkdir -p "$(shell dirname $@)"
$(SILENT)python3 ../../deps/svg2stub.py $< $@

$(TARGET_DIR)/$(NAME).lv2/mod%: ../MOD/$(NAME).lv2/mod%
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
endif

$(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/%


Loading…
Cancel
Save