<effect>
  <name>Chopper</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>
kgoto perform
iDcsize	= 256
iDcAtk  = &lt;Attack&gt;

iTable	ftgentmp	0,0,iDcsize,-7,0
iDeclick ftgentmp	0,0,iDcsize,7,0, iDcAtk,1, iDcsize -  2*iDcAtk,1, iDcAtk, 0
iGate = &lt;Pattern1&gt; * 16 + &lt;Pattern2&gt;
iMask = 128
iIdx = 0
iFill = iDcsize / 8

loop:
	iVal = iGate &amp; iMask
	iVal = (iVal &gt; 0) ? 1 : &lt;Smooth&gt;
	iIdx fillTableI iTable, iIdx, 32, iVal
	iMask = iMask / 2
if iIdx &lt; iDcsize igoto loop

perform:
kTempo miditempo
kTempo = 60 / kTempo * &lt;Time&gt; * 4
kDc = kTempo/8
kp phasor 1/kTempo
kc phasor 1/kDc

kAmp table kp,iTable,1
kenv table kc,iDeclick,1

aout1 = ain1 * kAmp * kenv
aout2 = ain2 * kAmp * kenv</code>
  <comments>uses the following opcode:


	opcode fillTableI,i,iiii

iTable, iStart, iTimes, iVal xin

loop:
tableiw iVal, iStart, iTable
iStart = iStart + 1
loop_gt iTimes, 1, 0, loop

xout iStart


	endop</comments>
  <opcodeList>
    <udo>
      <opcodeName>fillTableI</opcodeName>
      <outTypes>i</outTypes>
      <inTypes>iiii</inTypes>
      <codeBody>iTable, iStart, iTimes, iVal xin

loop:
tableiw iVal, iStart, iTable
iStart = iStart + 1
loop_gt iTimes, 1, 0, loop

xout iStart
</codeBody>
    </udo>
  </opcodeList>
  <graphicInterface editEnabled='false'>
    <uniqueNameManager nameIndex='1' defaultPrefix='bsbObj'/>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>Pattern1</objectName>
      <x>112</x>
      <y>101</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>0000</name>
          <value>0</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0001</name>
          <value>1</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0010</name>
          <value>2</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0011</name>
          <value>3</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0100</name>
          <value>4</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0101</name>
          <value>5</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0110</name>
          <value>6</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0111</name>
          <value>7</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1000</name>
          <value>8</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1001</name>
          <value>9</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1010</name>
          <value>10</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1011</name>
          <value>11</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1100</name>
          <value>12</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1101</name>
          <value>13</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1110</name>
          <value>14</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1111</name>
          <value>15</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>5</selectedIndex>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider'>
      <objectName>Time</objectName>
      <x>30</x>
      <y>77</y>
      <minimum>0.0</minimum>
      <maximum>4.0</maximum>
      <resolution>0.25</resolution>
      <value>0.5</value>
      <sliderHeight>150</sliderHeight>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>Smooth</objectName>
      <x>107</x>
      <y>181</y>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5042247</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>113</x>
      <y>267</y>
      <label>Minimum</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>Attack</objectName>
      <x>186</x>
      <y>183</y>
      <minimum>5.0</minimum>
      <maximum>64.0</maximum>
      <value>26.92003</value>
      <knobWidth>60</knobWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>196</x>
      <y>268</y>
      <label>Declick</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>115</x>
      <y>68</y>
      <label>Pattern1</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>187</x>
      <y>68</y>
      <label>Pattern2</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>132</x>
      <y>19</y>
      <label>&lt;html&gt;&lt;font size=&quot;+1&quot;&gt;Chopper&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>37</x>
      <y>267</y>
      <label>Nr Bars</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>Pattern2</objectName>
      <x>181</x>
      <y>101</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>0000</name>
          <value>0</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0001</name>
          <value>1</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0010</name>
          <value>2</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0011</name>
          <value>3</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0100</name>
          <value>4</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0101</name>
          <value>5</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0110</name>
          <value>6</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>0111</name>
          <value>7</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1000</name>
          <value>8</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1001</name>
          <value>9</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1010</name>
          <value>10</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1011</name>
          <value>11</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1100</name>
          <value>12</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1101</name>
          <value>13</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1110</name>
          <value>14</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1111</name>
          <value>15</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>5</selectedIndex>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='-1004062788' name='Attack' label='' min='5.0' max='64.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='64.0' min='5.0' resolution='-1.0' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='26.92003'/>
      </line>
    </parameter>
    <parameter uniqueId='-1004062790' name='Smooth' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='0.5042247'/>
      </line>
    </parameter>
    <parameter uniqueId='-1004062792' name='Time' label='' min='0.0' max='4.0' resolution='0.25' automationEnabled='false'>
      <line name='' version='2' max='4.0' min='0.0' resolution='0.25' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='0.5'/>
      </line>
    </parameter>
  </bsbParameterList>
</effect>