<effect>
  <name>3rdDimension</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;3rdDimensionON&gt; == 1) then
        aSource=    (ain1 + ain2)*.5

	; Set up the dry and wet signal levels
	kWet = &lt;3rdDimension_wet&gt;
	kDry = &lt;3rdDimension_dry&gt;

	; The triangular table for the LFO shape
	iTri = ftgenonce(0, 0, 32768, 7, 0, 16384, 1, 16384, 0)

	; Calculate depth and rate of the LFOs from amount
	kDepth = &lt;3rdDimension_depth&gt;
	kRate = &lt;3rdDimension_rate&gt;

	; Create the LFOs (at a-rate, because flanger varies delay at a-rate)
	aLFO1 = poscil(kDepth, kRate, iTri)
	aLFO2 = kDepth - aLFO1

	; Create the two chorused versions
	aChorus1 = flanger(aSource, aLFO1+.01, 0, .6)
	aChorus2 = flanger(aSource, aLFO2+.01, 0, .6)
	
	; Create the left and right outputs and output them
	aout1 = (aSource)*kDry + butterhp((aChorus1 - aChorus2)*kWet, 300)
	aout2 = (aSource)*kDry + butterhp((aChorus2 - aChorus1)*kWet, 300)

else
    aout1   =   ain1
    aout2   =   ain2
endif</code>
  <comments>
DESCRIPTION:

A mono to stereo chorus inspired by the Dimension C Chorus.
This is a simple chorus, which is known for its lack of abrasive pitch alteration.


CONTROLLERS:

depth &amp; rate        -       The intensity of the effect, both rate and depth
wet                 -       The wet gain
dry                 -       The dry gain

---

version 1.0, September 2020
- new GUI and small code adaptations by Menno Knevel
- added BSB information comments
- original UDO by Author: Jeanette C., 2020
</comments>
  <opcodeList/>
  <graphicInterface editEnabled='true'>
    <gridSettings>
      <width>5</width>
      <height>5</height>
      <gridStyle>DOT</gridStyle>
      <snapGridEnabled>true</snapGridEnabled>
    </gridSettings>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
      <objectName></objectName>
      <x>0</x>
      <y>0</y>
      <groupName>Group</groupName>
      <backgroundColor>0x00000033</backgroundColor>
      <borderColor>0x000000ff</borderColor>
      <labelTextColor>0xffffffff</labelTextColor>
      <titleEnabled>true</titleEnabled>
      <width>20</width>
      <height>20</height>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>3rdDimensionON</objectName>
        <x>0</x>
        <y>0</y>
        <comment>bypass</comment>
        <automationAllowed>true</automationAllowed>
        <label/>
        <selected>true</selected>
        <randomizable>true</randomizable>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
        <objectName></objectName>
        <x>10</x>
        <y>10</y>
        <groupName>ReverbSC</groupName>
        <backgroundColor>0x4d8080ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>159</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>130</x>
          <y>10</y>
          <label>dry</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>3rdDimension_wet</objectName>
          <x>100</x>
          <y>20</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.5</value>
          <sliderHeight>50</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>3rdDimension_rate</objectName>
          <x>55</x>
          <y>10</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>3.0</maximum>
          <value>0.8999999999999999</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
          <label>rate</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>105</x>
          <y>10</y>
          <label>wet</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>3rdDimension_depth</objectName>
          <x>10</x>
          <y>10</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.001</minimum>
          <maximum>0.012</maximum>
          <value>0.00408</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
          <label>depth</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>3rdDimension_dry</objectName>
          <x>125</x>
          <y>20</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.52</value>
          <sliderHeight>50</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-893770515' name='3rdDimensionON' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-893770513' name='3rdDimension_wet' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.5'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5'/>
      </line>
    </parameter>
    <parameter uniqueId='-893770511' name='3rdDimension_rate' label='' min='0.0' max='3.0' bdresolution='-1' automationEnabled='false' value='0.8999999999999999'>
      <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.8999999999999999'/>
      </line>
    </parameter>
    <parameter uniqueId='-893770509' name='3rdDimension_depth' label='' min='0.001' max='0.012' bdresolution='-1' automationEnabled='false' value='0.00408'>
      <line name='' version='2' max='0.012' min='0.001' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.00408'/>
      </line>
    </parameter>
    <parameter uniqueId='-893770507' name='3rdDimension_dry' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.52'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.52'/>
      </line>
    </parameter>
  </parameterList>
</effect>