<effect>
  <name>Tempo-Sync Stereo Delay</name>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>ibpm = &lt;bpm&gt;
inl = &lt;notelength&gt;

ifb = &lt;feedback&gt;
idel = ( 1/(ibpm/60) * inl )

aleft delayr idel
aright delayr idel

if ( &lt;pingpong&gt; == 0 ) then
	ado1 = aleft + ain1
	ado2 = aright + ain2
else
	ado1 = aright + ( .5 * (ain1 + ain2) )
	ado2 = aleft
endif

delayw ado1 * ifb
delayw ado2 * ifb

if ( &lt;swap&gt; == 1 ) then
	aout1 = aright
	aout2 = aleft
else
	aout1 = aleft
	aout2 = aright
endif

aout1 = ( aout1 * ( 1 - &lt;bal&gt; )  ) * 2
aout2 = ( aout2 * &lt;bal&gt; ) * 2

aout1 = (ain1 * &lt;wetdry&gt;) + (aout1 * (1 - &lt;wetdry&gt;))
aout2 = (ain2 * &lt;wetdry&gt;) + (aout2 * (1 - &lt;wetdry&gt;))</code>
  <comments></comments>
  <graphicInterface>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob'>
      <objectName>bpm</objectName>
      <x>9</x>
      <y>24</y>
      <minimum>1.0</minimum>
      <maximum>1000.0</maximum>
      <value>0.12912913</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>28</x>
      <y>6</y>
      <label>BPM</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob'>
      <objectName>notelength</objectName>
      <x>77</x>
      <y>24</y>
      <minimum>0.0</minimum>
      <maximum>4.0</maximum>
      <value>0.1875</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob'>
      <objectName>wetdry</objectName>
      <x>275</x>
      <y>24</y>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>278</x>
      <y>5</y>
      <label>Wet / Dry</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>72</x>
      <y>5</y>
      <label>Note Length</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob'>
      <objectName>feedback</objectName>
      <x>144</x>
      <y>24</y>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>148</x>
      <y>5</y>
      <label>Feedback</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
      <objectName>pingpong</objectName>
      <x>121</x>
      <y>100</y>
      <label>Ping-Pong mode</label>
      <selected>false</selected>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
      <objectName>swap</objectName>
      <x>121</x>
      <y>122</y>
      <label>Swap Outputs</label>
      <selected>false</selected>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob'>
      <objectName>bal</objectName>
      <x>210</x>
      <y>24</y>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>216</x>
      <y>5</y>
      <label>Balance</label>
    </bsbObject>
  </graphicInterface>
</effect>