<effect>
  <name>Chorus v1.0</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>isin		ftgentmp	0, 0, 65537, 10, 1

ilevl		=		.3		; Output level
;idpth		=		0.002		; Depth in ms
idpth		=		&lt;depth&gt;		; Depth in ms
;idelay		=		0.01		; Delay in ms
;idelay		=		&lt;delay&gt;		; Delay in ms
;imax		=		0.25		; Maximum LFO rate
;imin		=		0.5		; Minimum LFO rate
imax		=		&lt;maxLfo&gt;	; Maximum LFO rate
imin		=		&lt;minLfo&gt;	; Minimum LFO rate
idelay		=		idpth * 2 + .1;imax;(idpth *2) + .01
iwave		=		isin		; LFO waveform

idiff		=		imax-imin
kwet		=		&lt;wetDry&gt;

ain             =               ain1 + ain2 * .5

ain             =               ain * ilevl
i01             =               rnd(idiff)
i02             =               rnd(idiff)
i03             =               rnd(idiff)
i04             =               rnd(idiff)
i05             =               rnd(idiff)
i06             =               rnd(idiff)
i07             =               rnd(idiff)
i08             =               rnd(idiff)
i09             =               rnd(idiff)
i10             =               rnd(idiff)
i11             =               rnd(idiff)
i12             =               rnd(idiff)
alfo01          oscil           idpth, i01 + imin, iwave
alfo02          oscil           idpth, i02 + imin, iwave, .08
alfo03          oscil           idpth, i03 + imin, iwave, .17
alfo04          oscil           idpth, i04 + imin, iwave, .25
alfo05          oscil           idpth, i05 + imin, iwave, .33
alfo06          oscil           idpth, i06 + imin, iwave, .42
alfo07          oscil           idpth, i07 + imin, iwave, .50
alfo08          oscil           idpth, i08 + imin, iwave, .58
alfo09          oscil           idpth, i09 + imin, iwave, .67
alfo10          oscil           idpth, i10 + imin, iwave, .75
alfo11          oscil           idpth, i11 + imin, iwave, .83
alfo12          oscil           idpth, i12 + imin, iwave, .92
atemp           delayr          idelay * 2; + idpth +.1
;atemp           delayr          idelay + idpth + .001
a01             deltapi         idelay + alfo01
a02             deltapi         idelay + alfo02
a03             deltapi         idelay + alfo03
a04             deltapi         idelay + alfo04
a05             deltapi         idelay + alfo05
a06             deltapi         idelay + alfo06
a07             deltapi         idelay + alfo07
a08             deltapi         idelay + alfo08
a09             deltapi         idelay + alfo09
a10             deltapi         idelay + alfo10
a11             deltapi         idelay + alfo11
a12             deltapi         idelay + alfo12
                delayw          ain
achorusl        sum		a01, a02, a03, a04, a05, a06
achorusr        sum             a07, a08, a09, a10, a11, a12

aout1		=		ain1 * (1-kwet) + achorusl * kwet
aout2		=		ain2 * (1-kwet) + achorusr * kwet
</code>
  <comments>Author(s):
* Based on code by Perry Cook
* Additional lines + stereo capability by Atte AndrÃ© Jensen
* Originally adapted to BSB by Steve Yi from code posted
   by Atte Andre Jensen to the Csound Mailing List on May 1,
   2006
* Depth, min/max frequency widgets added by Atte AndrÃ©
   Jensen

The chorus consists of 2x6 delay lines, with random LFO
frequency between min/max lfo frequency.

Note: The input is mixed to a mono signal before fed into
the chorus. This means that although the output is stereo,
any stereo information (such as panning) in the input signal
is lost in the chorused signal.</comments>
  <opcodeList/>
  <graphicInterface editEnabled='false'>
    <uniqueNameManager nameIndex='-1' defaultPrefix='bsbObj'/>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>117</x>
      <y>5</y>
      <label>&lt;html&gt;&lt;font size=&quot;6&quot;&gt;&lt;b&gt;Chorus&lt;/b&gt;&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>131</x>
      <y>53</y>
      <label>Wet/Dry Mix</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider'>
      <objectName>wetDry</objectName>
      <x>20</x>
      <y>67</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <resolution>0.01</resolution>
      <value>0.51</value>
      <sliderWidth>280</sliderWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>271</x>
      <y>89</y>
      <label>Wet</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>27</x>
      <y>89</y>
      <label>Dry</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>depth</objectName>
      <x>38</x>
      <y>145</y>
      <automationAllowed>false</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>0.07</maximum>
      <value>0.020699998</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>52</x>
      <y>221</y>
      <label>Depth</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>185</x>
      <y>221</y>
      <label>Min</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>245</x>
      <y>221</y>
      <label>Max</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>minLfo</objectName>
      <x>163</x>
      <y>145</y>
      <automationAllowed>false</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>0.2</maximum>
      <value>0.0063821496</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>maxLfo</objectName>
      <x>226</x>
      <y>145</y>
      <automationAllowed>false</automationAllowed>
      <minimum>0.01</minimum>
      <maximum>0.3</maximum>
      <value>0.15674703</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>181</x>
      <y>128</y>
      <label>LFO Frequency</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>148</x>
      <y>32</y>
      <label>v 1.0</label>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='-40437064' name='wetDry' label='' min='0.0' max='1.0' resolution='0.01' automationEnabled='false'>
      <line name='' version='2' max='1.0' min='0.0' resolution='0.01' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='0.51'/>
      </line>
    </parameter>
  </bsbParameterList>
</effect>