<effect>
  <name>RingXtended</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;RingXtendedON&gt; == 1) then
    isine	ftgentmp 0, 0, 16384, 10, 1                                     ; presets
    isaw	ftgentmp 0, 0, 16384, 10, 1, 0.5, 0.3, 0.25, 0.2, 0.167, 0.14, 0.125, .111
    isquare	ftgentmp 0, 0, 16384, 10, 1, 0, 0.3, 0, 0.2, 0, 0.14, 0, .111
    ipulse	ftgentmp 0, 0, 16384, 10, 1, 1, 1, 1, 0.7, 0.5, 0.3, 0.1

    kcarcoarse  = &lt;RingXtended_frequency carrier coarsetuning&gt; * 1000                       ;coarse tuning of freq
    kcarrier    =   &lt;RingXtended_frequency carrier finetuning&gt; + kcarcoarse                 ;add coarse and fine tuning together

    if (&lt;RingXtended_waveform&gt; == 0) then                                                   ;provide sinoid for modulation
        acarrierL    poscil .5, kcarrier, isine, 0
        acarrierR    poscil .5, kcarrier, isine, i(&lt;RingXtended_waveform phase&gt;)
    elseif (&lt;RingXtended_waveform&gt; == 1) then
        acarrierL    poscil .5, kcarrier, isaw, 0 
        acarrierR    poscil .5, kcarrier, isaw, i(&lt;RingXtended_waveform phase&gt;)                                         
    elseif (&lt;RingXtended_waveform&gt; == 2) then
        acarrierL    poscil .5, kcarrier, isquare, 0
        acarrierR    poscil .5, kcarrier, isquare, i(&lt;RingXtended_waveform phase&gt;)
    elseif (&lt;RingXtended_waveform&gt; == 3) then
        acarrierL    poscil .5, kcarrier, ipulse, 0
        acarrierR    poscil .5, kcarrier, ipulse, i(&lt;RingXtended_waveform phase&gt;)
    elseif (&lt;RingXtended_waveform&gt; == 4)  then
        ivld      filevalid &quot;&lt;RingXtended_sample&gt;&quot;                                          ; check if valid sample is imported - else, bypass
        if ivld &gt; 0 then
            isamp	ftgentmp 0, 0, 0, 1, &quot;&lt;RingXtended_sample&gt;&quot;, 0, 0, 0
            ichn filenchnls &quot;&lt;RingXtended_sample&gt;&quot;
            ilen filelen &quot;&lt;RingXtended_sample&gt;&quot;

            kbegin  =   &lt;RingXtended_sample begin loop&gt; * ilen + 0.05                                      
            kend    =   &lt;RingXtended_sample end loop&gt; * ilen
                if (ichn == 1) then
                    if (kbegin &lt; kend) then
                        acarrierL    flooper2 .8, &lt;RingXtended_sample pitch&gt;, kbegin, kend, .1, isamp,  i(&lt;RingXtended_sample start&gt;) * ilen
                        acarrierR   =   acarrierL
                    else
                        acarrierL   =   0
                        acarrierR   =   0
                    endif
                else
                    if (kbegin &lt; kend) then
                        acarrierL, acarrierR    flooper2 .8, &lt;RingXtended_sample pitch&gt;, kbegin, kend, .1, isamp,  i(&lt;RingXtended_sample start&gt;) * ilen
