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

    kjitter jitter  &lt;ZDF_jitter depth&gt;, &lt;ZDF_jitter min&gt;, &lt;ZDF_jitter max&gt;
    kQ = &lt;ZDF_resonance&gt;	
    klog logcurve kQ, 1.8
printk2 klog
    al, abpL, ahpL  zdf_2pole_mode  ain1, &lt;ZDF_frequency cutoff&gt; + &lt;ZDF_frequency cutoff&gt; * kjitter, kQ  ; don&apos;t use lowpass filter here
    ar, abpR, ahpR  zdf_2pole_mode  ain2, &lt;ZDF_frequency cutoff&gt; + &lt;ZDF_frequency cutoff&gt; * kjitter, kQ  ; use only for bandpass and highpass (12 dB)
    alpL            zdf_ladder      ain1, &lt;ZDF_frequency cutoff&gt; + &lt;ZDF_frequency cutoff&gt; * kjitter, kQ  ; but use this lowpass (24 dB)
    alpR            zdf_ladder      ain2, &lt;ZDF_frequency cutoff&gt; + &lt;ZDF_frequency cutoff&gt; * kjitter, kQ

    alpL    *=  &lt;ZDF_lowpass gain&gt;                                           ; filters gain Left
    ahpL    *=  &lt;ZDF_highpass gain&gt;
    abpL    *=  &lt;ZDF_bandpass gain&gt;
    alpR    *=  &lt;ZDF_lowpass gain&gt;                                           ; filters gain Right
    ahpR    *=  &lt;ZDF_highpass gain&gt;
    abpR    *=  &lt;ZDF_bandpass gain&gt;

    aout1   =   ((ahpL + alpL + abpL) * klog) *.5                                           ; mix all filter gains
    aout2   =   ((ahpR + alpR + abpR) * klog) *.5

else
    aout1   =   ain1
    aout2   =   ain2
endif</code>
  <comments>
DESCRIPTION:

uses the zdf filter opcodes, for lowpass, highpass and bandpass.
Additional jitter is provided


CONTROLLERS:

see the help balloon when hovering over the controllers in the instrument. Help can be turned off by pressing the &apos;I&apos; button next to the play bar.


---

version 1.00, October 2020
- initial version
</comments>
  <opcodeList/>
  <graphicInterface editEnabled='true'>
    <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>ZDF</groupName>
        <backgroundColor>0x4d8080ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>170</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>ZDF_frequency cutoff</objectName>
          <x>106</x>
          <y>20</y>
          <comment>cutoff frequency of filters</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>20.0</minimum>
          <maximum>20000.0</maximum>
          <value>12807.200000000006</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
          <label>cutoff</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>ZDF_lowpass gain</objectName>
          <x>10</x>
          <y>32</y>
          <comment>gain of lowpass filter</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.1</bdresolution>
          <value>1.0</value>
          <sliderHeight>78</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>ZDF_resonance</objectName>
          <x>150</x>
          <y>20</y>
          <comment>gain of feedback of filters</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.5</minimum>
          <maximum>25.0</maximum>
          <value>10.055000000000003</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
          <label>resonance</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>ZDF_bandpass gain</objectName>
          <x>64</x>
          <y>32</y>
          <comment>gain of bandpass filter</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>0.5</maximum>
          <bdresolution>0.1</bdresolution>
          <value>0.0</value>
          <sliderHeight>78</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>ZDF_highpass gain</objectName>
          <x>37</x>
          <y>32</y>
          <comment>gain of highpass filter</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.1</bdresolution>
          <value>0.0</value>
          <sliderHeight>78</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>220</x>
          <y>10</y>
          <groupName>Jitter</groupName>
          <backgroundColor>0x00000033</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>ZDF_jitter depth</objectName>
            <x>10</x>
            <y>10</y>
            <comment>depth of jitter</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>0.0</value>
            <knobWidth>35</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>jitter</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>ZDF_jitter max</objectName>
            <x>90</x>
            <y>10</y>
            <comment>maximum limit of jitter frequency</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>100.0</maximum>
            <value>100.0</value>
            <knobWidth>35</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>max</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>ZDF_jitter min</objectName>
            <x>50</x>
            <y>10</y>
            <comment>minimum limit of jitter frequency</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>100.0</maximum>
            <value>69.0</value>
            <knobWidth>35</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>min</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>35</x>
          <y>20</y>
          <label>high</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>65</x>
          <y>20</y>
          <label>band</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>20</y>
          <label>low</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>ZDFON</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='1682700981' name='ZDF_frequency cutoff' label='' min='20.0' max='20000.0' bdresolution='-1' automationEnabled='false' value='12807.200000000006'>
      <line name='' version='2' max='20000.0' min='20.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='12807.200000000006'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700983' name='ZDF_lowpass gain' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700985' name='ZDF_resonance' label='' min='0.5' max='25.0' bdresolution='-1' automationEnabled='false' value='10.055000000000003'>
      <line name='' version='2' max='25.0' min='0.5' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='10.055000000000003'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700987' name='ZDF_bandpass gain' label='' min='0.0' max='0.5' bdresolution='0.1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='0.5' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700989' name='ZDF_highpass gain' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700991' name='ZDF_jitter depth' 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='1682700993' name='ZDF_jitter max' label='' min='0.0' max='100.0' bdresolution='-1' automationEnabled='false' value='100.0'>
      <line name='' version='2' max='100.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='100.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700995' name='ZDF_jitter min' label='' min='0.0' max='100.0' bdresolution='-1' automationEnabled='false' value='69.0'>
      <line name='' version='2' max='100.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='69.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1682700997' name='ZDFON' 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>