Browse Source

Implement AIDA-X panel

Signed-off-by: falkTX <falktx@falktx.com>
tags/23.07
falkTX 1 year ago
parent
commit
391d44f7d3
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
8 changed files with 305 additions and 281 deletions
  1. +0
    -137
      plugins/Cardinal/orig/AIDA-X.svg
  2. +53
    -107
      plugins/Cardinal/res/AIDA-X.svg
  3. BIN
      plugins/Cardinal/res/aida-x-background-p2.png
  4. BIN
      plugins/Cardinal/res/aida-x-header.png
  5. +43
    -5
      plugins/Cardinal/res/aida-x-knob.svg
  6. BIN
      plugins/Cardinal/res/aida-x-logo.png
  7. +206
    -32
      plugins/Cardinal/src/AIDA-X.cpp
  8. +3
    -0
      plugins/Cardinal/src/ImGuiWidget.cpp

+ 0
- 137
plugins/Cardinal/orig/AIDA-X.svg View File

@@ -1,137 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
width="116.84mm"
height="128.5mm"
viewBox="0 0 116.84 128.5"
version="1.1"
id="svg4620"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs4614">
<style
id="style6"
type="text/css">
.str0 {stroke:#565656;stroke-width:0.0966867}
.str1 {stroke:#4F4F4F;stroke-width:0.193345}
.fil0 {fill:none}
.fil2 {fill:#2B2A29}
.fil1 {fill:#6B6B6B}
</style>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath847">
<use
x="0"
y="0"
xlink:href="#g843"
id="use849"
width="100%"
height="100%" />
</clipPath>
</defs>
<metadata
id="metadata4617">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
transform="translate(0,-168.5)">
<g
id="g845"
clip-path="url(#clipPath847)"
transform="translate(35.668149)">
<g
id="g843">
<g
transform="matrix(6.342689,0,0,6.342689,5.4472535,175.6457)"
id="g5299"
style="fill-rule:evenodd">
<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.0966867;stroke-opacity:1" />
<circle
class="fil0 str1"
cx="0.525226"
cy="0.61075097"
r="0.42853901"
id="circle12"
style="fill:none;stroke:#ffffff;stroke-width:0.193345;stroke-opacity:1" />
</g>
</g>
<g
transform="translate(-0.09449404,0.14174107)"
id="text5303"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
aria-label="Cardinal">
<path
id="path5305"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 17.923601,176.99103 v 0.66043 q -0.31626,-0.29456 -0.675928,-0.44028 -0.356567,-0.14573 -0.759643,-0.14573 -0.79375,0 -1.21543,0.48679 -0.42168,0.48369 -0.42168,1.40146 0,0.91468 0.42168,1.40147 0.42168,0.48369 1.21543,0.48369 0.403076,0 0.759643,-0.14573 0.359668,-0.14572 0.675928,-0.44028 v 0.65422 q -0.328662,0.22325 -0.697632,0.33487 -0.365869,0.11162 -0.775146,0.11162 -1.051099,0 -1.655713,-0.64182 -0.604615,-0.64492 -0.604615,-1.75804 0,-1.11621 0.604615,-1.75803 0.604614,-0.64492 1.655713,-0.64492 0.415478,0 0.781347,0.11162 0.36897,0.10852 0.691431,0.32866 z" />
<path
id="path5307"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 20.444377,179.51801 q -0.69143,0 -0.958081,0.15813 -0.26665,0.15813 -0.26665,0.5395 0,0.30386 0.198437,0.48369 0.201538,0.17674 0.545703,0.17674 0.47439,0 0.759644,-0.33487 0.288355,-0.33796 0.288355,-0.89606 v -0.12713 z m 1.137915,-0.23564 v 1.98127 h -0.570507 v -0.5271 q -0.195337,0.31626 -0.486792,0.46819 -0.291456,0.14883 -0.713135,0.14883 -0.533301,0 -0.849561,-0.29766 -0.313159,-0.30075 -0.313159,-0.80305 0,-0.58601 0.390674,-0.88367 0.393774,-0.29765 1.172021,-0.29765 h 0.799952 v -0.0558 q 0,-0.39378 -0.26045,-0.60772 -0.257348,-0.21704 -0.725537,-0.21704 -0.297656,0 -0.579809,0.0713 -0.282154,0.0713 -0.542603,0.21394 v -0.52709 q 0.313159,-0.12093 0.607715,-0.17984 0.294556,-0.062 0.573608,-0.062 0.753443,0 1.125513,0.39067 0.37207,0.39068 0.37207,1.18443 z" />
<path
id="path5309"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 24.769695,178.32429 q -0.09612,-0.0558 -0.21084,-0.0806 -0.111621,-0.0279 -0.248047,-0.0279 -0.483691,0 -0.744141,0.31626 -0.257348,0.31315 -0.257348,0.90227 v 1.82934 H 22.73571 v -3.47265 h 0.573609 v 0.5395 q 0.179834,-0.31626 0.468188,-0.46819 0.288355,-0.15503 0.700733,-0.15503 0.05891,0 0.130224,0.009 0.07131,0.006 0.15813,0.0217 z" />
<path
id="path5311"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 27.541618,178.31808 v -1.87895 h 0.570508 v 4.82451 h -0.570508 v -0.5209 q -0.179834,0.31006 -0.455786,0.46199 -0.272851,0.14883 -0.657324,0.14883 -0.629419,0 -1.026294,-0.5023 -0.393774,-0.50229 -0.393774,-1.32085 0,-0.81855 0.393774,-1.32085 0.396875,-0.50229 1.026294,-0.50229 0.384473,0 0.657324,0.15193 0.275952,0.14883 0.455786,0.45888 z m -1.944067,1.21233 q 0,0.62942 0.257349,0.98909 0.260449,0.35657 0.713134,0.35657 0.452686,0 0.713135,-0.35657 0.260449,-0.35967 0.260449,-0.98909 0,-0.62942 -0.260449,-0.98598 -0.260449,-0.35967 -0.713135,-0.35967 -0.452685,0 -0.713134,0.35967 -0.257349,0.35656 -0.257349,0.98598 z" />
<path
id="path5313"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 29.287248,177.79099 h 0.570508 v 3.47265 h -0.570508 z m 0,-1.35186 h 0.570508 v 0.72244 h -0.570508 z" />
<path
id="path5315"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 33.938127,179.16765 v 2.09599 h -0.570508 v -2.07739 q 0,-0.49299 -0.192236,-0.73794 -0.192236,-0.24495 -0.576709,-0.24495 -0.461987,0 -0.728638,0.29456 -0.26665,0.29455 -0.26665,0.80305 v 1.96267 h -0.573608 v -3.47265 h 0.573608 v 0.5395 q 0.204639,-0.31316 0.480591,-0.46819 0.279053,-0.15503 0.641821,-0.15503 0.598413,0 0.905371,0.37207 0.306958,0.36897 0.306958,1.08831 z" />
<path
id="path5317"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 36.654241,179.51801 q -0.691431,0 -0.958081,0.15813 -0.26665,0.15813 -0.26665,0.5395 0,0.30386 0.198437,0.48369 0.201538,0.17674 0.545703,0.17674 0.47439,0 0.759644,-0.33487 0.288354,-0.33796 0.288354,-0.89606 v -0.12713 z m 1.137915,-0.23564 v 1.98127 h -0.570508 v -0.5271 q -0.195337,0.31626 -0.486792,0.46819 -0.291455,0.14883 -0.713135,0.14883 -0.5333,0 -0.84956,-0.29766 -0.313159,-0.30075 -0.313159,-0.80305 0,-0.58601 0.390674,-0.88367 0.393774,-0.29765 1.172021,-0.29765 h 0.799951 v -0.0558 q 0,-0.39378 -0.260449,-0.60772 -0.257349,-0.21704 -0.725537,-0.21704 -0.297656,0 -0.57981,0.0713 -0.282153,0.0713 -0.542602,0.21394 v -0.52709 q 0.313159,-0.12093 0.607715,-0.17984 0.294555,-0.062 0.573608,-0.062 0.753442,0 1.125513,0.39067 0.37207,0.39068 0.37207,1.18443 z" />
<path
id="path5319"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 38.967278,176.43913 h 0.570508 v 4.82451 h -0.570508 z" />
</g>
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#808a8a;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="36.506084"
y="188.65312"
id="text845"><tspan
id="tspan843"
x="36.506084"
y="188.65312"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#808a8a;fill-opacity:1;stroke-width:0.264583">Aida DSP : AIDA-X</tspan></text>
</g>
</svg>

+ 53
- 107
plugins/Cardinal/res/AIDA-X.svg View File

@@ -7,12 +7,34 @@
viewBox="0 0 116.84 128.5"
version="1.1"
id="svg4620"
xmlns:xlink="http://www.w3.org/1999/xlink"
sodipodi:docname="AIDA-X.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="namedview40"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.3260052"
inkscape:cx="220.96444"
inkscape:cy="302.78916"
inkscape:window-width="2560"
inkscape:window-height="1367"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4620" />
<defs
id="defs4614">
<style
@@ -29,51 +51,25 @@
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath847">
<use
x="0"
y="0"
xlink:href="#g843"
id="use849"
width="100%"
height="100%" />
</clipPath>
</defs>
<metadata
id="metadata4617">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
transform="translate(0,-168.5)">
<g
id="g845"
clip-path="url(#clipPath847)"
transform="translate(35.668149)">
<g
id="g843">
id="use849">
<g
transform="matrix(6.342689,0,0,6.342689,5.4472535,175.6457)"
id="g5299"
id="g865"
style="fill-rule:evenodd">
<g
id="Layer_x0020_1"
transform="translate(-1.6191379e-5,-0.08553947)">
id="g863"
transform="translate(-1.6191379e-5,-0.08553947)"
inkscape:label="Layer 1">
<metadata
id="CorelCorpID_0Corel-Layer" />
id="metadata857" />
<path
id="circle10"
id="path859"
style="fill:none;stroke:#ffffff;stroke-width:0.0966867"
class="fil0 str0"
d="m 0.684386,0.61075097 a 0.15916,0.15916 0 0 1 -0.15916,0.15916001 0.15916,0.15916 0 0 1 -0.15916001,-0.15916001 0.15916,0.15916 0 0 1 0.15916001,-0.15916 0.15916,0.15916 0 0 1 0.15916,0.15916 z" />
<path
id="circle12"
id="path861"
style="fill:none;stroke:#ffffff;stroke-width:0.193345"
class="fil0 str1"
d="M 0.953765,0.61075097 A 0.42853901,0.42853901 0 0 1 0.525226,1.03929 0.42853901,0.42853901 0 0 1 0.09668699,0.61075097 0.42853901,0.42853901 0 0 1 0.525226,0.18221197 a 0.42853901,0.42853901 0 0 1 0.428539,0.428539 z" />
@@ -81,104 +77,54 @@
</g>
<g
transform="translate(-0.09449404,0.14174107)"
id="text5303"
id="g883"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
aria-label="Cardinal">
<path
id="path5305"
id="path867"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 17.923601,176.99103 v 0.66043 q -0.31626,-0.29456 -0.675928,-0.44028 -0.356567,-0.14573 -0.759643,-0.14573 -0.79375,0 -1.21543,0.48679 -0.42168,0.48369 -0.42168,1.40146 0,0.91468 0.42168,1.40147 0.42168,0.48369 1.21543,0.48369 0.403076,0 0.759643,-0.14573 0.359668,-0.14572 0.675928,-0.44028 v 0.65422 q -0.328662,0.22325 -0.697632,0.33487 -0.365869,0.11162 -0.775146,0.11162 -1.051099,0 -1.655713,-0.64182 -0.604615,-0.64492 -0.604615,-1.75804 0,-1.11621 0.604615,-1.75803 0.604614,-0.64492 1.655713,-0.64492 0.415478,0 0.781347,0.11162 0.36897,0.10852 0.691431,0.32866 z" />
<path
id="path5307"
id="path869"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 20.444377,179.51801 q -0.69143,0 -0.958081,0.15813 -0.26665,0.15813 -0.26665,0.5395 0,0.30386 0.198437,0.48369 0.201538,0.17674 0.545703,0.17674 0.47439,0 0.759644,-0.33487 0.288355,-0.33796 0.288355,-0.89606 v -0.12713 z m 1.137915,-0.23564 v 1.98127 h -0.570507 v -0.5271 q -0.195337,0.31626 -0.486792,0.46819 -0.291456,0.14883 -0.713135,0.14883 -0.533301,0 -0.849561,-0.29766 -0.313159,-0.30075 -0.313159,-0.80305 0,-0.58601 0.390674,-0.88367 0.393774,-0.29765 1.172021,-0.29765 h 0.799952 v -0.0558 q 0,-0.39378 -0.26045,-0.60772 -0.257348,-0.21704 -0.725537,-0.21704 -0.297656,0 -0.579809,0.0713 -0.282154,0.0713 -0.542603,0.21394 v -0.52709 q 0.313159,-0.12093 0.607715,-0.17984 0.294556,-0.062 0.573608,-0.062 0.753443,0 1.125513,0.39067 0.37207,0.39068 0.37207,1.18443 z" />
<path
id="path5309"
id="path871"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 24.769695,178.32429 q -0.09612,-0.0558 -0.21084,-0.0806 -0.111621,-0.0279 -0.248047,-0.0279 -0.483691,0 -0.744141,0.31626 -0.257348,0.31315 -0.257348,0.90227 v 1.82934 H 22.73571 v -3.47265 h 0.573609 v 0.5395 q 0.179834,-0.31626 0.468188,-0.46819 0.288355,-0.15503 0.700733,-0.15503 0.05891,0 0.130224,0.009 0.07131,0.006 0.15813,0.0217 z" />
<path
id="path5311"
id="path873"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 27.541618,178.31808 v -1.87895 h 0.570508 v 4.82451 h -0.570508 v -0.5209 q -0.179834,0.31006 -0.455786,0.46199 -0.272851,0.14883 -0.657324,0.14883 -0.629419,0 -1.026294,-0.5023 -0.393774,-0.50229 -0.393774,-1.32085 0,-0.81855 0.393774,-1.32085 0.396875,-0.50229 1.026294,-0.50229 0.384473,0 0.657324,0.15193 0.275952,0.14883 0.455786,0.45888 z m -1.944067,1.21233 q 0,0.62942 0.257349,0.98909 0.260449,0.35657 0.713134,0.35657 0.452686,0 0.713135,-0.35657 0.260449,-0.35967 0.260449,-0.98909 0,-0.62942 -0.260449,-0.98598 -0.260449,-0.35967 -0.713135,-0.35967 -0.452685,0 -0.713134,0.35967 -0.257349,0.35656 -0.257349,0.98598 z" />
<path
id="path5313"
id="path875"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 29.287248,177.79099 h 0.570508 v 3.47265 h -0.570508 z m 0,-1.35186 h 0.570508 v 0.72244 h -0.570508 z" />
<path
id="path5315"
id="path877"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 33.938127,179.16765 v 2.09599 h -0.570508 v -2.07739 q 0,-0.49299 -0.192236,-0.73794 -0.192236,-0.24495 -0.576709,-0.24495 -0.461987,0 -0.728638,0.29456 -0.26665,0.29455 -0.26665,0.80305 v 1.96267 h -0.573608 v -3.47265 h 0.573608 v 0.5395 q 0.204639,-0.31316 0.480591,-0.46819 0.279053,-0.15503 0.641821,-0.15503 0.598413,0 0.905371,0.37207 0.306958,0.36897 0.306958,1.08831 z" />
<path
id="path5317"
id="path879"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 36.654241,179.51801 q -0.691431,0 -0.958081,0.15813 -0.26665,0.15813 -0.26665,0.5395 0,0.30386 0.198437,0.48369 0.201538,0.17674 0.545703,0.17674 0.47439,0 0.759644,-0.33487 0.288354,-0.33796 0.288354,-0.89606 v -0.12713 z m 1.137915,-0.23564 v 1.98127 h -0.570508 v -0.5271 q -0.195337,0.31626 -0.486792,0.46819 -0.291455,0.14883 -0.713135,0.14883 -0.5333,0 -0.84956,-0.29766 -0.313159,-0.30075 -0.313159,-0.80305 0,-0.58601 0.390674,-0.88367 0.393774,-0.29765 1.172021,-0.29765 h 0.799951 v -0.0558 q 0,-0.39378 -0.260449,-0.60772 -0.257349,-0.21704 -0.725537,-0.21704 -0.297656,0 -0.57981,0.0713 -0.282153,0.0713 -0.542602,0.21394 v -0.52709 q 0.313159,-0.12093 0.607715,-0.17984 0.294555,-0.062 0.573608,-0.062 0.753442,0 1.125513,0.39067 0.37207,0.39068 0.37207,1.18443 z" />
<path
id="path5319"
id="path881"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
d="m 38.967278,176.43913 h 0.570508 v 4.82451 h -0.570508 z" />
</g>
</g>
</g>
<g
aria-label="Aida DSP : AIDA-X"
id="text845"
style="font-size:10.5833px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';letter-spacing:0px;word-spacing:0px;fill:#808a8a;stroke-width:0.264583">
<path
d="m 38.194182,185.53255 -0.66077,1.7918 h 1.323951 z m -0.274919,-0.4799 h 0.552249 l 1.372182,3.60047 h -0.506429 l -0.327974,-0.92363 h -1.622984 l -0.327974,0.92363 H 36.54467 Z"
style="font-size:4.93889px"
id="path6473" />
<path
d="m 40.350123,185.95217 h 0.443728 v 2.70095 h -0.443728 z m 0,-1.05145 h 0.443728 v 0.5619 h -0.443728 z"
style="font-size:4.93889px"
id="path6475" />
<path
d="m 43.49963,186.36213 v -1.46141 h 0.443728 v 3.7524 H 43.49963 v -0.40514 q -0.139871,0.24116 -0.354501,0.35932 -0.212217,0.11576 -0.511252,0.11576 -0.489548,0 -0.798229,-0.39068 -0.306269,-0.39067 -0.306269,-1.02732 0,-0.63666 0.306269,-1.02733 0.308681,-0.39068 0.798229,-0.39068 0.299035,0 0.511252,0.11817 0.21463,0.11576 0.354501,0.35691 z m -1.512053,0.94293 q 0,0.48954 0.20016,0.76929 0.202572,0.27733 0.554661,0.27733 0.352089,0 0.55466,-0.27733 0.202572,-0.27975 0.202572,-0.76929 0,-0.48955 -0.202572,-0.76688 -0.202571,-0.27974 -0.55466,-0.27974 -0.352089,0 -0.554661,0.27974 -0.20016,0.27733 -0.20016,0.76688 z"
style="font-size:4.93889px"
id="path6477" />
<path
d="m 46.08483,187.29541 q -0.53778,0 -0.745174,0.12299 -0.207395,0.12299 -0.207395,0.41961 0,0.23634 0.15434,0.37621 0.156752,0.13746 0.424436,0.13746 0.36897,0 0.590834,-0.26045 0.224276,-0.26286 0.224276,-0.69695 v -0.0989 z m 0.885045,-0.18328 v 1.54099 h -0.443728 v -0.40996 q -0.151929,0.24598 -0.378616,0.36414 -0.226688,0.11576 -0.554661,0.11576 -0.414789,0 -0.660769,-0.23151 -0.243569,-0.23393 -0.243569,-0.6246 0,-0.45579 0.303858,-0.6873 0.306269,-0.23151 0.911572,-0.23151 h 0.622185 v -0.0434 q 0,-0.30627 -0.202572,-0.47267 -0.20016,-0.16881 -0.564307,-0.16881 -0.23151,0 -0.450963,0.0555 -0.219452,0.0555 -0.422024,0.1664 v -0.40996 q 0.243568,-0.0941 0.472667,-0.13987 0.229099,-0.0482 0.44614,-0.0482 0.586011,0 0.875399,0.30386 0.289388,0.30386 0.289388,0.92122 z"
style="font-size:4.93889px"
id="path6479" />
<path
d="m 49.960219,185.45297 v 2.79983 h 0.588423 q 0.745174,0 1.090028,-0.33762 0.347266,-0.33762 0.347266,-1.06591 0,-0.72347 -0.347266,-1.05868 -0.344854,-0.33762 -1.090028,-0.33762 z m -0.487136,-0.40032 h 1.0008 q 1.04662,0 1.536168,0.4365 0.489549,0.43408 0.489549,1.36012 0,0.93086 -0.49196,1.36736 -0.49196,0.43649 -1.533757,0.43649 h -1.0008 z"
style="font-size:4.93889px"
id="path6481" />
<path
d="m 55.434477,185.17082 v 0.47508 q -0.27733,-0.13264 -0.52331,-0.19775 -0.24598,-0.0651 -0.475079,-0.0651 -0.397909,0 -0.61495,0.15434 -0.214629,0.15434 -0.214629,0.4389 0,0.23875 0.142282,0.36174 0.144694,0.12058 0.545014,0.19533 l 0.294212,0.0603 q 0.545014,0.1037 0.803052,0.36656 0.260449,0.26045 0.260449,0.69936 0,0.52331 -0.352089,0.7934 -0.349677,0.2701 -1.027328,0.2701 -0.255626,0 -0.545014,-0.0579 -0.286976,-0.0579 -0.595657,-0.17122 v -0.50161 q 0.296623,0.1664 0.581188,0.25081 0.284565,0.0844 0.559483,0.0844 0.417202,0 0.643889,-0.16399 0.226687,-0.16398 0.226687,-0.46784 0,-0.26527 -0.163986,-0.41479 -0.161575,-0.14952 -0.532957,-0.22428 l -0.296623,-0.0579 q -0.545014,-0.10852 -0.788582,-0.34003 -0.243568,-0.23151 -0.243568,-0.64389 0,-0.47749 0.335207,-0.75241 0.33762,-0.27492 0.928454,-0.27492 0.253214,0 0.516075,0.0458 0.262861,0.0458 0.53778,0.13746 z"
style="font-size:4.93889px"
id="path6483" />
<path
d="m 56.898299,185.45297 v 1.35289 h 0.612538 q 0.340031,0 0.525722,-0.17604 0.185691,-0.17605 0.185691,-0.50161 0,-0.32315 -0.185691,-0.49919 -0.185691,-0.17605 -0.525722,-0.17605 z m -0.487137,-0.40032 h 1.099675 q 0.605304,0 0.913984,0.27492 0.311092,0.27251 0.311092,0.80064 0,0.53296 -0.311092,0.80546 -0.30868,0.27251 -0.913984,0.27251 h -0.612538 v 1.44694 h -0.487137 z"
style="font-size:4.93889px"
id="path6485" />
<path
d="m 61.053429,188.04058 h 0.508841 v 0.61254 h -0.508841 z m 0,-1.94131 h 0.508841 v 0.61254 h -0.508841 z"
style="font-size:4.93889px"
id="path6487" />
<path
d="m 65.396662,185.53255 -0.66077,1.7918 h 1.323951 z m -0.274919,-0.4799 h 0.552249 l 1.372182,3.60047 h -0.506429 l -0.327973,-0.92363 h -1.622985 l -0.327973,0.92363 H 63.74715 Z"
style="font-size:4.93889px"
id="path6489" />
<path
d="m 67.571895,185.05265 h 0.487136 v 3.60047 h -0.487136 z"
style="font-size:4.93889px"
id="path6491" />
<path
d="m 69.51562,185.45297 v 2.79983 h 0.588422 q 0.745175,0 1.090029,-0.33762 0.347266,-0.33762 0.347266,-1.06591 0,-0.72347 -0.347266,-1.05868 -0.344854,-0.33762 -1.090029,-0.33762 z m -0.487137,-0.40032 h 1.000801 q 1.04662,0 1.536168,0.4365 0.489548,0.43408 0.489548,1.36012 0,0.93086 -0.491959,1.36736 -0.49196,0.43649 -1.533757,0.43649 h -1.000801 z"
style="font-size:4.93889px"
id="path6493" />
<path
d="m 73.94808,185.53255 -0.660769,1.7918 h 1.32395 z m -0.274918,-0.4799 h 0.552248 l 1.372182,3.60047 h -0.506429 l -0.327973,-0.92363 h -1.622985 l -0.327973,0.92363 h -0.513664 z"
style="font-size:4.93889px"
id="path6495" />
<path
d="m 75.771224,187.10248 h 1.299835 v 0.3955 h -1.299835 z"
style="font-size:4.93889px"
id="path6497" />
<path
d="m 77.377327,185.05265 h 0.52331 l 0.894691,1.33842 0.899515,-1.33842 h 0.52331 l -1.157552,1.7291 1.234722,1.87137 h -0.52331 l -1.012858,-1.53134 -1.020093,1.53134 H 77.21334 l 1.285366,-1.92202 z"
style="font-size:4.93889px"
id="path6499" />
</g>
</g>
</clipPath>
</defs>
<metadata
id="metadata4617">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

BIN
plugins/Cardinal/res/aida-x-background-p2.png View File

Before After
Width: 512  |  Height: 256  |  Size: 38KB

BIN
plugins/Cardinal/res/aida-x-header.png View File

Before After
Width: 1548  |  Height: 727  |  Size: 128KB

+ 43
- 5
plugins/Cardinal/res/aida-x-knob.svg View File

@@ -1,8 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="47px" height="47px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
<g id="knobLDark">
<path id="path3832" d="M23.521,45.109c-7.674,0 -3.302,3.9 -10.224,0.498c-6.922,-3.403 -1.202,-2.341 -5.997,-8.501c-4.795,-6.159 -5.059,-0.201 -6.763,-7.827c-1.704,-7.625 1.043,-2.42 2.76,-10.046c1.718,-7.626 -2.998,-4.102 1.797,-10.221c4.795,-6.12 2.51,-0.673 9.432,-4.035c6.921,-3.363 1.321,-4.977 8.995,-4.977c7.675,0 2.087,1.574 8.996,4.977c6.909,3.402 4.636,-2.045 9.432,4.035c4.795,6.078 0.079,2.689 1.796,10.26c1.717,7.572 4.465,2.422 2.761,10.048c-1.704,7.625 -1.982,1.708 -6.763,7.827c-4.782,6.119 0.924,5.057 -5.998,8.46c-6.921,3.402 -2.549,-0.498 -10.224,-0.498Z" style="fill:rgb(230,229,229);fill-rule:nonzero;"/>
<path d="M23.521,23.5l0,-23.5" style="fill:none;fill-rule:nonzero;stroke:rgb(51,51,51);stroke-width:2.29px;"/>
<svg
width="36"
height="36"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd"
id="svg6"
sodipodi:docname="aida-x-knob.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs10" /><sodipodi:namedview
id="namedview8"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
width="36px"
inkscape:zoom="13.702128"
inkscape:cx="19.267081"
inkscape:cy="23.463509"
inkscape:window-width="2560"
inkscape:window-height="1367"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg6" />
<g
id="knobLDark"
transform="matrix(0.7652677,0,0,0.76595949,6.0168332e-5,0)">
<path
id="path3832"
d="m 23.521,45.109 c -7.674,0 -3.302,3.9 -10.224,0.498 C 6.375,42.204 12.095,43.266 7.3,37.106 2.505,30.947 2.241,36.905 0.537,29.279 -1.167,21.654 1.58,26.859 3.297,19.233 5.015,11.607 0.299,15.131 5.094,9.012 9.889,2.892 7.604,8.339 14.526,4.977 21.447,1.614 15.847,0 23.521,0 c 7.675,0 2.087,1.574 8.996,4.977 6.909,3.402 4.636,-2.045 9.432,4.035 4.795,6.078 0.079,2.689 1.796,10.26 1.717,7.572 4.465,2.422 2.761,10.048 -1.704,7.625 -1.982,1.708 -6.763,7.827 -4.782,6.119 0.924,5.057 -5.998,8.46 -6.921,3.402 -2.549,-0.498 -10.224,-0.498 z"
style="fill:#e6e5e5;fill-rule:nonzero" />
<path
d="M 23.521,23.5 V 0"
style="fill:none;fill-rule:nonzero;stroke:#333333;stroke-width:2.29px"
id="path3" />
</g>
</svg>

BIN
plugins/Cardinal/res/aida-x-logo.png View File

Before After
Width: 485  |  Height: 109  |  Size: 18KB

+ 206
- 32
plugins/Cardinal/src/AIDA-X.cpp View File

@@ -277,7 +277,7 @@ struct AidaPluginModule : Module {
configParam(kParameterINLEVEL, -12.f, 12.f, 0.f, "INPUT", " dB");
configSwitch(kParameterNETBYPASS, 0.f, 1.f, 0.f, "NETBYPASS");
configSwitch(kParameterEQBYPASS, 0.f, 1.f, 0.f, "EQBYPASS");
configSwitch(kParameterEQPOS, 0.f, 1.f, 0.f, "NETBYPASS");
configSwitch(kParameterEQPOS, 0.f, 1.f, 0.f, "EQPOS");
configParam(kParameterBASSGAIN, -8.f, 8.f, 0.f, "BASS", " dB");
configParam(kParameterBASSFREQ, 60.f, 305.f, 75.f, "BFREQ", " Hz");
configParam(kParameterMIDGAIN, -8.f, 8.f, 0.f, "MID", " dB");
@@ -675,7 +675,7 @@ struct AidaModelListWidget : ImGuiWidget {
: ImGuiWidget(),
module(m)
{
if (module->fileChanged)
if (module != nullptr && module->fileChanged)
reloadDir();
}

@@ -683,7 +683,26 @@ struct AidaModelListWidget : ImGuiWidget {
{
const float scaleFactor = getScaleFactor();

const int flags = ImGuiWindowFlags_NoSavedSettings
// transparent background
{
ImGuiStyle& style(ImGui::GetStyle());
style.WindowRounding = 12 * scaleFactor;
style.WindowBorderSize = style.FrameBorderSize = 0.f;
style.ScrollbarSize = 12 * scaleFactor;

ImVec4* const colors = style.Colors;
colors[ImGuiCol_Text] = ImVec4(1.f, 1.f, 1.f, 1.f);
colors[ImGuiCol_WindowBg] = ImVec4(0.f, 0.f, 0.f, 0.f);
colors[ImGuiCol_FrameBg] = ImVec4(0.f, 0.f, 0.f, 0.f);
colors[ImGuiCol_FrameBgHovered] = ImVec4(0.f, 0.f, 0.f, 0.f);
colors[ImGuiCol_FrameBgActive] = ImVec4(0.f, 0.f, 0.f, 0.f);
colors[ImGuiCol_Header] = ImVec4(0.f, 0.f, 0.f, 0.8f);
colors[ImGuiCol_HeaderHovered] = ImVec4(0.f, 0.f, 0.f, 0.6f);
colors[ImGuiCol_HeaderActive] = ImVec4(0.f, 0.f, 0.f, 0.4f);
}

const int flags = ImGuiWindowFlags_NoBackground
| ImGuiWindowFlags_NoSavedSettings
| ImGuiWindowFlags_NoTitleBar
| ImGuiWindowFlags_NoResize
| ImGuiWindowFlags_NoCollapse
@@ -808,12 +827,53 @@ struct AidaKnob : app::SvgKnob {
}
};

struct AidaSwitch : app::Switch {
static constexpr const float kSwitchWidth = 15.f;
static constexpr const float kSwitchHeight = 34.f;

bool inverted = false;

AidaSwitch()
{
box.size.x = kSwitchWidth;
box.size.y = kSwitchHeight;
}

void draw(const DrawArgs& args) override
{
engine::ParamQuantity* pq = getParamQuantity();

if (pq == nullptr)
return;

const bool checked = inverted ? pq->getValue() <= pq->getMinValue() : pq->getValue() > pq->getMinValue();

nvgBeginPath(args.vg);
nvgRoundedRect(args.vg, 0, 0, box.size.x, box.size.y, kSwitchWidth/2);
nvgFillColor(args.vg, checked ? nvgRGB(84, 84, 84) : nvgRGB(129, 247, 0));
nvgFill(args.vg);

nvgBeginPath(args.vg);
nvgCircle(args.vg,
box.size.x / 2,
checked ? box.size.y/2 + kSwitchHeight/2 - kSwitchWidth/2
: box.size.y/2 - kSwitchHeight/2 + kSwitchWidth/2,
6.f);
nvgFillColor(args.vg, checked ? nvgRGB(218, 214, 203) : nvgRGB(24, 112, 4));
nvgFill(args.vg);
}
};

struct AidaWidget : ModuleWidgetWithSideScrews<23> {
static constexpr const uint kPedalMargin = 10;
static constexpr const uint kPedalMarginTop = 50;
static constexpr const uint kPedalMarginVertical = 20;
static constexpr const uint kFileListHeight = 200;

static constexpr const float startY_list = startY - 2.0f;
static constexpr const float fileListHeight = 380.0f - startY_list - 110.0f;
struct {
std::shared_ptr<Image> background;
std::shared_ptr<Image> header;
std::shared_ptr<Image> logo;
} images;

AidaPluginModule* const module;

@@ -825,35 +885,41 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {

createAndAddScrews();

addInput(createInput<PJ301MPort>(Vec(startX_In, 25), module, 0));
addOutput(createOutput<PJ301MPort>(Vec(startX_Out, 25), module, 0));
addInput(createInputCentered<PJ301MPort>(Vec(box.size.x / 2 - 120, box.size.y - 120), module, 0));
addOutput(createOutputCentered<PJ301MPort>(Vec(box.size.x / 2 + 120, box.size.y - 120), module, 0));

addChild(createParamCentered<AidaKnob>(Vec(50, box.size.y - 60),
addChild(createParamCentered<AidaKnob>(Vec(box.size.x / 2 - 80, box.size.y - 120),
module, AidaPluginModule::kParameterINLEVEL));

addChild(createParamCentered<AidaKnob>(Vec(100, box.size.y - 60),
addChild(createParamCentered<AidaKnob>(Vec(box.size.x / 2 + 80, box.size.y - 120),
module, AidaPluginModule::kParameterOUTLEVEL));

addChild(createParamCentered<AidaKnob>(Vec(104, box.size.y - 60),
module, AidaPluginModule::kParameterBASSGAIN));

addChild(createParamCentered<AidaKnob>(Vec(150, box.size.y - 60),
addChild(createParamCentered<AidaKnob>(Vec(152, box.size.y - 60),
module, AidaPluginModule::kParameterMIDGAIN));

addChild(createParamCentered<AidaKnob>(Vec(200, box.size.y - 60),
module, AidaPluginModule::kParameterTREBLEGAIN));

addChild(createParamCentered<AidaKnob>(Vec(250, box.size.y - 60),
addChild(createParamCentered<AidaKnob>(Vec(252, box.size.y - 60),
module, AidaPluginModule::kParameterDEPTH));

addChild(createParamCentered<AidaKnob>(Vec(300, box.size.y - 60),
module, AidaPluginModule::kParameterPRESENCE));

addChild(createParamCentered<AidaKnob>(Vec(350, box.size.y - 60),
module, AidaPluginModule::kParameterOUTLEVEL));
addChild(createParamCentered<AidaSwitch>(Vec(34, box.size.y - 58),
module, AidaPluginModule::kParameterEQPOS));

addChild(createParamCentered<AidaSwitch>(Vec(64, box.size.y - 58),
module, AidaPluginModule::kParameterMTYPE));

if (m != nullptr)
{
AidaModelListWidget* const listw = new AidaModelListWidget(m);
listw->box.pos = Vec(kPedalMargin, startY_list);
listw->box.size = Vec(box.size.x - kPedalMargin * 2, fileListHeight);
listw->box.pos = Vec(kPedalMargin * 2, kPedalMargin * 3);
listw->box.size = Vec(box.size.x - kPedalMargin * 4, kFileListHeight);
addChild(listw);
}
}
@@ -861,9 +927,17 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {
void draw(const DrawArgs& args) override
{
const double widthPedal = box.size.x - kPedalMargin * 2;
const double heightPedal = box.size.y - kPedalMargin - kPedalMarginTop;
const double heightPedal = box.size.y - kPedalMarginVertical * 2;
const int cornerRadius = 12;

// load images as needed
if (images.background.get() == nullptr)
{
images.background = APP->window->loadImage(asset::plugin(pluginInstance, "res/aida-x-background-p2.png"));
images.header = APP->window->loadImage(asset::plugin(pluginInstance, "res/aida-x-header.png"));
images.logo = APP->window->loadImage(asset::plugin(pluginInstance, "res/aida-x-logo.png"));
}

// outer bounds gradient
nvgBeginPath(args.vg);
nvgRect(args.vg, 0, 0, box.size.x, box.size.y);
@@ -875,19 +949,23 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {
nvgFill(args.vg);

// outer bounds pattern
// TODO
if (Image* const img = images.background.get())
{
nvgFillPaint(args.vg, nvgImagePattern(args.vg, 0, 0, 256.f, 128.f, 0.f, img->handle, 1.f));
nvgFill(args.vg);
}

// box shadow
nvgBeginPath(args.vg);
nvgRect(args.vg,
kPedalMargin / 2,
kPedalMarginTop / 2,
kPedalMarginVertical / 2,
kPedalMargin + widthPedal,
kPedalMarginTop + heightPedal);
kPedalMarginVertical + heightPedal);
nvgFillPaint(args.vg,
nvgBoxGradient(args.vg,
kPedalMargin,
kPedalMarginTop,
kPedalMarginVertical,
widthPedal,
heightPedal,
cornerRadius,
@@ -898,10 +976,10 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {

// .rt-neural .grid
nvgBeginPath(args.vg);
nvgRoundedRect(args.vg, kPedalMargin, kPedalMarginTop, widthPedal, heightPedal, cornerRadius);
nvgRoundedRect(args.vg, kPedalMargin, kPedalMarginVertical, widthPedal, heightPedal, cornerRadius);
nvgFillPaint(args.vg,
nvgLinearGradient(args.vg,
kPedalMargin, kPedalMarginTop,
kPedalMargin, kPedalMarginVertical,
kPedalMargin + box.size.x * 0.52f, 0,
nvgRGB(28, 23, 12),
nvgRGB(42, 34, 15)));
@@ -919,17 +997,113 @@ struct AidaWidget : ModuleWidgetWithSideScrews<23> {
nvgStrokeColor(args.vg, nvgRGBA(150, 150, 150, 60));
nvgStroke(args.vg);

drawOutputJacksArea(args.vg);
// splitter
nvgBeginPath(args.vg);
nvgMoveTo(args.vg, 226, box.size.y - 80);
nvgLineTo(args.vg, 226, box.size.y - 32);
nvgLineCap(args.vg, NVG_ROUND);
nvgStrokeColor(args.vg, nvgRGBA(97, 97, 97, 123));
nvgStrokeWidth(args.vg, 2);
nvgStroke(args.vg);

ModuleWidget::draw(args);
}
// .rt-neural .background_head
nvgBeginPath(args.vg);
nvgRoundedRect(args.vg,
kPedalMargin * 2,
kPedalMargin + kPedalMarginVertical,
box.size.x - kPedalMargin * 4,
kFileListHeight,
cornerRadius);
nvgFillPaint(args.vg,
nvgLinearGradient(args.vg,
kPedalMargin * 2,
kPedalMargin + kPedalMarginVertical,
kPedalMargin * 2,
kPedalMargin + kPedalMarginVertical + kFileListHeight,
nvgRGB(0x8b, 0xf7, 0x00),
nvgRGB(0xcd, 0xff, 0x05)));
nvgFill(args.vg);

void drawOutputJacksArea(NVGcontext* const vg)
{
nvgBeginPath(vg);
nvgRoundedRect(vg, startX_Out - 2.5f, startY_list * 0.5f - padding * 0.5f, padding, padding, 4);
nvgFillColor(vg, nvgRGB(0xd0, 0xd0, 0xd0));
nvgFill(vg);
if (Image* const img = images.background.get())
{
nvgFillPaint(args.vg, nvgImagePattern(args.vg,
kPedalMargin * 2,
kPedalMargin + kPedalMarginVertical,
256.f, 128.f, 0.f, img->handle, 1.f));
nvgFill(args.vg);
}

nvgFillPaint(args.vg,
nvgBoxGradient(args.vg,
kPedalMargin * 2,
kPedalMargin + kPedalMarginVertical,
box.size.x - kPedalMargin * 4,
kFileListHeight,
cornerRadius,
cornerRadius,
nvgRGBAf(0,0,0,0.f),
nvgRGBAf(0,0,0,1.f)));
nvgFill(args.vg);

// a bit darker so the text is readable
nvgFillColor(args.vg, nvgRGBAf(0.f,0.f,0.f,0.5f));
nvgFill(args.vg);

// .rt-neural .plate
if (Image* const img = images.header.get())
{
const float imgw = 100 * 1548 / 727;
const float imgh = 100;

nvgSave(args.vg);
nvgTranslate(args.vg, box.size.x / 2 - imgw/2, kPedalMarginVertical + kFileListHeight / 4);
nvgBeginPath(args.vg);
nvgRect(args.vg, 0, 0, imgw, imgh);
nvgFillPaint(args.vg, nvgImagePattern(args.vg, 0, 0, imgw, imgh, 0.f, img->handle, 1.f));
nvgFill(args.vg);
nvgRestore(args.vg);

nvgFillColor(args.vg, nvgRGBA(0x0c, 0x2f, 0x03, 175));
nvgFontSize(args.vg, 20);
nvgTextAlign(args.vg, NVG_ALIGN_CENTER | NVG_ALIGN_BASELINE);
nvgText(args.vg, box.size.x / 2, kPedalMarginVertical + kFileListHeight - 25, "AI CRAFTED TONE", nullptr);
}

// .rt-neural .brand
if (Image* const img = images.logo.get())
{
nvgSave(args.vg);
nvgAlpha(args.vg, 0.25f);
// nvgTranslate(args.vg, kPedalMargin * 3, kPedalMarginVertical + kFileListHeight - 25);
nvgTranslate(args.vg, box.size.x / 2 - 55.5f, box.size.y - 120 - 11);
nvgBeginPath(args.vg);
nvgRect(args.vg, 0, 0, 111, 25);
nvgFillPaint(args.vg, nvgImagePattern(args.vg, 0, 0, 111, 25, 0.f, img->handle, 1.f));
nvgFill(args.vg);
nvgRestore(args.vg);
}

// text stuff
nvgFontSize(args.vg, 11);
nvgFillColor(args.vg, nvgRGB(0xff,0xff,0xff));
nvgTextAlign(args.vg, NVG_ALIGN_CENTER);

nvgText(args.vg, 34, box.size.y - 80, "POST", nullptr);
nvgText(args.vg, 34, box.size.y - 30, "PRE", nullptr);

nvgText(args.vg, 64, box.size.y - 80, "PEAK", nullptr);
nvgText(args.vg, 64, box.size.y - 30, "BPASS", nullptr);

nvgText(args.vg, 104, box.size.y - 30, "BASS", nullptr);
nvgText(args.vg, 152, box.size.y - 30, "MID", nullptr);
nvgText(args.vg, 200, box.size.y - 30, "TREBLE", nullptr);
nvgText(args.vg, 252, box.size.y - 30, "DEPTH", nullptr);
nvgText(args.vg, 300, box.size.y - 30, "PRESENCE", nullptr);

nvgText(args.vg, box.size.x / 2 - 80, box.size.y - 90, "INPUT", nullptr);
nvgText(args.vg, box.size.x / 2 + 80, box.size.y - 90, "OUTPUT", nullptr);

ModuleWidget::draw(args);
}

void appendContextMenu(ui::Menu* const menu) override


+ 3
- 0
plugins/Cardinal/src/ImGuiWidget.cpp View File

@@ -492,6 +492,9 @@ void ImGuiWidget::drawFramebufferCommon(const Vec& fbSize, const float scaleFact
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
#endif

io.DisplaySize = ImVec2(box.size.x * scaleFactor, box.size.y * scaleFactor);


Loading…
Cancel
Save