;                        acarrierL    =   (ar1 + ar2) * .6
;                        acarrierR   =   acarrierL
                    else
                        acarrierL   =   0
                        acarrierR   =   0
                    endif
                endif
        else
            prints &quot;\n\n\nNO OR INVALID SAMPLE in RingXtended effect. Note:it is not needed for the rest of the effect to work.\n\n\n&quot;
            aout1 = ain1
            aout2 = ain2
        endif
    else
                acarrierL   =   0
                acarrierR   =   0
    endif

    acarrierL butlp acarrierL, &lt;RingXtended_lowpass filter&gt;
    acarrierR butlp acarrierR, &lt;RingXtended_lowpass filter&gt;

    if (&lt;RingXtended_AM method&gt; == 0) then                                                  ;choose one of the 2 methods
        awetL   ringmod ain1, (acarrierL + &lt;RingXtended_DC offset&gt;)                         ;Julian Parker ringmod (using UDO from Steven Yi)
        awetR   ringmod ain2, (acarrierR + &lt;RingXtended_DC offset&gt;)
    else                                                                        ;with extra offset option
        awetL   =  (acarrierL + &lt;RingXtended_DC offset&gt;) * ain1                             ;pure multiplication method
        awetR   =  (acarrierR + &lt;RingXtended_DC offset&gt;) * ain2
    endif                                                                       ;with extra offset option

    awetL   dcblock2 awetL
    awetR   dcblock2 awetR
    awetL   *= &lt;RingXtended_wet signal&gt;
    awetR   *= &lt;RingXtended_wet signal&gt;                                                     ;wet signal
    ain1 *=  &lt;RingXtended_dry signal&gt;  *2                                                     ;dry signal
    ain2 *=  &lt;RingXtended_dry signal&gt; * 2

    aout1    =   ain1 + awetL                                                   ;add dry and wet
    aout2    =   ain2 + awetR

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

RingXtended is an effect that uses 2 methods for &quot;carrying&quot; the incoming signal (modulator): the Julian Parker ringmodulation (implementation in a UDO by Steven Yi) and the &quot;usual&quot; multiplication with a wave.
I call it Xtended because i wanted several ways to ringmodulate and &quot;mangle&quot; the incoming signal.


CONTROLLERS:

ON/OFF                  -       bypass
ringmethod              -       Dropdown List to choose Julian Parker (more distortion) or Simple Multiplication method
waveform                -       sine, saw, square, pulse wave or soundfile wave
DC offset               -       can give extar effect sometime by moving the offset of the signal
filter                  -       simple lowpass filter
phase                   -       gives mono signals some stereo depth
wet/dry                 -       gain of effect/direct signal
fine/coarse frequency   -       set fine/coarse frequency of carrier wave
Soundfile pitch         -       set pitch of soundfile
Soundfile start sample  -       start position in soundfile
Soundfile loop start    -       just that
Soundfile loop end      -       just that

---

version 1.42, july 2020
- added BSB information comments

version 1.41, May 2020
- added comments on controllers

version 1.4 beta, April 2019
- spatialize not to 1 but .95 (because 0 = 1)
- stereo when stereo soundfile is added

version 1.3, February 2019
- added on/off button

version 1.2, February 2019
- stereo version
- added phaseknob for right channel to spatialize a mono sound
 
version 1.1, February 2018
- added warning when no or invalid impulse sound is used
- if no or incorrect impulse, then the effect is bypassed

version 1, november 2017
- initial version by Menno Knevel
- uses 4 waveforms to carry the incoming signal: sine, saw, square, pulse and soundfile
- the soundfile modulation option is done by a looping soundfile with pitch control
- a lowpass filter for the carrier signal to filter out some of the harmonics
- option to mix dry/wet signal
- 2 faders for optimizing the frequency of sine, saw, square or pulse wave
- offset option to adjust the amount of sidebands
</comments>
  <opcodeList>
    <udo>
      <opcodeName>ringmod</opcodeName>
      <outTypes>a</outTypes>
      <inTypes>aa</inTypes>
      <codeBody>ain, acarrier xin
