| @@ -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/% | ||||