@@ -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 | BASE_FLAGS += -DHEADLESS | ||||
endif | endif | ||||
ifeq ($(MOD_BUILD),true) | |||||
BASE_FLAGS += -DDISTRHO_PLUGIN_USES_MODGUI=1 -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff | |||||
endif | |||||
ifeq ($(WASM),true) | ifeq ($(WASM),true) | ||||
BASE_FLAGS += -DNANOVG_GLES2=1 | BASE_FLAGS += -DNANOVG_GLES2=1 | ||||
BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | BASE_FLAGS += -msse -msse2 -msse3 -msimd128 | ||||
@@ -256,7 +260,13 @@ CORE_RESOURCES = $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/ | |||||
CORE_RESOURCES += template.vcv | CORE_RESOURCES += template.vcv | ||||
LV2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%) | 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) | # Cardinal main variant should not use rtaudio fallback (it has CV ports) | ||||
ifeq ($(CARDINAL_VARIANT),main) | ifeq ($(CARDINAL_VARIANT),main) | ||||
@@ -266,9 +276,9 @@ endif | |||||
# Cardinal main variant is not available as VST2 due to lack of CV ports | # Cardinal main variant is not available as VST2 due to lack of CV ports | ||||
ifneq ($(CARDINAL_VARIANT),main) | ifneq ($(CARDINAL_VARIANT),main) | ||||
ifeq ($(MACOS),true) | ifeq ($(MACOS),true) | ||||
VST2_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%) | |||||
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%) | |||||
else | else | ||||
VST2_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%) | |||||
VST2_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%) | |||||
endif | endif | ||||
endif | endif | ||||
@@ -290,6 +300,10 @@ ifeq ($(MOD_BUILD),true) | |||||
$(TARGET_DIR)/$(NAME).lv2/resources/%.svg: ../Rack/res/%.svg ../../deps/svg2stub.py | $(TARGET_DIR)/$(NAME).lv2/resources/%.svg: ../Rack/res/%.svg ../../deps/svg2stub.py | ||||
-@mkdir -p "$(shell dirname $@)" | -@mkdir -p "$(shell dirname $@)" | ||||
$(SILENT)python3 ../../deps/svg2stub.py $< $@ | $(SILENT)python3 ../../deps/svg2stub.py $< $@ | ||||
$(TARGET_DIR)/$(NAME).lv2/mod%: ../MOD/$(NAME).lv2/mod% | |||||
-@mkdir -p "$(shell dirname $@)" | |||||
$(SILENT)ln -sf $(abspath $<) $@ | |||||
endif | endif | ||||
$(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/% | $(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/% | ||||