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

    dssiactivate ihandle, 1
	
    dssictls ihandle, 0, &lt;ladspa WASPnoisifier_Noise Type&gt;, 1                                        ; (1 to 2)
    dssictls ihandle, 1, &lt;ladspa WASPnoisifier_Noise Density&gt;, 1                                     ; (0 to 1)
    dssictls ihandle, 2, &lt;ladspa WASPnoisifier_Balance&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 2544 called NoisifierS, created by Artemiy I. Pavlov. Copyright: &quot;(c)2005 SineShine&quot;
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:

This effect produces amplitude modulation to the input signal using a variable noise source (which works exactly like the Variable Noise generator in this plugin set). 
Very useful for creating various noisy/shadow sounds.


CONTROLLERS:

ON/OFF          -       bypass
Noise Type      -       1 = hold, 2 = shot
Noise density   -       1 = zero (white noise), 0 = very stepped (digital or rarefied shot noise)
Balance         -       mix direct signal with effect
   
---

version 1.02, July 2020
- added BSB information comments

version 1.01, May 2020
- added comments on controllers
- improved Noise Type handling

version 1.0, June 2019
- initial version by Menno Knevel</comments>
  <opcodeList/>
  <graphicInterface editEnabled='false'>
    <gridSettings>
      <width>5</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>ladspa WASPnoisifierON</objectName>
        <x>0</x>
        <y>0</y>
        <comment>bypass</comment>
        <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>0x666666ff</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>ladspa WASPnoisifier_Balance</objectName>
          <x>10</x>
          <y>110</y>
          <comment>mix direct signal with effect</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.4</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>Balance</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
          <objectName>ladspa WASPnoisifier_ladspa</objectName>
          <x>10</x>
          <y>10</y>
          <comment>set path to wasp-noisifier.so</comment>
          <fileName>/usr/lib/ladspa/wasp-noisifier.so</fileName>
          <textFieldWidth>260</textFieldWidth>
          <stringChannelEnabled>false</stringChannelEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>90</y>
          <label>Noise Density</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa WASPnoisifier_Noise Type</objectName>
          <x>10</x>
          <y>50</y>
          <comment>1 = hold, 2 = shot</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>1.0</minimum>
          <maximum>2.0</maximum>
          <bdresolution>1</bdresolution>
          <value>1.0</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa WASPnoisifier_Noise Density</objectName>
          <x>10</x>
          <y>80</y>
          <comment>1 = zero (white noise), 0 = very stepped (digital or rarefied shot noise)</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.0</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>60</y>
          <label>Noise Type</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-2056868922' name='ladspa WASPnoisifierON' 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='-2056868920' name='ladspa WASPnoisifier_Balance' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.4'>
      <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.4'/>
      </line>
    </parameter>
    <parameter uniqueId='-2056868918' name='ladspa WASPnoisifier_Noise Type' label='' min='1.0' max='2.0' bdresolution='1' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='2.0' min='1.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-2056868916' name='ladspa WASPnoisifier_Noise Density' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.0'>
      <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.0'/>
      </line>
    </parameter>
  </parameterList>
</effect>