itab chnget &quot;ringmod.table&quot;
; TABLE INIT
if(itab == 0) then
; generate table according to formula 2 in document
itablen = 2^16
itab ftgen 0, 0, itablen, -2, 0
i_vb = 0.2
i_vl = 0.4
i_h = .1
i_vl_vb_denom = ((2 * i_vl) - (2 * i_vb))
i_vl_add =  i_h * ( ((i_vl - i_vb)^2) / i_vl_vb_denom)
i_h_vl = i_h * i_vl
indx = 0
chnset itab, &quot;ringmod.table&quot;
ihalf = itablen / 2
until (indx &gt;= itablen) do
  iv = (indx - ihalf) / ihalf
  iv = abs(iv)
  if(iv &lt;= i_vb) then
      tableiw 0, indx, itab, 0, 0, 2
  elseif(iv &lt;= i_vl) then
      ival = i_h * ( ((iv - i_vb)^2) / i_vl_vb_denom)
      tableiw ival, indx, itab, 0, 0, 2
  else
      ival = (i_h * iv) - i_h_vl + i_vl_add
      tableiw ival, indx, itab, 0, 0, 2
  endif
  indx += 1
od
endif
; END TABLE INIT
ain1 = (ain * .5)
acar2 = acarrier + ain1
ain2 = acarrier - ain1
asig1 table3 acar2, itab, 1, 0.5
asig2 table3 -acar2, itab, 1, 0.5
asig3 table3 ain2, itab, 1, 0.5
asig4 table3 -ain2, itab, 1, 0.5
asiginv = -(asig3 + asig4)
aout sum asig1, asig2, asiginv
xout aout
</codeBody>
      <comments></comments>
    </udo>
  </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>RingXtendedON</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>0x4d8080ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>20</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
          <objectName>RingXtended_waveform</objectName>
          <x>90</x>
          <y>45</y>
          <comment>sine, saw, square, pulse wave or soundfile wave</comment>
          <automationAllowed>true</automationAllowed>
          <selectedIndex>0</selectedIndex>
          <fontSize>12</fontSize>
          <randomizable>true</randomizable>
          <bsbDropdownItemList>
            <bsbDropdownItem uniqueId='613740771'>
              <name>sine</name>
              <value>0</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='613740772'>
              <name>saw</name>
              <value>1</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='613740773'>
              <name>square</name>
              <value>2</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='613740774'>
              <name>pulse</name>
              <value>3</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='613740775'>
              <name>soundfile</name>
              <value>4</value>
            </bsbDropdownItem>
          </bsbDropdownItemList>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>15</x>
          <y>20</y>
          <label>ringmethod</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>275</x>
          <y>30</y>
          <label>DCoffset</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>15</x>
          <y>110</y>
          <label>coarse frequency</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>RingXtended_frequency carrier coarsetuning</objectName>
          <x>10</x>
          <y>95</y>
          <comment>set coarse frequency of carrier wave</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>10.0</maximum>
          <bdresolution>1</bdresolution>
          <value>0.0</value>
          <sliderWidth>543</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>15</x>
          <y>90</y>
          <label>fine frequency</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>RingXtended_frequency carrier finetuning</objectName>
          <x>10</x>
          <y>75</y>
          <comment>set fine frequency of carrier wave</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>1.0</minimum>
          <maximum>1000.0</maximum>
          <bdresolution>1</bdresolution>
          <value>320.0</value>
          <sliderWidth>600</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>RingXtended_dry signal</objectName>
          <x>580</x>
          <y>15</y>
          <comment>gain of direct signal</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>0.5</maximum>
          <bdresolution>0.001</bdresolution>
          <value>0.0</value>
          <sliderHeight>50</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>560</x>
          <y>60</y>
          <label>wet</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>585</x>
          <y>60</y>
          <label>dry</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>RingXtended_waveform phase</objectName>
          <x>495</x>
          <y>5</y>
          <comment>gives mono signals some stereo depth</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>0.95</maximum>
          <value>0.0</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
          <label>phase</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>RingXtended_wet signal</objectName>
          <x>555</x>
          <y>15</y>
          <comment>gain of effect</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>10.0</maximum>
          <bdresolution>0.001</bdresolution>
          <value>10.0</value>
          <sliderHeight>50</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>610</x>
          <y>110</y>
          <label>X 1000</label>
          <font>
            <name>System Bold</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>10</x>
          <y>130</y>
          <groupName>soundfile parameters</groupName>
          <backgroundColor>0x00000033</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>RingXtended_sample</objectName>
            <x>10</x>
            <y>10</y>
            <comment>import sample</comment>
            <fileName></fileName>
            <textFieldWidth>400</textFieldWidth>
            <stringChannelEnabled>false</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>450</x>
            <y>25</y>
            <label>pitch</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>RingXtended_sample pitch</objectName>
            <x>440</x>
            <y>10</y>
            <comment>set pitch of soundfile</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>4.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>1.0</value>
            <sliderWidth>150</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>15</x>
            <y>95</y>
            <label>loop end</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>RingXtended_sample begin loop</objectName>
            <x>10</x>
            <y>60</y>
            <comment>loop point begin</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.0</value>
            <sliderWidth>630</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>15</x>
            <y>55</y>
            <label>start sample</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>RingXtended_sample end loop</objectName>
            <x>10</x>
            <y>80</y>
            <comment>loop point end</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>1.0</value>
            <sliderWidth>630</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>15</x>
            <y>75</y>
            <label>loop start</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>RingXtended_sample start</objectName>
            <x>10</x>
            <y>40</y>
            <comment>start position in soundfile</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.0</value>
            <sliderWidth>630</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>RingXtended_lowpass filter</objectName>
          <x>270</x>
          <y>40</y>
          <comment>simple lowpass filter</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>100.0</minimum>
          <maximum>8000.0</maximum>
          <bdresolution>1</bdresolution>
          <value>2015.0</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>15</x>
          <y>45</y>
          <label>waveform</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>275</x>
          <y>60</y>
          <label>filter</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>RingXtended_DC offset</objectName>
          <x>270</x>
          <y>10</y>
          <comment>can give extar effect sometime by moving the offset of the signal</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.001</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>610</x>
          <y>35</y>
          <label>mixer</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
          <objectName>RingXtended_AM method</objectName>
          <x>90</x>
          <y>15</y>
          <comment>choose Julian Parker (more distortion) or Simple Multiplication method</comment>
          <automationAllowed>true</automationAllowed>
          <selectedIndex>0</selectedIndex>
          <fontSize>12</fontSize>
          <randomizable>true</randomizable>
          <bsbDropdownItemList>
            <bsbDropdownItem uniqueId='-1630505825'>
              <name>Julian Parker</name>
              <value>1</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='-1630505824'>
              <name>simple multiplication</name>
              <value>2</value>
            </bsbDropdownItem>
          </bsbDropdownItemList>
        </bsbObject>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='-367217694' name='RingXtended_wet signal' label='' min='0.0' max='10.0' bdresolution='0.001' automationEnabled='false' value='10.0'>
      <line name='' version='2' max='10.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='10.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217692' name='RingXtended_AM method' 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='-367217690' name='RingXtended_DC offset' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217688' name='RingXtended_frequency carrier coarsetuning' label='' min='0.0' max='10.0' bdresolution='1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='10.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217686' name='RingXtended_waveform' label='' min='0.0' max='4.0' bdresolution='1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='4.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217684' name='RingXtended_frequency carrier finetuning' label='' min='1.0' max='1000.0' bdresolution='1' automationEnabled='false' value='320.0'>
      <line name='' version='2' max='1000.0' min='1.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='320.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217682' name='RingXtended_sample pitch' label='' min='0.0' max='4.0' bdresolution='0.01' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='4.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217680' name='RingXtended_sample begin loop' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217678' name='RingXtended_sample start' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217676' name='RingXtended_sample end loop' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217674' name='RingXtended_lowpass filter' label='' min='100.0' max='8000.0' bdresolution='1' automationEnabled='false' value='2015.0'>
      <line name='' version='2' max='8000.0' min='100.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='2015.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-367217672' name='RingXtended_dry signal' label='' min='0.0' max='0.5' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='0.5' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-1630503466' name='RingXtended_waveform phase' label='' min='0.0' max='0.95' bdresolution='-1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='0.95' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-104104197' name='RingXtendedON' 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>