<effect>
  <name>ladspa TAProtspeak</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;ladspa_TAProtspeakON&gt; == 1) then
    ihandle dssiinit &quot;&lt;ladspa_TAProtspeak_ladspa&gt;&quot;, 0, 0

    dssiactivate ihandle, 1
	
    dssictls ihandle, 0, &lt;ladspa_TAProtspeak_Rotor Frequency [Hz]&gt;, 1                              ; (0 to 30)
    dssictls ihandle, 1, &lt;ladspa_TAProtspeak_Horn Frequency [Hz]&gt;, 1                               ; (0 to 30)
    dssictls ihandle, 2, &lt;ladspa_TAProtspeak_Mic Distance [%]&gt;, 1                                  ; (0 to 100)
    dssictls ihandle, 3, &lt;ladspa_TAProtspeak_Rotor/Horn Mix&gt;, 1                                    ; (0 to 1)

    aout1, aout2 dssiaudio ihandle, ain1, ain2                                  ; stereo in, stereo out
else
    aout1   =   ain1
    aout2   =   ain2
endif

</code>
  <comments>a wrapper of ladspa plugin 2149 called TAP Rotary Speaker, created by Tom Szilagyi. Copyright: The GNU General Public Licence.
plugin has stereo inputs, stereo outputs.

The dssi opcodes are wrapping the ladspa plugin so it can be used as an effect in Blue.
The PATH for the ladspa plugins on my Linux systemm is /usr/lib/ladspa. Be sure to set the right PATH if you run OSX or Windows.

DESCRIPTION:

Emulates the effect of Rotor and Horn (Leslie)


CONTROLLERS:

ON/OFF                  -       bypass
File Selector           -       set path for tap_rotspeak.so
Rotor Frequency         -       speed of rotation of the rotor
Horn Frequency          -       speed of rotation of the horn
Mic Distance [%]        -       adds some reverb or space
Rotor/Horn Mix          -       balance of Rotor and Horn sound
        
---

version 1.01, May 2020
- added comments on controllers

version 1.0, June 2019
- initial version by Menno Knevel</comments>
  <opcodeList/>
  <graphicInterface editEnabled='true'>
    <gridSettings>
      <width>5</width>
      <height>10</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.BSBGroup'>
        <objectName></objectName>
        <x>10</x>
        <y>10</y>
        <groupName>Group</groupName>
        <backgroundColor>0x666666ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>20</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>60</y>
          <label>Rotor Frequency</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa_TAProtspeak_Horn Frequency [Hz]</objectName>
          <x>10</x>
          <y>80</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>30.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>17.1</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>120</y>
          <label>Mic Distance [%]</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa_TAProtspeak_Rotor/Horn Mix</objectName>
          <x>10</x>
          <y>140</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.57</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>90</y>
          <label>Horn Frequency</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>150</y>
          <label>Rotor/Horn Mix</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa_TAProtspeak_Mic Distance [%]</objectName>
          <x>10</x>
          <y>110</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>100.0</maximum>
          <bdresolution>1</bdresolution>
          <value>89.0</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa_TAProtspeak_Rotor Frequency [Hz]</objectName>
          <x>10</x>
          <y>50</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>30.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>26.7</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
          <objectName>ladspa_TAProtspeak_ladspa</objectName>
          <x>10</x>
          <y>10</y>
          <fileName>/usr/lib/ladspa/tap_rotspeak.so</fileName>
          <textFieldWidth>280</textFieldWidth>
          <stringChannelEnabled>false</stringChannelEnabled>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>ladspa_TAProtspeakON</objectName>
        <x>0</x>
        <y>0</y>
        <automationAllowed>true</automationAllowed>
        <label/>
        <selected>true</selected>
        <randomizable>true</randomizable>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-1879271993' name='ladspa_TAProtspeak_Horn Frequency [Hz]' label='' min='0.0' max='30.0' bdresolution='0.01' automationEnabled='false' value='17.1'>
      <line name='' version='2' max='30.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='17.1'/>
      </line>
    </parameter>
    <parameter uniqueId='-1879271991' name='ladspa_TAProtspeak_Rotor Frequency [Hz]' label='' min='0.0' max='30.0' bdresolution='0.01' automationEnabled='false' value='26.7'>
      <line name='' version='2' max='30.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='26.7'/>
      </line>
    </parameter>
    <parameter uniqueId='-1879271989' name='ladspa_TAProtspeak_Rotor/Horn Mix' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.57'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.57'/>
      </line>
    </parameter>
    <parameter uniqueId='-1879271987' name='ladspa_TAProtspeak_Mic Distance [%]' label='' min='0.0' max='100.0' bdresolution='1' automationEnabled='false' value='89.0'>
      <line name='' version='2' max='100.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='89.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-1879271985' name='ladspa_TAProtspeakON' 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>