<instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
  <name>Fossil</name>
  <comment>Fossil v0- This synth is a simple single oscillator foscili-based monophonic FM synth, that is controlled entirely via automation. - Brian Wong, October 2009
</comment>
  <globalOrc>;[once](
gi_sine_&lt;INSTR_ID&gt; 	ftgen	0, 0, 65536, 10, 1
;)

</globalOrc>
  <globalSco/>
  <instrumentText>kamp = &lt;Volknob&gt;
kcps = &lt;FQknob&gt;
kcar = &lt;CFknob&gt;
kmod = &lt;MFknob&gt;
kndx = &lt;MIknob&gt;
a1 	foscili	 kamp, kcps, kcar, kmod, kndx, gi_sine_&lt;INSTR_ID&gt;
a1   = a1 *5000
aLeft, aRight	pan_gm2	a1, &lt;Panknob&gt;
blueMixerOut	aLeft, aRight</instrumentText>
  <graphicInterface editEnabled='false'>
    <uniqueNameManager nameIndex='-1' defaultPrefix='bsbObj'/>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>Volknob</objectName>
      <x>11</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.516117</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>20</x>
      <y>145</y>
      <label>Volume</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>CFknob</objectName>
      <x>144</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>1.0</minimum>
      <maximum>100.0</maximum>
      <value>9.201743</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>165</x>
      <y>147</y>
      <label>CF</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>FQknob</objectName>
      <x>77</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>20.0</minimum>
      <maximum>20000.0</maximum>
      <value>7412.0303</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>78</x>
      <y>145</y>
      <label>Frequency</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>MFknob</objectName>
      <x>208</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>100.0</maximum>
      <value>22.37157</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>231</x>
      <y>147</y>
      <label>MF</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>MIknob</objectName>
      <x>274</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>100.0</maximum>
      <value>49.596752</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>298</x>
      <y>146</y>
      <label>MI</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>Panknob</objectName>
      <x>339</x>
      <y>68</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5538186</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>360</x>
      <y>148</y>
      <label>Pan</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>146</x>
      <y>12</y>
      <label>&lt;html&gt;&lt;font size=&quot;+3&quot; face=&quot;Lucida Calligraphy&quot; color=rgb(200,160,255)&gt;Fossil&lt;/font&gt;&lt;/htmL&gt;</label>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='1831102044' name='CFknob' label='' min='1.0' max='100.0' resolution='-1.0' automationEnabled='false' value='9.201743'>
      <line name='' version='2' max='100.0' min='1.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='9.201743'/>
      </line>
    </parameter>
    <parameter uniqueId='1831102046' name='FQknob' label='' min='20.0' max='20000.0' resolution='-1.0' automationEnabled='false' value='7412.0303'>
      <line name='' version='2' max='20000.0' min='20.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='7412.0303'/>
      </line>
    </parameter>
    <parameter uniqueId='1831102048' name='MFknob' label='' min='0.0' max='100.0' resolution='-1.0' automationEnabled='false' value='22.37157'>
      <line name='' version='2' max='100.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='22.37157'/>
      </line>
    </parameter>
    <parameter uniqueId='1831102050' name='MIknob' label='' min='0.0' max='100.0' resolution='-1.0' automationEnabled='false' value='49.596752'>
      <line name='' version='2' max='100.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='49.596752'/>
      </line>
    </parameter>
    <parameter uniqueId='1831102052' name='Panknob' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.5538186'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5538186'/>
      </line>
    </parameter>
    <parameter uniqueId='1831102042' name='Volknob' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.516117'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.516117'/>
      </line>
    </parameter>
  </bsbParameterList>
  <presetGroup name='Presets'/>
  <opcodeList>
    <udo>
      <opcodeName>pan_gm2</opcodeName>
      <outTypes>aa</outTypes>
      <inTypes>ak</inTypes>
      <codeBody>ain, kspace xin

klast init -2
kleft init 0
kright init 0

;from MIDI GM-2 Default Pan Curve (RP-036)
;Left Channel Gain [dB] = 20*log (cos (Pi/2* max(0,CC#10 ? 1)/126)
;Right Channel Gain [dB] = 20*log (sin (Pi /2* max(0,CC#10 ? 1)/126)

if (kspace != klast) then
 kpercent = (kspace + 1) / 2
 kleft = ampdb(20 * log(cos($M_PI_2 * kpercent)))
 kright = (kpercent == 0) ? 0 : ampdb(20 * log(sin($M_PI_2 * kpercent)))
endif

aleft = ain * kleft
aright = ain * kright

xout aleft, aright</codeBody>
      <comments></comments>
    </udo>
  </opcodeList>
</instrument>