<effect>
  <name>BasicLimit</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;BasicLimiterON&gt; == 1) then

    aout1   limit   ain1, &lt;BasicLimiter_low&gt;, &lt;BasicLimiter_high&gt;
    aout2   limit   ain2, &lt;BasicLimiter_low&gt;, &lt;BasicLimiter_high&gt;

else

    aout1    =   ain1
    aout2    =   ain2

endif</code>
  <comments>
DESCRIPTION:

The BasicLimit uses the &apos;limit&apos; opcode- a quick and easy way to prevent signals from becoming too huge and destroy ears and/or speakers.
Some distortion is produced when signals are huge and the effect is processing them, and if not wanted, try a different setting by moving the Mixer fader to a lower setting, 
or adjust the + and - of the incoming signal in BasicLimit. 


CONTROLLERS:

ON/OFF          -       bypass
+ signal        -       limits the positive portion of the incoming signal 0 - 1
- signal        -       limits the negative portion of the incoming signal -1 - 0

---

version 1.02, July 2020
- added BSB information comments

version 1.01, May 2020
- added comments on controllers

version 1, April 2020
- 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.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.BSBLabel' version='2'>
          <objectName></objectName>
          <x>15</x>
          <y>245</y>
          <label>- signal</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>BasicLimiter_high</objectName>
          <x>10</x>
          <y>25</y>
          <comment>limits the positive portion of the incoming signal 0 - 1</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.05</bdresolution>
          <value>1.0</value>
          <sliderHeight>80</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>10</y>
          <label>+ signal</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>BasicLimiter_low</objectName>
          <x>10</x>
          <y>135</y>
          <comment>limits the negative portion of the incoming signal -1 - 0</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>-1.0</minimum>
          <maximum>0.0</maximum>
          <bdresolution>0.05</bdresolution>
          <value>-1.0</value>
          <sliderHeight>80</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>BasicLimiterON</objectName>
        <x>0</x>
        <y>0</y>
        <comment>bypass</comment>
        <automationAllowed>true</automationAllowed>
        <label/>
        <selected>true</selected>
        <randomizable>true</randomizable>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-885255282' name='BasicLimiter_low' label='' min='-1.0' max='0.0' bdresolution='0.05' automationEnabled='false' value='-1.0'>
      <line name='' version='2' max='0.0' min='-1.0' bdresolution='0.05' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='-1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-885255280' name='BasicLimiter_high' label='' min='0.0' max='1.0' bdresolution='0.05' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.05' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-885255278' name='BasicLimiterON' 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>