<instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
  <name>SamplePlayer v1.3</name>
  <comment>Author: Atte AndrÃ© Jensen (atte.dk), 2008

Simple sampleplayer, using ftables to store sample.

Changelog:

1.3
* Minor code cleanup

1.2
* Works with both stereo and mono samples
* Pan now pans both left and right

1.1
* Added &apos;loop&apos; option

1.0
* Initial release
</comment>
  <globalOrc>git_sample_player_&lt;INSTR_NAME&gt;	ftgen	0, 0, 0, 1, &quot;&lt;file&gt;&quot;, 0, 0, 0
</globalOrc>
  <globalSco/>
  <instrumentText>ivol	=	p4; 0-1
kfreq	=	p5;

	ckgoto(kfreq &gt; 0), nonzero
kfreq	=	&lt;baseFreq&gt;
	goto	done
nonzero:
kfreq	=	(kfreq &gt;= 20) ? kfreq : cpspch(kfreq)
done:

; defaults
ivol	=	(ivol == 0) ? 1 : ivol
kcps	=	1
ibasefreq =	&lt;baseFreq&gt;


; setup
iamp	=	20000
ifn	=	git_sample_player_&lt;INSTR_NAME&gt;
i_nb_chn=	ftchnls(git_sample_player_&lt;INSTR_NAME&gt;)
kpan	=	&lt;pan&gt;

; calculate
kamp	=	iamp * ivol * &lt;vol&gt;

; generate audio
if (i_nb_chn == 1) then
	aoutl loscil3 kamp, kfreq, ifn, ibasefreq, &lt;loop&gt;
	aoutr = 	aoutl
elseif(i_nb_chn == 2) then
	aoutl, aoutr loscil3 kamp, kfreq, ifn, ibasefreq, &lt;loop&gt;
else
	aoutl	=	0
	aoutr	=	0
endif

; output
	blueMixerOut aoutl * (1 - kpan), aoutr * (1 + kpan)
</instrumentText>
  <graphicInterface editEnabled='false'>
    <uniqueNameManager nameIndex='-1' defaultPrefix='bsbObj'/>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
      <objectName>file</objectName>
      <x>18</x>
      <y>68</y>
      <fileName></fileName>
      <textFieldWidth>300</textFieldWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
      <objectName>baseFreq</objectName>
      <x>22</x>
      <y>104</y>
      <value>7.00</value>
      <textFieldWidth>100</textFieldWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>vol</objectName>
      <x>289</x>
      <y>159</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>1.0</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
      <objectName>loop</objectName>
      <x>139</x>
      <y>119</y>
      <label>Loop</label>
      <selected>false</selected>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>102</x>
      <y>12</y>
      <label>&lt;html&gt;&lt;font size=&quot;6&quot;&gt;&lt;b&gt;SamplePlayer&lt;/b&gt;&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>167</x>
      <y>40</y>
      <label>v 1.3</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>pan</objectName>
      <x>227</x>
      <y>159</y>
      <automationAllowed>true</automationAllowed>
      <minimum>-1.0</minimum>
      <maximum>1.0</maximum>
      <value>0.0</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>247</x>
      <y>235</y>
      <label>Pan</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>298</x>
      <y>235</y>
      <label>Volume</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>26</x>
      <y>123</y>
      <label>Base Frequency</label>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='1881254151' name='pan' label='' min='-1.0' max='1.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='1.0' min='-1.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1881254149' name='vol' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
  </bsbParameterList>
  <presetGroup name='Presets'/>
  <opcodeList/>
</instrument>