<effect>
  <name>Doubler</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;DoubleON&gt; == 1) then

    abuff   delayr  1                                                           ; reserve 1 second
    krand   rspline &lt;minTime&gt;, &lt;maxTime&gt;, &lt;minCPS&gt;, &lt;maxCPS&gt;
    adel    deltap3 krand
            delayw  (ain1+ain2)*.5                                              ; make mono
    aout1, aout2    pan2    adel, &lt;pan&gt;
    aout1   ntrpol  ain1, aout1, &lt;amount&gt;
    aout2   ntrpol  ain2, aout2, &lt;amount&gt;

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

Doubles the incoming signal, with random option

Flanging sounds are possible. It &apos;thickens&apos; the incoming signal and can add some randomness in timing of the doubled signal. This creates some livelyness.
Panning of the doubled signal can be set, so it can be used as a virtual stereo effect as well. 

---

version 1, August 2021
- initial version
</comments>
  <opcodeList/>
  <graphicInterface editEnabled='false'>
    <gridSettings>
      <width>5</width>
      <height>5</height>
      <gridStyle>LINE</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.BSBGroup'>
        <objectName></objectName>
        <x>10</x>
        <y>10</y>
        <groupName>Group</groupName>
        <backgroundColor>0x4d8080ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>20</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>10</x>
          <y>10</y>
          <groupName>random timings</groupName>
          <backgroundColor>0x00000033</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>maxCPS</objectName>
            <x>155</x>
            <y>10</y>
            <comment>maximum frequency boundary</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>0.54</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>max</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>20</x>
            <y>78</y>
            <label>delaytime</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>120</x>
            <y>78</y>
            <label>frequency</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>minTime</objectName>
            <x>10</x>
            <y>10</y>
            <comment>minimum delay time</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.005</minimum>
            <maximum>0.04</maximum>
            <value>0.007449999999999998</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>min</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>minCPS</objectName>
            <x>110</x>
            <y>10</y>
            <comment>minimum frequency</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>0.24</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>min</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>maxTime</objectName>
            <x>55</x>
            <y>10</y>
            <comment>maximum delay time</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.005</minimum>
            <maximum>0.08</maximum>
            <value>0.0575</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>max</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>165</x>
          <y>135</y>
          <label>panning</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>amount</objectName>
          <x>225</x>
          <y>30</y>
          <comment>mix effect and direct</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.1</bdresolution>
          <value>0.5</value>
          <sliderHeight>120</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>pan</objectName>
          <x>10</x>
          <y>130</y>
          <comment>positions the doubled signal</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.1</bdresolution>
          <value>0.3</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>15</y>
          <label>amount</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>DoubleON</objectName>
        <x>0</x>
        <y>0</y>
        <comment>bypass</comment>
        <automationAllowed>true</automationAllowed>
        <label/>
        <selected>true</selected>
        <randomizable>true</randomizable>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-104104159' name='DoubleON' 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='1827245130' name='minTime' label='' min='0.005' max='0.04' bdresolution='-1' automationEnabled='false' value='0.007449999999999998'>
      <line name='' version='2' max='0.04' min='0.005' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.007449999999999998'/>
      </line>
    </parameter>
    <parameter uniqueId='1827245132' name='minCPS' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.24'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.24'/>
      </line>
    </parameter>
    <parameter uniqueId='1827245134' name='maxTime' label='' min='0.005' max='0.08' bdresolution='-1' automationEnabled='false' value='0.0575'>
      <line name='' version='2' max='0.08' min='0.005' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0575'/>
      </line>
    </parameter>
    <parameter uniqueId='1827245136' name='maxCPS' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.54'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.54'/>
      </line>
    </parameter>
    <parameter uniqueId='1827245140' name='pan' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='0.3'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.3'/>
      </line>
    </parameter>
    <parameter uniqueId='1827245142' name='amount' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='0.5'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5'/>
      </line>
    </parameter>
  </parameterList>
</effect>