@@ -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> ; | |||
] . |
@@ -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> |
@@ -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 - Mini -</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> |
@@ -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; | |||
} | |||
} |
@@ -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; | |||
} |
@@ -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/% | |||