<effect>
  <name>Pulsator</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;PulsatorON&gt; == 1) then
    aoutl waveset ain1, &lt;Pulsator_left repetitions&gt;
    aoutr waveset ain2, &lt;Pulsator_right repetitions&gt;
    aout11, aout12   pan2    aoutl, &lt;Pulsator_panning L&gt;
    aout21, aout22   pan2    aoutr, &lt;Pulsator_panning R&gt;
    aout1   sum aout11, aout21
    aout2   sum aout21, aout22
    aout1 = (ain1 * &lt;Pulsator_wetdry&gt;) + (aout1 * (1 - &lt;Pulsator_wetdry&gt;))
    aout2 = (ain2 * &lt;Pulsator_wetdry&gt;) + (aout2 * (1 - &lt;Pulsator_wetdry&gt;))
else
    aout1   =   ain1
    aout2   =   ain2
endif</code>
  <comments>
DESCRIPTION:

Pulsator, based upon the wavset opcode, takes in the sound and transforms it into repetative cycles or &quot;pulses&quot;.


CONTROLLERS:

ON/OFF          -       bypass
repetitions L/R -       the number of times the cycle is repeated for Left and Right channel
panning L/R     -       panning for Left and Right channel
wet/dry         -       mix direct signal with effect

---
version 1.02, June 2020
- small code correction

version 1.01, May 2020
- added comments on controllers

version 1.0, June 2019
- initial version by Menno Knevel</comments>
  <opcodeList/>
  <graphicInterface editEnabled='false'>
    <gridSettings>
      <width>10</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>PulsatorON</objectName>
        <x>0</x>
        <y>0</y>
        <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>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.BSBHSlider' version='2'>
          <objectName>Pulsator_left repetitions</objectName>
          <x>10</x>
          <y>18</y>
          <automationAllowed>true</automationAllowed>
          <minimum>1.0</minimum>
          <maximum>20.0</maximum>
          <bdresolution>1</bdresolution>
          <value>12.0</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>20</y>
          <label>L</label>
          <font>
            <name>System Bold</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>60</y>
          <label>R</label>
          <font>
            <name>System Bold</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>Pulsator_panning L</objectName>
          <x>220</x>
          <y>10</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>0.0</value>
          <knobWidth>25</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
          <label>panning L</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>Pulsator_wetdry</objectName>
          <x>300</x>
          <y>20</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>0.5700000000000001</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
          <label>wet/dry</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>Pulsator_right repetitions</objectName>
          <x>10</x>
          <y>60</y>
          <automationAllowed>true</automationAllowed>
          <minimum>1.0</minimum>
          <maximum>20.0</maximum>
          <bdresolution>1</bdresolution>
          <value>6.0</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>Pulsator_panning R</objectName>
          <x>220</x>
          <y>50</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>1.0</value>
          <knobWidth>25</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
          <label>panning R</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>50</x>
          <y>45</y>
          <label>repetitions</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='582955449' name='Pulsator_right repetitions' label='' min='1.0' max='20.0' bdresolution='1' automationEnabled='false' value='6.0'>
      <line name='' version='2' max='20.0' min='1.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='6.0'/>
      </line>
    </parameter>
    <parameter uniqueId='582955451' name='Pulsator_panning R' 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='582955453' name='Pulsator_panning L' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='582955455' name='Pulsator_left repetitions' label='' min='1.0' max='20.0' bdresolution='1' automationEnabled='false' value='12.0'>
      <line name='' version='2' max='20.0' min='1.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='12.0'/>
      </line>
    </parameter>
    <parameter uniqueId='582955457' name='Pulsator_wetdry' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.5700000000000001'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5700000000000001'/>
      </line>
    </parameter>
    <parameter uniqueId='582955459' name='PulsatorON' 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>
  </parameterList>
</effect>