CMLSProject-Class UML.svg 138 KB

1234
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Do not edit this file with editors other than draw.io -->
  3. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3181px" height="984px" viewBox="-0.5 -0.5 3181 984" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2025-05-25T18:51:57.712Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36&quot; etag=&quot;sKEQ9MzyeGyokRNOFSoS&quot; version=&quot;24.2.5&quot; type=&quot;device&quot; pages=&quot;3&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10; &lt;diagram name=&quot;Class UML&quot; id=&quot;xySWqu7LQrFbSxXOAWl4&quot;&gt;&#10; &lt;mxGraphModel dx=&quot;6434&quot; dy=&quot;2787&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10; &lt;root&gt;&#10; &lt;mxCell id=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-1&quot; value=&quot;juce::dsp::ProcessorBase&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;130&quot; y=&quot;300&quot; width=&quot;540&quot; height=&quot;120&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-2&quot; value=&quot;[Private properties]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;540&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-3&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;52&quot; width=&quot;540&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-4&quot; value=&quot;&amp;lt;i&amp;gt;+ reset() : void&amp;lt;/i&amp;gt;&amp;lt;div&amp;gt;&amp;lt;i&amp;gt;+ prepare(spec: const juce::dsp::ProcessSpec&amp;amp;amp;): void&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;i&amp;gt;+ process(context: const juce::dsp::ProcessContextReplacing&amp;amp;lt;float&amp;amp;gt;&amp;amp;amp;): void&amp;lt;/i&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;60&quot; width=&quot;540&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-5&quot; value=&quot;&quot; style=&quot;endArrow=block;endFill=0;endSize=12;html=1;rounded=0;entryX=0.47;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;&quot; parent=&quot;1&quot; target=&quot;ciBtF9zO5i-EcabrgG4C-4&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;160&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;210&quot; y=&quot;630&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;520&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;210&quot; y=&quot;550&quot; /&gt;&#10; &lt;mxPoint x=&quot;384&quot; y=&quot;550&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-6&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;380&quot; y=&quot;550&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;560&quot; y=&quot;630&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;560&quot; y=&quot;550&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-7&quot; value=&quot;CMLSChorus&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;414&quot; y=&quot;630&quot; width=&quot;280&quot; height=&quot;250&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-8&quot; value=&quot;- dryWetProp: float&amp;lt;div&amp;gt;- amount: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- delayLine1: juce::dsp::Chorus&amp;amp;lt;float&amp;amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- delayLine2: juce::dsp::Chorus&amp;amp;lt;float&amp;amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- dryWetMixer: juce::dsp::DryWetMixer&amp;amp;lt;float&amp;amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- freqRange: juce::NormalisableRange&amp;amp;lt;float&amp;amp;gt;*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- freqRange: juce::NormalisableRange&amp;amp;lt;float&amp;amp;gt;*&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-7&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;280&quot; height=&quot;114&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-9&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-7&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;140&quot; width=&quot;280&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-10&quot; value=&quot;+ CMLSChorus()&amp;lt;div&amp;gt;+ ~CMLSChorus()&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setDryWet(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setAmount(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getDryWet(): const float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getAmount(): const float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-7&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;148&quot; width=&quot;280&quot; height=&quot;102&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-11&quot; value=&quot;CMLSReverb&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;70&quot; y=&quot;630&quot; width=&quot;280&quot; height=&quot;180&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-12&quot; value=&quot;- reverb: juce::Reverb&amp;lt;div&amp;gt;- reverbParams: juce::Reverb::Parameters&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-11&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;280&quot; height=&quot;44&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-13&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-11&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;70&quot; width=&quot;280&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;ciBtF9zO5i-EcabrgG4C-14&quot; value=&quot;+ CMLSReverb()&amp;lt;div&amp;gt;+ ~CMLSReverb()&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setDryWet(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setRoomSize(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getDryWet() : const float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getRoomSize(): const float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;ciBtF9zO5i-EcabrgG4C-11&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;78&quot; width=&quot;280&quot; height=&quot;102&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-5&quot; value=&quot;CMLSProjectAudioProcessor&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;870&quot; y=&quot;540&quot; width=&quot;280&quot; height=&quot;250&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-6&quot; value=&quot;- reverb: CMLSReverb&amp;lt;div&amp;gt;- chorus: CMLSChorus&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- eq: CMLSEqualizer&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- distortion: CMLSDistortion&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;-delay: CMLSDelay&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- chain: juce::dsp::ProcessorChain&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#6c8ebf;fillColor=#dae8fc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;mVzzysHvqAd526uorKCp-5&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;280&quot; height=&quot;114&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-7&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;&quot; parent=&quot;mVzzysHvqAd526uorKCp-5&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;140&quot; width=&quot;280&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-8&quot; value=&quot;&amp;lt;div&amp;gt;+prepareToPlay(sampleRate: double, samplesPerBlock: int): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ processBlock(buffer: juce::AudioBuffer&amp;amp;lt;float&amp;amp;gt;&amp;amp;amp;, midiMessages: juce::MidiBuffer&amp;amp;amp;): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#6c8ebf;fillColor=#dae8fc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;mVzzysHvqAd526uorKCp-5&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;148&quot; width=&quot;280&quot; height=&quot;102&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-9&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;exitX=1.001;exitY=0.061;exitDx=0;exitDy=0;entryX=-0.002;entryY=0.448;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;ciBtF9zO5i-EcabrgG4C-8&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;694&quot; y=&quot;623.5000000000002&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;869.44&quot; y=&quot;580.6320000000001&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;663&quot; /&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;580&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;mVzzysHvqAd526uorKCp-10&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;exitX=0.996;exitY=0.097;exitDx=0;exitDy=0;entryX=0;entryY=0.256;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;ciBtF9zO5i-EcabrgG4C-11&quot; edge=&quot;1&quot; target=&quot;mVzzysHvqAd526uorKCp-6&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;700&quot; y=&quot;666&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;800&quot; y=&quot;624&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;390&quot; y=&quot;647&quot; /&gt;&#10; &lt;mxPoint x=&quot;390&quot; y=&quot;890&quot; /&gt;&#10; &lt;mxPoint x=&quot;760&quot; y=&quot;890&quot; /&gt;&#10; &lt;mxPoint x=&quot;760&quot; y=&quot;666&quot; /&gt;&#10; &lt;mxPoint x=&quot;760&quot; y=&quot;594&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-1&quot; value=&quot;CMLSDelay&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-320&quot; y=&quot;630&quot; width=&quot;320&quot; height=&quot;350&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-2&quot; value=&quot;- dryWetProp: float&amp;lt;div&amp;gt;- amount: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- delayLength: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- feedback: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- maximumDelaySamples: int&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- mixer: juce::dsp::DryWetMixer&amp;amp;lt;float&amp;amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- delayLine:&amp;amp;nbsp;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;juce::dsp::DelayLine&amp;amp;lt;float,&amp;lt;br&amp;gt;juce::dsp::DelayLineInterpolationTypes::Linear&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;-&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;delayLine2:&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;juce::dsp::DelayLine&amp;amp;lt;float, juce::dsp::DelayLineInterpolationTypes::Linear&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;- delayRange: juce::NormalisableRange&amp;amp;lt;float&amp;amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;- delaySmoothing:&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;juce::SmoothedValue&amp;amp;lt;float,&amp;lt;br&amp;gt;juce::ValueSmoothingTypes::Linear&amp;amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;- lastDelayInSamples: int&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class=&amp;quot;MsoNormal&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;apmRL3pJtbGQKjnVbZVX-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;320&quot; height=&quot;214&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-3&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; parent=&quot;apmRL3pJtbGQKjnVbZVX-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;240&quot; width=&quot;320&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-4&quot; value=&quot;+ CMLSDelay()&amp;lt;div&amp;gt;+ ~CMLSDelay()&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setDryWet(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setAmount(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getDryWet(): const float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ getAmount(): const float&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; parent=&quot;apmRL3pJtbGQKjnVbZVX-1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry y=&quot;248&quot; width=&quot;320&quot; height=&quot;102&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-5&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;entryX=0.002;entryY=0.397;entryDx=0;entryDy=0;entryPerimeter=0;&quot; parent=&quot;1&quot; target=&quot;mVzzysHvqAd526uorKCp-6&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint y=&quot;643&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;431&quot; y=&quot;620&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;21&quot; y=&quot;643&quot; /&gt;&#10; &lt;mxPoint x=&quot;21&quot; y=&quot;930&quot; /&gt;&#10; &lt;mxPoint x=&quot;360&quot; y=&quot;930&quot; /&gt;&#10; &lt;mxPoint x=&quot;770&quot; y=&quot;930&quot; /&gt;&#10; &lt;mxPoint x=&quot;770&quot; y=&quot;610&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;apmRL3pJtbGQKjnVbZVX-6&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; target=&quot;apmRL3pJtbGQKjnVbZVX-1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;210&quot; y=&quot;550&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;390&quot; y=&quot;630&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;-160&quot; y=&quot;550&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-1&quot; value=&quot;CMLSDistortion&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-710&quot; y=&quot;630&quot; width=&quot;320&quot; height=&quot;180&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-2&quot; value=&quot;- drive: float&amp;lt;div&amp;gt;- mix: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- inputGain: juce::dsp::Gain&amp;amp;lt;float&amp;amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- outputGain: juce::dsp::Gain&amp;amp;lt;float&amp;amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-1&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;320&quot; height=&quot;74&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-3&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-1&quot;&gt;&#10; &lt;mxGeometry y=&quot;100&quot; width=&quot;320&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-4&quot; value=&quot;+ CMLSDistortion()&amp;lt;div&amp;gt;+ ~CMLSDistortion()&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setDive(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setMix(value: float): void&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-1&quot;&gt;&#10; &lt;mxGeometry y=&quot;108&quot; width=&quot;320&quot; height=&quot;72&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-5&quot; value=&quot;CMLSEqualizer&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-1340&quot; y=&quot;630&quot; width=&quot;580&quot; height=&quot;190&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-6&quot; value=&quot;- sampleRate: double&amp;lt;div&amp;gt;- lowBand:&amp;amp;nbsp;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;juce::dsp::ProcessorDuplicator&amp;amp;lt;juce::dsp::IIR::Filter&amp;amp;lt;float&amp;amp;gt;,&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&amp;#x9;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&amp;#x9;&amp;lt;/span&amp;gt;&amp;amp;nbsp; juce::dsp::IIR::Coefficients&amp;amp;lt;float&amp;amp;gt;&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;- highBand:&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;juce::dsp::ProcessorDuplicator&amp;amp;lt;juce::dsp::IIR::Filter&amp;amp;lt;float&amp;amp;gt;,&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&amp;#x9;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&amp;#x9;&amp;lt;/span&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;juce::dsp::IIR::Coefficients&amp;amp;lt;float&amp;amp;gt;&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-5&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;580&quot; height=&quot;84&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-7&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-5&quot;&gt;&#10; &lt;mxGeometry y=&quot;110&quot; width=&quot;580&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-8&quot; value=&quot;+ CMLSEqualizer()&amp;lt;div&amp;gt;+ ~CMLSEqualizer()&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setEqLowGain(value: float): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ setEqHighGain(value: float): void&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-5&quot;&gt;&#10; &lt;mxGeometry y=&quot;118&quot; width=&quot;580&quot; height=&quot;72&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-9&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;-390&quot; y=&quot;648&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;870&quot; y=&quot;630&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;-369&quot; y=&quot;648&quot; /&gt;&#10; &lt;mxPoint x=&quot;-370&quot; y=&quot;990&quot; /&gt;&#10; &lt;mxPoint x=&quot;800&quot; y=&quot;990&quot; /&gt;&#10; &lt;mxPoint x=&quot;800&quot; y=&quot;630&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-10&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;entryX=0.001;entryY=0.737;entryDx=0;entryDy=0;entryPerimeter=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; target=&quot;mVzzysHvqAd526uorKCp-6&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;-760&quot; y=&quot;648&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;850&quot; y=&quot;650&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;-739&quot; y=&quot;648&quot; /&gt;&#10; &lt;mxPoint x=&quot;-740&quot; y=&quot;1000&quot; /&gt;&#10; &lt;mxPoint x=&quot;830&quot; y=&quot;1000&quot; /&gt;&#10; &lt;mxPoint x=&quot;830&quot; y=&quot;650&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-13&quot; value=&quot;juce::AudioProcessor&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;905&quot; y=&quot;300&quot; width=&quot;210&quot; height=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-14&quot; value=&quot;[Private properties]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-13&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;210&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-15&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-13&quot;&gt;&#10; &lt;mxGeometry y=&quot;52&quot; width=&quot;210&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-16&quot; value=&quot;[Public methods]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-13&quot;&gt;&#10; &lt;mxGeometry y=&quot;60&quot; width=&quot;210&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-17&quot; value=&quot;&quot; style=&quot;endArrow=block;endFill=0;endSize=12;html=1;rounded=0;entryX=0.47;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;160&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1001&quot; y=&quot;540&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1001&quot; y=&quot;390&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-18&quot; value=&quot;CMLSProjectAudioProcessorEditor&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1170&quot; y=&quot;540&quot; width=&quot;370&quot; height=&quot;150&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-40&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;entryX=-0.002;entryY=0.43;entryDx=0;entryDy=0;entryPerimeter=0;&quot; edge=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-18&quot; target=&quot;7jMpkemeNbuTtvH5HA3Z-19&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;-20&quot; y=&quot;45&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;30&quot; y=&quot;-5&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-19&quot; value=&quot;- audioProcessor: CMLSAudioProcessor&amp;amp;amp;&amp;lt;div&amp;gt;- oscReceiver: OSCReceiverWrapper&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#6c8ebf;fillColor=#dae8fc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-18&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;370&quot; height=&quot;44&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-20&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-18&quot;&gt;&#10; &lt;mxGeometry y=&quot;70&quot; width=&quot;370&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-21&quot; value=&quot;+ CMLSAudioProcessorEditor(p: CMLSProjectAudioProcessor&amp;amp;amp;)&amp;lt;div&amp;gt;+ ~&amp;lt;span style=&amp;quot;background-color: initial;&amp;quot;&amp;gt;CMLSAudioProcessorEditor()&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ paint(g: juce::Graphics&amp;amp;amp;): void&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ resized(): void&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#6c8ebf;fillColor=#dae8fc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-18&quot;&gt;&#10; &lt;mxGeometry y=&quot;78&quot; width=&quot;370&quot; height=&quot;72&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-22&quot; value=&quot;juce::AudioProcessorEditor&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1250&quot; y=&quot;300&quot; width=&quot;210&quot; height=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-23&quot; value=&quot;[Private properties]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-22&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;210&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-24&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-22&quot;&gt;&#10; &lt;mxGeometry y=&quot;52&quot; width=&quot;210&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-25&quot; value=&quot;[Public methods]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-22&quot;&gt;&#10; &lt;mxGeometry y=&quot;60&quot; width=&quot;210&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-26&quot; value=&quot;&quot; style=&quot;endArrow=block;endFill=0;endSize=12;html=1;rounded=0;entryX=0.47;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;160&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1354.47&quot; y=&quot;540&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1354.47&quot; y=&quot;390&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-27&quot; value=&quot;APVTSListeners&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;870&quot; y=&quot;820&quot; width=&quot;360&quot; height=&quot;260&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-28&quot; value=&quot;&amp;lt;div&amp;gt;- equalizerProcessor: CMLSEqualizer*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- distortionProcessor: CMLSDistortion*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- chorusProcessor: CMLSChorus*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- delayProcessor: CMLSDelay*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- reverbProcessor: CMLSReverb*&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#9673a6;fillColor=#e1d5e7;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-27&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;360&quot; height=&quot;84&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-29&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=#e1d5e7;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=#9673a6;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-27&quot;&gt;&#10; &lt;mxGeometry y=&quot;110&quot; width=&quot;360&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-30&quot; value=&quot;&amp;lt;div&amp;gt;+&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-align: center; background-color: initial;&amp;quot;&amp;gt;APVTSListeners()&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ ~&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;APVTSListeners()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;text-align: center; background-color: initial;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ setEqualizerProcessor(equalizer: CMLSEqualizer*): void&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ setDistortionProcessor(distortion: CMLSDistortion*): void&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ setChorusProcessor(chorus: CMLSChorus*): void&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ setDelayProcessor(delay: CMLSDelay*): void&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ setReverbProcessor(reverb: CMLSReverb*): void&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;+ parameterChanged(parameterID: const juce::String&amp;amp;amp;, newValue: float)&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#9673a6;fillColor=#e1d5e7;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-27&quot;&gt;&#10; &lt;mxGeometry y=&quot;118&quot; width=&quot;360&quot; height=&quot;142&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-31&quot; value=&quot;OSCReceiverWrapper&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1250&quot; y=&quot;820&quot; width=&quot;360&quot; height=&quot;290&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-32&quot; value=&quot;- currentPreset: Preset&amp;lt;div&amp;gt;- x: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- y: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- aspectX: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- aspectY: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- pressure: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- thickness: float&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- apvts: juce::AudioProcessorValueTreeState*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- eqGainRange: juce::NormalisableRange&amp;amp;lt;float&amp;amp;gt;*&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;- distortionDriveRange: juce::NormalisableRange&amp;amp;lt;float&amp;amp;gt;*&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#9673a6;fillColor=#e1d5e7;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-31&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;360&quot; height=&quot;154&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-33&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=#e1d5e7;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=#9673a6;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-31&quot;&gt;&#10; &lt;mxGeometry y=&quot;180&quot; width=&quot;360&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-34&quot; value=&quot;&amp;lt;div&amp;gt;+&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-align: center; background-color: initial;&amp;quot;&amp;gt;OscReceiverWrapper(port: int, apvts: juce::AudioProcessorValueTreeState*)&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;+ ~&amp;lt;span style=&amp;quot;text-align: center;&amp;quot;&amp;gt;OscReceiverWrapper&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: initial; text-align: center;&amp;quot;&amp;gt;()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;text-align: center; background-color: initial;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;&amp;quot;&amp;gt;+ oscMessageReceived(message: const juce::OscMessage&amp;amp;amp;)&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;&amp;quot;&amp;gt;+ oscConnectionError()&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;&amp;quot;&amp;gt;+ processMessage()&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=#9673a6;fillColor=#e1d5e7;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-31&quot;&gt;&#10; &lt;mxGeometry y=&quot;188&quot; width=&quot;360&quot; height=&quot;102&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-35&quot; value=&quot;juce::AudioProcessorValueTreeState::Listener&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;890&quot; y=&quot;1160&quot; width=&quot;280&quot; height=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-36&quot; value=&quot;[Private properties]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-35&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;280&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-37&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-35&quot;&gt;&#10; &lt;mxGeometry y=&quot;52&quot; width=&quot;280&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-38&quot; value=&quot;[Public methods]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-35&quot;&gt;&#10; &lt;mxGeometry y=&quot;60&quot; width=&quot;280&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-39&quot; value=&quot;&quot; style=&quot;endArrow=block;endFill=0;endSize=12;html=1;rounded=0;entryX=0.47;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;7jMpkemeNbuTtvH5HA3Z-35&quot;&gt;&#10; &lt;mxGeometry width=&quot;160&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1029.44&quot; y=&quot;1230&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1029.44&quot; y=&quot;1080&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-41&quot; value=&quot;&quot; style=&quot;endArrow=classic;html=1;rounded=0;entryX=0.704;entryY=0.994;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;7jMpkemeNbuTtvH5HA3Z-31&quot; target=&quot;7jMpkemeNbuTtvH5HA3Z-21&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1360&quot; y=&quot;850&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1410&quot; y=&quot;800&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-42&quot; value=&quot;juce::OSCReceiver&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1330&quot; y=&quot;1190&quot; width=&quot;210&quot; height=&quot;90&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-43&quot; value=&quot;[Private properties]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-42&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;210&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-44&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-42&quot;&gt;&#10; &lt;mxGeometry y=&quot;52&quot; width=&quot;210&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-45&quot; value=&quot;[Public methods]&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-42&quot;&gt;&#10; &lt;mxGeometry y=&quot;60&quot; width=&quot;210&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-47&quot; value=&quot;&quot; style=&quot;endArrow=block;endFill=0;endSize=12;html=1;rounded=0;entryX=0.47;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;160&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1440.56&quot; y=&quot;1190&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1440&quot; y=&quot;1110&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-48&quot; value=&quot;&amp;amp;lt;&amp;amp;lt;Enum&amp;amp;gt;&amp;amp;gt; Preset&amp;amp;nbsp;&quot; style=&quot;swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#A3A3A3;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1630&quot; y=&quot;820&quot; width=&quot;210&quot; height=&quot;158&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-49&quot; value=&quot;NONE&amp;lt;div&amp;gt;PENCIL&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;CRAYON&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;FOUNTAINPEN&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;PEN&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;MARKER&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;MONOLINE&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;WATERCOLOR&amp;lt;/div&amp;gt;&quot; style=&quot;text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-48&quot;&gt;&#10; &lt;mxGeometry y=&quot;26&quot; width=&quot;210&quot; height=&quot;124&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;7jMpkemeNbuTtvH5HA3Z-50&quot; value=&quot;&quot; style=&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;&quot; vertex=&quot;1&quot; parent=&quot;7jMpkemeNbuTtvH5HA3Z-48&quot;&gt;&#10; &lt;mxGeometry y=&quot;150&quot; width=&quot;210&quot; height=&quot;8&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;/root&gt;&#10; &lt;/mxGraphModel&gt;&#10; &lt;/diagram&gt;&#10; &lt;diagram id=&quot;MQpbXMmXcBGidsoBPrCH&quot; name=&quot;JUCE UI Idea&quot;&gt;&#10; &lt;mxGraphModel dx=&quot;1434&quot; dy=&quot;2005&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10; &lt;root&gt;&#10; &lt;mxCell id=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-4&quot; value=&quot;&quot; style=&quot;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.ios7.misc.iphone;strokeColor=#c0c0c0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;750&quot; y=&quot;-480&quot; width=&quot;230&quot; height=&quot;480&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-2&quot; value=&quot;&quot; style=&quot;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.ios7.misc.ipad10inch;strokeColor=#c0c0c0;rotation=-90;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;142&quot; y=&quot;-583&quot; width=&quot;488&quot; height=&quot;693&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-1&quot; value=&quot;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;10&quot; y=&quot;60&quot; width=&quot;750&quot; height=&quot;480&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-2&quot; value=&quot;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;rotation=-90;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;225.78&quot; y=&quot;-126.26&quot; width=&quot;322.82&quot; height=&quot;725.37&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-4&quot; value=&quot;Oscillator #1&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;120&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-5&quot; value=&quot;Oscillator #2&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;210&quot; y=&quot;120&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-6&quot; value=&quot;ADSR #1&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;190&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-7&quot; value=&quot;LFO #1&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;210&quot; y=&quot;190&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-8&quot; value=&quot;LFO #2&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;260&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-9&quot; value=&quot;Filter #1&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;330&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-10&quot; value=&quot;&amp;lt;b&amp;gt;&amp;lt;font style=&amp;quot;font-size: 17px;&amp;quot;&amp;gt;Generators&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;50&quot; y=&quot;80&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-11&quot; value=&quot;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;rotation=-90;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;328.13&quot; y=&quot;111.88&quot; width=&quot;117.5&quot; height=&quot;723.75&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-12&quot; value=&quot;Distortion&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;460&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-13&quot; value=&quot;EQ&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;210&quot; y=&quot;460&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-14&quot; value=&quot;Chorus&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;389.5&quot; y=&quot;460&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-15&quot; value=&quot;Reverb&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;570&quot; y=&quot;460&quot; width=&quot;170&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-16&quot; value=&quot;&amp;lt;b&amp;gt;&amp;lt;font style=&amp;quot;font-size: 17px;&amp;quot;&amp;gt;Effects&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;30&quot; y=&quot;425&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-17&quot; value=&quot;&quot; style=&quot;endArrow=classic;startArrow=classic;html=1;rounded=0;dashed=1;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;30&quot; y=&quot;560&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;560&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-18&quot; value=&quot;&quot; style=&quot;html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;shadow=0;dashed=0;shape=mxgraph.ios7.icons.paint;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;359.5&quot; y=&quot;-237.75&quot; width=&quot;30&quot; height=&quot;25.5&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;LmIpvP3O6Kqlahn2wl8g-19&quot; value=&quot;&amp;lt;font color=&amp;quot;#7ea6e0&amp;quot;&amp;gt;Painting surface (result)&amp;lt;/font&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;300&quot; y=&quot;-267.75&quot; width=&quot;150&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-5&quot; value=&quot;&quot; style=&quot;html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;shadow=0;dashed=0;shape=mxgraph.ios7.icons.paint;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;849.5&quot; y=&quot;-234.25&quot; width=&quot;30&quot; height=&quot;25.5&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-6&quot; value=&quot;&amp;lt;font color=&amp;quot;#7ea6e0&amp;quot;&amp;gt;Painting surface (result)&amp;lt;/font&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;790&quot; y=&quot;-264.25&quot; width=&quot;150&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-7&quot; value=&quot;&quot; style=&quot;shape=flexArrow;endArrow=classic;html=1;rounded=0;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;777&quot; y=&quot;498.76&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;880&quot; y=&quot;499&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-8&quot; value=&quot;&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;890&quot; y=&quot;410&quot; width=&quot;310&quot; height=&quot;205&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-9&quot; value=&quot;&amp;lt;b&amp;gt;&amp;lt;font style=&amp;quot;font-size: 15px;&amp;quot;&amp;gt;Reverb&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;900&quot; y=&quot;425&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-10&quot; value=&quot;&quot; style=&quot;html=1;whiteSpace=wrap;shape=isoCube2;backgroundOutline=1;isoAngle=15;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;970&quot; y=&quot;443.55&quot; width=&quot;140&quot; height=&quot;155.56&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-11&quot; value=&quot;&quot; style=&quot;endArrow=classic;startArrow=classic;html=1;rounded=0;dashed=1;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;1110&quot; y=&quot;580&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;1050&quot; y=&quot;610&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-12&quot; value=&quot;&quot; style=&quot;shape=flexArrow;endArrow=classic;html=1;rounded=0;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;777&quot; y=&quot;178.76&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;880&quot; y=&quot;179&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-13&quot; value=&quot;&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;gradientColor=none;gradientDirection=east;fillColor=#FFF2CC;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;890&quot; y=&quot;90&quot; width=&quot;310&quot; height=&quot;205&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-14&quot; value=&quot;&amp;lt;b&amp;gt;&amp;lt;font style=&amp;quot;font-size: 15px;&amp;quot;&amp;gt;Oscillator&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;910&quot; y=&quot;110&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-17&quot; value=&quot;&quot; style=&quot;pointerEvents=1;verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;shape=mxgraph.electrical.waveforms.sine_wave;fillColor=#ffe6cc;strokeColor=#d79b00;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;905&quot; y=&quot;170&quot; width=&quot;90&quot; height=&quot;66.18&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-18&quot; value=&quot;&quot; style=&quot;pointerEvents=1;verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;shape=mxgraph.electrical.waveforms.sine_wave;fillColor=#ffe6cc;strokeColor=#d79b00;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;995&quot; y=&quot;170&quot; width=&quot;90&quot; height=&quot;66.18&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-19&quot; value=&quot;&quot; style=&quot;pointerEvents=1;verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;shape=mxgraph.electrical.waveforms.sine_wave;fillColor=#ffe6cc;strokeColor=#d79b00;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1085&quot; y=&quot;170&quot; width=&quot;90&quot; height=&quot;66.18&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-20&quot; value=&quot;(Oscilloscope-like)&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;980&quot; y=&quot;250&quot; width=&quot;120&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;B0cvQGNzCC_ej6mDpY5H-21&quot; value=&quot;Changes size based on array room size and depth&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;895&quot; y=&quot;620&quot; width=&quot;290&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-2&quot; value=&quot;A little bit more creative....&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;10&quot; y=&quot;740&quot; width=&quot;160&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-3&quot; value=&quot;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;20&quot; y=&quot;780&quot; width=&quot;750&quot; height=&quot;480&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-4&quot; value=&quot;Oscillator #1&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;35&quot; y=&quot;800&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-22&quot; value=&quot;ADSR #1&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;142&quot; y=&quot;860&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-23&quot; value=&quot;Oscillator #2&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;35&quot; y=&quot;920&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-24&quot; value=&quot;LFO #1&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;250&quot; y=&quot;800&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-25&quot; value=&quot;&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;250&quot; y=&quot;920&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-30&quot; value=&quot;Filter #1&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;358&quot; y=&quot;860&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-31&quot; value=&quot;Distortion&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;466&quot; y=&quot;800&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-32&quot; value=&quot;EQ&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;466&quot; y=&quot;920&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-33&quot; value=&quot;Chorus&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;574&quot; y=&quot;860&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-34&quot; value=&quot;ADSR #2&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;142&quot; y=&quot;980&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-35&quot; value=&quot;&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;359.5&quot; y=&quot;980&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;bGHWTSYe80ISOE1XwNZ2-36&quot; value=&quot;Reverb&quot; style=&quot;shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=25;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;574&quot; y=&quot;980&quot; width=&quot;125&quot; height=&quot;110&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;/root&gt;&#10; &lt;/mxGraphModel&gt;&#10; &lt;/diagram&gt;&#10; &lt;diagram id=&quot;Vuxr3e3k3dsrQK8o3KIu&quot; name=&quot;OSC Communication&quot;&gt;&#10; &lt;mxGraphModel dx=&quot;1434&quot; dy=&quot;836&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10; &lt;root&gt;&#10; &lt;mxCell id=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10; &lt;/root&gt;&#10; &lt;/mxGraphModel&gt;&#10; &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;" style="background-color: rgb(255, 255, 255);"><defs/><rect fill="#ffffff" width="100%" height="100%" x="0" y="0"/><g><g><path d="M 1470 26 L 1470 0 L 2010 0 L 2010 26" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 1470 26 L 1470 120 L 2010 120 L 2010 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 1470 26 L 2010 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 538px; height: 1px; padding-top: 7px; margin-left: 1471px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">juce::dsp::ProcessorBase</div></div></div></foreignObject><text x="1740" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">juce::dsp::ProcessorBase</text></switch></g></g><g><rect x="1470" y="26" width="540" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 530px; height: 1px; padding-top: 33px; margin-left: 1476px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Private properties]</div></div></div></foreignObject><text x="1476" y="45" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Private properties]</text></switch></g></g><g><path d="M 1470 56 L 2010 56" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="1470" y="60" width="540" height="60" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 530px; height: 1px; padding-top: 67px; margin-left: 1476px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 56px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><i>+ reset() : void</i><div><i>+ prepare(spec: const juce::dsp::ProcessSpec&amp;): void</i></div><div><i>+ process(context: const juce::dsp::ProcessContextReplacing&lt;float&gt;&amp;): void</i></div></div></div></div></foreignObject><text x="1476" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ reset() : void...</text></switch></g></g><g><path d="M 1550 330 L 1550 250 L 1724 250 L 1723.82 133.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1723.8 120.88 L 1730.32 133.87 L 1717.32 133.89 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 1720 250 L 1900 250 L 1900 330" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g><g><path d="M 1754 356 L 1754 330 L 2034 330 L 2034 356" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1754 356 L 1754 580 L 2034 580 L 2034 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 1754 356 L 2034 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 337px; margin-left: 1755px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSChorus</div></div></div></foreignObject><text x="1894" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSChorus</text></switch></g></g><g><rect x="1754" y="356" width="280" height="114" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 363px; margin-left: 1760px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 110px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- dryWetProp: float<div>- amount: float</div><div>- delayLine1: juce::dsp::Chorus&lt;float&gt;</div><div>- delayLine2: juce::dsp::Chorus&lt;float&gt;<br /></div><div>- dryWetMixer: juce::dsp::DryWetMixer&lt;float&gt;<br /></div><div>- freqRange: juce::NormalisableRange&lt;float&gt;*</div><div>- freqRange: juce::NormalisableRange&lt;float&gt;*<br /></div></div></div></div></foreignObject><text x="1760" y="375" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- dryWetProp: float...</text></switch></g></g><g><path d="M 1754 474 L 2034 474" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="1754" y="478" width="280" height="102" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 485px; margin-left: 1760px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 98px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSChorus()<div>+ ~CMLSChorus()</div><div>+ setDryWet(value: float): void</div><div>+ setAmount(value: float): void</div><div>+ getDryWet(): const float</div><div>+ getAmount(): const float</div><div><br /></div></div></div></div></foreignObject><text x="1760" y="497" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSChorus()...</text></switch></g></g><g><path d="M 1410 356 L 1410 330 L 1690 330 L 1690 356" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1410 356 L 1410 510 L 1690 510 L 1690 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 1410 356 L 1690 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 337px; margin-left: 1411px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSReverb</div></div></div></foreignObject><text x="1550" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSReverb</text></switch></g></g><g><rect x="1410" y="356" width="280" height="44" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 363px; margin-left: 1416px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 40px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- reverb: juce::Reverb<div>- reverbParams: juce::Reverb::Parameters</div></div></div></div></foreignObject><text x="1416" y="375" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- reverb: juce::Reverb...</text></switch></g></g><g><path d="M 1410 404 L 1690 404" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="1410" y="408" width="280" height="102" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 415px; margin-left: 1416px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 98px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSReverb()<div>+ ~CMLSReverb()</div><div>+ setDryWet(value: float): void</div><div>+ setRoomSize(value: float): void</div><div>+ getDryWet() : const float</div><div>+ getRoomSize(): const float</div><div><br /></div></div></div></div></foreignObject><text x="1416" y="427" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSReverb()...</text></switch></g></g><g><path d="M 2210 266 L 2210 240 L 2490 240 L 2490 266" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/><path d="M 2210 266 L 2210 490 L 2490 490 L 2490 266" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><path d="M 2210 266 L 2490 266" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 247px; margin-left: 2211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSProjectAudioProcessor</div></div></div></foreignObject><text x="2350" y="259" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSProjectAudioProcessor</text></switch></g></g><g><rect x="2210" y="266" width="280" height="114" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 273px; margin-left: 2216px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 110px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- reverb: CMLSReverb<div>- chorus: CMLSChorus</div><div>- eq: CMLSEqualizer</div><div>- distortion: CMLSDistortion</div><div>-delay: CMLSDelay</div><div>- chain: juce::dsp::ProcessorChain</div></div></div></div></foreignObject><text x="2216" y="285" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- reverb: CMLSReverb...</text></switch></g></g><g><path d="M 2210 384 L 2490 384" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2210" y="388" width="280" height="102" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 395px; margin-left: 2216px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 98px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>+prepareToPlay(sampleRate: double, samplesPerBlock: int): void</div><div>+ processBlock(buffer: juce::AudioBuffer&lt;float&gt;&amp;, midiMessages: juce::MidiBuffer&amp;): void</div><div><br /></div></div></div></div></foreignObject><text x="2216" y="407" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+prepareToPlay(sampleRate: double, samplesPer...</text></switch></g></g><g><path d="M 2034.28 362.95 L 2080 363 L 2080 280 L 2203.07 280.6" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2208.32 280.63 L 2201.31 284.09 L 2203.07 280.6 L 2201.34 277.09 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 1688.88 347.46 L 1730 347 L 1730 590 L 2100 590 L 2100 366 L 2100 294 L 2203.63 295.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2208.88 295.17 L 2201.84 298.6 L 2203.63 295.12 L 2201.92 291.6 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 1020 356 L 1020 330 L 1340 330 L 1340 356" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1020 356 L 1020 680 L 1340 680 L 1340 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 1020 356 L 1340 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 337px; margin-left: 1021px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSDelay</div></div></div></foreignObject><text x="1180" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSDelay</text></switch></g></g><g><rect x="1020" y="356" width="320" height="214" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 310px; height: 1px; padding-top: 363px; margin-left: 1026px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 210px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- dryWetProp: float<div>- amount: float</div><div>- delayLength: float</div><div>- feedback: float</div><div>- maximumDelaySamples: int</div><div>- mixer: juce::dsp::DryWetMixer&lt;float&gt;</div><div>- delayLine: <span style="background-color: initial;">juce::dsp::DelayLine&lt;float,<br />juce::dsp::DelayLineInterpolationTypes::Linear&gt;</span></div><div><span style="background-color: initial;">- </span><span style="background-color: initial;">delayLine2: </span><span style="background-color: initial;">juce::dsp::DelayLine&lt;float, juce::dsp::DelayLineInterpolationTypes::Linear&gt;</span></div><div><span style="background-color: initial;">- delayRange: juce::NormalisableRange&lt;float&gt;*</span></div><div><span style="background-color: initial;">- delaySmoothing: </span><span style="background-color: initial;">juce::SmoothedValue&lt;float,<br />juce::ValueSmoothingTypes::Linear&gt;*</span></div><div><span style="background-color: initial;">- lastDelayInSamples: int</span></div><p class="MsoNormal"></p></div></div></div></foreignObject><text x="1026" y="375" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- dryWetProp: float...</text></switch></g></g><g><path d="M 1020 574 L 1340 574" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="1020" y="578" width="320" height="102" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 310px; height: 1px; padding-top: 585px; margin-left: 1026px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 98px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSDelay()<div>+ ~CMLSDelay()</div><div>+ setDryWet(value: float): void</div><div>+ setAmount(value: float): void</div><div>+ getDryWet(): const float</div><div>+ getAmount(): const float</div></div></div></div></foreignObject><text x="1026" y="597" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSDelay()...</text></switch></g></g><g><path d="M 1340 343 L 1361 343 L 1361 630 L 1700 630 L 2110 630 L 2110 310 L 2204.19 311.18" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2209.44 311.24 L 2202.4 314.66 L 2204.19 311.18 L 2202.49 307.66 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 1550 250 L 1180 250 L 1180 330" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/></g><g><path d="M 630 356 L 630 330 L 950 330 L 950 356" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 630 356 L 630 510 L 950 510 L 950 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 630 356 L 950 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 337px; margin-left: 631px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSDistortion</div></div></div></foreignObject><text x="790" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSDistortion</text></switch></g></g><g><rect x="630" y="356" width="320" height="74" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 310px; height: 1px; padding-top: 363px; margin-left: 636px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 70px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- drive: float<div>- mix: float</div><div>- inputGain: juce::dsp::Gain&lt;float&gt;</div><div>- outputGain: juce::dsp::Gain&lt;float&gt;</div><div><br /></div></div></div></div></foreignObject><text x="636" y="375" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- drive: float...</text></switch></g></g><g><path d="M 630 434 L 950 434" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="630" y="438" width="320" height="72" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 310px; height: 1px; padding-top: 445px; margin-left: 636px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 68px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSDistortion()<div>+ ~CMLSDistortion()</div><div>+ setDive(value: float): void</div><div>+ setMix(value: float): void</div></div></div></div></foreignObject><text x="636" y="457" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSDistortion()...</text></switch></g></g><g><path d="M 0 356 L 0 330 L 580 330 L 580 356" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 0 356 L 0 520 L 580 520 L 580 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 356 L 580 356" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 578px; height: 1px; padding-top: 337px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSEqualizer</div></div></div></foreignObject><text x="290" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSEqualizer</text></switch></g></g><g><rect x="0" y="356" width="580" height="84" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 570px; height: 1px; padding-top: 363px; margin-left: 6px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 80px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- sampleRate: double<div>- lowBand: <span style="background-color: initial;">juce::dsp::ProcessorDuplicator&lt;juce::dsp::IIR::Filter&lt;float&gt;,</span></div><div><span style="background-color: initial;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span>  juce::dsp::IIR::Coefficients&lt;float&gt;&gt;</span></div><div><span style="background-color: initial;">- highBand:</span><span style="background-color: initial;"> </span><span style="background-color: initial;">juce::dsp::ProcessorDuplicator&lt;juce::dsp::IIR::Filter&lt;float&gt;,</span></div><div><span style="background-color: initial;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span>  juce::dsp::IIR::Coefficients&lt;float&gt;&gt;</span></div><div><br /></div></div></div></div></foreignObject><text x="6" y="375" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- sampleRate: double...</text></switch></g></g><g><path d="M 0 444 L 580 444" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="0" y="448" width="580" height="72" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 570px; height: 1px; padding-top: 455px; margin-left: 6px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 68px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSEqualizer()<div>+ ~CMLSEqualizer()</div><div>+ setEqLowGain(value: float): void</div><div>+ setEqHighGain(value: float): void</div></div></div></div></foreignObject><text x="6" y="467" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSEqualizer()...</text></switch></g></g><g><path d="M 950 348 L 971 348 L 970 690 L 2140 690 L 2140 330 L 2203.63 330" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2208.88 330 L 2201.88 333.5 L 2203.63 330 L 2201.88 326.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 580 348 L 601 348 L 600 700 L 2170 700 L 2170 350 L 2203.91 350.02" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2209.16 350.02 L 2202.16 353.51 L 2203.91 350.02 L 2202.16 346.51 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2245 26 L 2245 0 L 2455 0 L 2455 26" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 2245 26 L 2245 90 L 2455 90 L 2455 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 2245 26 L 2455 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 7px; margin-left: 2246px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">juce::AudioProcessor</div></div></div></foreignObject><text x="2350" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">juce::AudioProcessor</text></switch></g></g><g><rect x="2245" y="26" width="210" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 33px; margin-left: 2251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Private properties]</div></div></div></foreignObject><text x="2251" y="45" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Private properties]</text></switch></g></g><g><path d="M 2245 56 L 2455 56" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2245" y="60" width="210" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 67px; margin-left: 2251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Public methods]</div></div></div></foreignObject><text x="2251" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Public methods]</text></switch></g></g><g><path d="M 2341 240 L 2341 104.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2341 91.12 L 2347.5 104.12 L 2334.5 104.12 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2510 266 L 2510 240 L 2880 240 L 2880 266" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/><path d="M 2510 266 L 2510 390 L 2880 390 L 2880 266" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><path d="M 2510 266 L 2880 266" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 368px; height: 1px; padding-top: 247px; margin-left: 2511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">CMLSProjectAudioProcessorEditor</div></div></div></foreignObject><text x="2695" y="259" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">CMLSProjectAudioProcessorEditor</text></switch></g></g><g><path d="M 2490 285 L 2502.89 284.95" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2508.14 284.92 L 2501.16 288.45 L 2502.89 284.95 L 2501.13 281.45 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2510" y="266" width="370" height="44" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 360px; height: 1px; padding-top: 273px; margin-left: 2516px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 40px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- audioProcessor: CMLSAudioProcessor&amp;<div>- oscReceiver: OSCReceiverWrapper</div></div></div></div></foreignObject><text x="2516" y="285" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- audioProcessor: CMLSAudioProcessor&amp;...</text></switch></g></g><g><path d="M 2510 314 L 2880 314" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2510" y="318" width="370" height="72" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 360px; height: 1px; padding-top: 325px; margin-left: 2516px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 68px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">+ CMLSAudioProcessorEditor(p: CMLSProjectAudioProcessor&amp;)<div>+ ~<span style="background-color: initial;">CMLSAudioProcessorEditor()</span></div><div>+ paint(g: juce::Graphics&amp;): void</div><div>+ resized(): void</div></div></div></div></foreignObject><text x="2516" y="337" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ CMLSAudioProcessorEditor(p: CMLSProjectAudioProcessor&amp;)...</text></switch></g></g><g><path d="M 2590 26 L 2590 0 L 2800 0 L 2800 26" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 2590 26 L 2590 90 L 2800 90 L 2800 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 2590 26 L 2800 26" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 7px; margin-left: 2591px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">juce::AudioProcessorEditor</div></div></div></foreignObject><text x="2695" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">juce::AudioProcessorEditor</text></switch></g></g><g><rect x="2590" y="26" width="210" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 33px; margin-left: 2596px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Private properties]</div></div></div></foreignObject><text x="2596" y="45" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Private properties]</text></switch></g></g><g><path d="M 2590 56 L 2800 56" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2590" y="60" width="210" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 67px; margin-left: 2596px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Public methods]</div></div></div></foreignObject><text x="2596" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Public methods]</text></switch></g></g><g><path d="M 2694.47 240 L 2694.47 104.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2694.47 91.12 L 2700.97 104.12 L 2687.97 104.12 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2210 546 L 2210 520 L 2570 520 L 2570 546" fill="#e1d5e7" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/><path d="M 2210 546 L 2210 780 L 2570 780 L 2570 546" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 2210 546 L 2570 546" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 358px; height: 1px; padding-top: 527px; margin-left: 2211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">APVTSListeners</div></div></div></foreignObject><text x="2390" y="539" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">APVTSListeners</text></switch></g></g><g><rect x="2210" y="546" width="360" height="84" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 350px; height: 1px; padding-top: 553px; margin-left: 2216px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 80px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>- equalizerProcessor: CMLSEqualizer*</div><div>- distortionProcessor: CMLSDistortion*</div><div>- chorusProcessor: CMLSChorus*</div><div>- delayProcessor: CMLSDelay*</div><div>- reverbProcessor: CMLSReverb*</div></div></div></div></foreignObject><text x="2216" y="565" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- equalizerProcessor: CMLSEqualizer*...</text></switch></g></g><g><path d="M 2210 634 L 2570 634" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2210" y="638" width="360" height="142" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 350px; height: 1px; padding-top: 645px; margin-left: 2216px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 138px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>+ <span style="text-align: center; background-color: initial;">APVTSListeners()</span></div><div>+ ~<span style="background-color: initial; text-align: center;">APVTSListeners()</span><span style="text-align: center; background-color: initial;"><br /></span></div><div><span style="background-color: initial; text-align: center;">+ setEqualizerProcessor(equalizer: CMLSEqualizer*): void</span></div><div><span style="background-color: initial; text-align: center;">+ setDistortionProcessor(distortion: CMLSDistortion*): void</span></div><div><span style="background-color: initial; text-align: center;">+ setChorusProcessor(chorus: CMLSChorus*): void</span></div><div><span style="background-color: initial; text-align: center;">+ setDelayProcessor(delay: CMLSDelay*): void</span></div><div><span style="background-color: initial; text-align: center;">+ setReverbProcessor(reverb: CMLSReverb*): void</span></div><div><span style="background-color: initial; text-align: center;">+ parameterChanged(parameterID: const juce::String&amp;, newValue: float)</span></div></div></div></div></foreignObject><text x="2216" y="657" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ APVTSListeners()...</text></switch></g></g><g><path d="M 2590 546 L 2590 520 L 2950 520 L 2950 546" fill="#e1d5e7" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/><path d="M 2590 546 L 2590 810 L 2950 810 L 2950 546" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 2590 546 L 2950 546" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 358px; height: 1px; padding-top: 527px; margin-left: 2591px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">OSCReceiverWrapper</div></div></div></foreignObject><text x="2770" y="539" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">OSCReceiverWrapper</text></switch></g></g><g><rect x="2590" y="546" width="360" height="154" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 350px; height: 1px; padding-top: 553px; margin-left: 2596px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 150px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">- currentPreset: Preset<div>- x: float</div><div>- y: float</div><div>- aspectX: float</div><div>- aspectY: float</div><div>- pressure: float</div><div>- thickness: float</div><div>- apvts: juce::AudioProcessorValueTreeState*</div><div>- eqGainRange: juce::NormalisableRange&lt;float&gt;*</div><div>- distortionDriveRange: juce::NormalisableRange&lt;float&gt;*</div></div></div></div></foreignObject><text x="2596" y="565" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">- currentPreset: Preset...</text></switch></g></g><g><path d="M 2590 704 L 2950 704" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2590" y="708" width="360" height="102" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 350px; height: 1px; padding-top: 715px; margin-left: 2596px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 98px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>+ <span style="text-align: center; background-color: initial;">OscReceiverWrapper(port: int, apvts: juce::AudioProcessorValueTreeState*)</span></div><div>+ ~<span style="text-align: center;">OscReceiverWrapper</span><span style="background-color: initial; text-align: center;">()</span><span style="text-align: center; background-color: initial;"><br /></span></div><div style="">+ oscMessageReceived(message: const juce::OscMessage&amp;)</div><div style="">+ oscConnectionError()</div><div style="">+ processMessage()</div></div></div></div></foreignObject><text x="2596" y="727" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">+ OscReceiverWrapper(port: int, apvts: juce::AudioProcessor...</text></switch></g></g><g><path d="M 2230 886 L 2230 860 L 2510 860 L 2510 886" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 2230 886 L 2230 950 L 2510 950 L 2510 886" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 2230 886 L 2510 886" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 867px; margin-left: 2231px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">juce::AudioProcessorValueTreeState::Listener</div></div></div></foreignObject><text x="2370" y="879" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">juce::AudioProcessorValueTreeState::Listener</text></switch></g></g><g><rect x="2230" y="886" width="280" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 893px; margin-left: 2236px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Private properties]</div></div></div></foreignObject><text x="2236" y="905" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Private properties]</text></switch></g></g><g><path d="M 2230 916 L 2510 916" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2230" y="920" width="280" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 270px; height: 1px; padding-top: 927px; margin-left: 2236px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Public methods]</div></div></div></foreignObject><text x="2236" y="939" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Public methods]</text></switch></g></g><g><path d="M 2370 860 L 2369.54 794.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2369.45 781.12 L 2376.04 794.07 L 2363.04 794.16 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2770 520 L 2770.46 395.94" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2770.48 390.69 L 2773.95 397.7 L 2770.46 395.94 L 2766.95 397.67 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2670 916 L 2670 890 L 2880 890 L 2880 916" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 2670 916 L 2670 980 L 2880 980 L 2880 916" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 2670 916 L 2880 916" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 897px; margin-left: 2671px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">juce::OSCReceiver</div></div></div></foreignObject><text x="2775" y="909" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">juce::OSCReceiver</text></switch></g></g><g><rect x="2670" y="916" width="210" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 923px; margin-left: 2676px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Private properties]</div></div></div></foreignObject><text x="2676" y="935" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Private properties]</text></switch></g></g><g><path d="M 2670 946 L 2880 946" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g><g><rect x="2670" y="950" width="210" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 957px; margin-left: 2676px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">[Public methods]</div></div></div></foreignObject><text x="2676" y="969" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">[Public methods]</text></switch></g></g><g><path d="M 2780.56 890 L 2780.1 824.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 2780.01 811.12 L 2786.6 824.07 L 2773.6 824.16 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 2970 546 L 2970 520 L 3180 520 L 3180 546" fill="rgb(255, 255, 255)" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/><path d="M 2970 546 L 2970 678 L 3180 678 L 3180 546" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/><path d="M 2970 546 L 3180 546" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 527px; margin-left: 2971px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">&lt;&lt;Enum&gt;&gt; Preset </div></div></div></foreignObject><text x="3075" y="539" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">&lt;&lt;Enum&gt;&gt; Preset </text></switch></g></g><g><rect x="2970" y="546" width="210" height="124" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 200px; height: 1px; padding-top: 553px; margin-left: 2976px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 120px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">NONE<div>PENCIL</div><div>CRAYON</div><div>FOUNTAINPEN</div><div>PEN</div><div>MARKER</div><div>MONOLINE</div><div>WATERCOLOR</div></div></div></div></foreignObject><text x="2976" y="565" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">NONE...</text></switch></g></g><g><path d="M 2970 674 L 3180 674" fill="none" stroke="#a3a3a3" stroke-miterlimit="10" pointer-events="all"/></g></g></svg>