1;Written by Iain McCurdy, 2006
2
3; Modified for QuteCsound by René, January 2011
4; Tested on Ubuntu 10.04 with csound-float 5.13.0 and QuteCsound svn rev 817
5
6; Use midi controller 1 on channel 1 to control Grain_Size slider
7; Plays midi on channel 1
8
9;Notes on modifications from original csd:
10;	Add table(s) for exp slider
11
12
13;my flags on Ubuntu: -dm0 -iadc -odac -+rtaudio=jack -b16 -B4096 -+rtmidi=alsa -Ma
14<CsoundSynthesizer>
15<CsOptions>
16
17</CsOptions>
18<CsInstruments>
19sr 		= 44100	;SAMPLE RATE
20ksmps 	= 16		;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
21nchnls 	= 2		;NUMBER OF CHANNELS (2=STEREO)
220dbfs	= 1		;MAXIMUM AMPLITUDE REGARDLESS OF BIT DEPTH
23
24
25giExp10	ftgen	0, 0, 129, -25, 0, 0.001, 128, 10.0	;TABLE FOR EXP SLIDER
26
27
28instr	10	;GUI
29	ktrig	metro	10
30	if (ktrig == 1)	then
31
32		gkdlt		invalue	"Grain_Size"
33		gkfeedback	invalue	"Feedback"
34		kdry			invalue	"Dry"
35		gkwet		invalue	"Wet"
36		katt			invalue	"Attack"
37		gkatt		tablei	katt, giExp10, 1
38					outvalue	"Attack_Value", gkatt
39		krel			invalue	"Release"
40		gkrel		tablei	krel, giExp10, 1
41					outvalue	"Release_Value", gkrel
42		gkamp		invalue	"Amplitude"
43	endif
44
45	;AUDIO INPUT
46	gasigL, gasigR	ins
47				outs		gasigL * kdry, gasigR * kdry
48endin
49
50instr	1	; PITCH SHIFTER
51	ioct		octmidi
52
53	;PITCH BEND===========================================================================================================================================================
54	iSemitoneBendRange	= 2										;PITCH BEND RANGE IN SEMITONES (WILL BE DEFINED FURTHER LATER) - SUGGESTION - THIS COULD BE CONTROLLED BY AN FLTK COUNTER
55	imin				= 0										;EQUILIBRIUM POSITION
56	imax 		=		iSemitoneBendRange * .0833333				;MAX PITCH DISPLACEMENT (IN oct FORMAT)
57	kbend		pchbend	imin, imax							;PITCH BEND VARIABLE (IN oct FORMAT)
58	koct			=		ioct + kbend
59	;=====================================================================================================================================================================
60
61	;MIDI INPUT============================================================================================================================================================
62	;OUTPUT        OPCODE  CHANNEL | CC.NUMBER | MIN | MAX
63	kdlt			ctrl7	1,          1,      0,    1				;READ IN MIDI CONTROLLER
64	ktrig		changed	kdlt									;IF THE VARIABLE 'kptr' CHANGES FROM ITS PREVIOUS VALUE,
65															;I.E. IF THE MIDI SLIDER IS MOVED THEN THE VARIABLE ktrig WILL ASSUME THE VALUE '1', OTHERWISE IT WILL BE ZERO.
66	kdlt			scale	kdlt, 1, 0.001							;RESCALE VARIABLE
67
68	if ktrig = 1 then
69				outvalue	"Grain_Size", kdlt						;UPDATE WIDGET WHEN A TRIGGER IS RECEIVED
70	endif
71	;======================================================================================================================================================================
72
73	;SET UP FUNCTION TO MODULATE DELAY TIME VARIABLE AND ENVELOPING FUNCTION===============================================================================================
74	iporttime		=		0.1									;PORTAMENTO TIME
75	kporttime		linseg	0,0.001,iporttime,1,iporttime				;CREATE A RAMPING UP FUNCTION THAT WILL BE USED FOR PORTAMENTO TIME
76	kdlt			portk	gkdlt, kporttime						;APPLY PORTAMENTO
77	adlt			interp	kdlt									;CREATE AN INTEROLATED A-RATE VERSION OF K-RATE VARIABLE
78	kratio		=		cpsoct(koct)/cpsoct(8)					;RATIO OF NEW FREQ TO A DECLARED BASE FREQUENCY (MIDDLE C)
79	krate		=		(kratio-1)/kdlt						;SUBTRACT 1/1 SPEED
80	aphase1		phasor	-krate								;MOVING PHASE 1-0
81	aphase2		phasor	-krate, 0.5							;MOVING PHASE 1-0 - PHASE OFFSET BY 180 DEGREES (.5 RADIANS)
82	agate1		tablei	aphase1, 1, 1, 0, 1						;WINDOW FUNC =HALF SINE
83	agate2		tablei	aphase2, 1, 1, 0, 1						;WINDOW FUNC =HALF SINE
84	;======================================================================================================================================================================
85
86	;LEFT CHANNEL===========================================================================================================================================================
87	aignore		delayr	1									;ALLOC DELAY LINE
88	adelsig1		deltap3	aphase1 * adlt							;VARIABLE TAP
89	aGatedSig1	=		adelsig1 * agate1						;GATE 1ST SIGNAL
90				delayw	gasigL + (aGatedSig1 * gkfeedback)			; WRITE AUDIO TO THE BEGINNING OF THE DELAY BUFFER
91
92	aignore		delayr	1									;ALLOC DELAY LINE
93	adelsig2		deltap3	aphase2 * adlt							;VARIABLE TAP
94	aGatedSig2	=		adelsig2 * agate2						;GATE 2ND SIGNAL
95				delayw	gasigL + (aGatedSig2 * gkfeedback)			;WRITE AUDIO TO THE BEGINNING OF THE DELAY BUFFER
96
97	aGatedMixL	=		(aGatedSig1 + aGatedSig2) * .5			;MIX AND ATTENUATE
98	;=======================================================================================================================================================================
99
100	;RIGHT CHANNEL==========================================================================================================================================================
101	aignore		delayr	1									;ALLOC DELAY LINE
102	adelsig3		deltap3	aphase1 * adlt							;VARIABLE TAP
103	aGatedSig3	=		adelsig3 * agate1						;GATE 1ST SIGNAL
104				delayw	gasigR + (aGatedSig3 * gkfeedback)			; WRITE AUDIO TO THE BEGINNING OF THE DELAY BUFFER
105
106	aignore		delayr	1									;ALLOC DELAY LINE
107	adelsig4		deltap3	aphase2 * adlt							;VARIABLE TAP
108	aGatedSig4	=		adelsig4 * agate2						;GATE 2ND SIGNAL
109				delayw	gasigR + (aGatedSig4 * gkfeedback)			;WRITE AUDIO TO THE BEGINNING OF THE DELAY BUFFER
110
111	aGatedMixR	=		(aGatedSig3 + aGatedSig4) * .5			;MIX AND ATTENUATE
112	;=======================================================================================================================================================================
113
114	iatt			init	i(gkatt)									;CONVERT ATTACK AND RELEASE CONTROLS TO I-RATE AND MAKE AVAILABLE AT I-TIME BY USING INIT
115	irel			init	i(gkrel)       							;CONVERT ATTACK AND RELEASE CONTROLS TO I-RATE AND MAKE AVAILABLE AT I-TIME BY USING INIT
116
117	kenv			expsegr	0.001, iatt, 1, irel, 0.001				;AMPLITUDE ENVELOPE IS CREATED
118				outs		aGatedMixL * kenv * gkwet * gkamp, aGatedMixR * kenv *gkwet * gkamp
119endin
120</CsInstruments>
121<CsScore>
122f 1 0 1025 9 0.5 1 0	;HALF SINE  WINDOW FUNCTION USED FOR AMPLITUDE ENVELOPING
123
124;INSTR | START | DURATION
125i 10		0	   3600	;GUI AND AUDIO INPUTS
126</CsScore>
127</CsoundSynthesizer><bsbPanel>
128 <label>Widgets</label>
129 <objectName/>
130 <x>323</x>
131 <y>380</y>
132 <width>940</width>
133 <height>328</height>
134 <visible>true</visible>
135 <uuid/>
136 <bgcolor mode="background">
137  <r>241</r>
138  <g>226</g>
139  <b>185</b>
140 </bgcolor>
141 <bsbObject version="2" type="BSBLabel">
142  <objectName/>
143  <x>2</x>
144  <y>2</y>
145  <width>514</width>
146  <height>326</height>
147  <uuid>{aa607456-d368-4d59-8497-d16d608404c3}</uuid>
148  <visible>true</visible>
149  <midichan>0</midichan>
150  <midicc>0</midicc>
151  <label>MIDI Keyboard Controlled Pitch Shifter</label>
152  <alignment>center</alignment>
153  <font>Liberation Sans</font>
154  <fontsize>18</fontsize>
155  <precision>3</precision>
156  <color>
157   <r>0</r>
158   <g>0</g>
159   <b>0</b>
160  </color>
161  <bgcolor mode="background">
162   <r>158</r>
163   <g>220</g>
164   <b>158</b>
165  </bgcolor>
166  <bordermode>border</bordermode>
167  <borderradius>5</borderradius>
168  <borderwidth>2</borderwidth>
169 </bsbObject>
170 <bsbObject version="2" type="BSBLabel">
171  <objectName/>
172  <x>519</x>
173  <y>2</y>
174  <width>421</width>
175  <height>326</height>
176  <uuid>{cebe7e5c-304d-4db6-8da2-0e27c0616bab}</uuid>
177  <visible>true</visible>
178  <midichan>0</midichan>
179  <midicc>0</midicc>
180  <label>MIDI Keyboard Controlled Pitch Shifter</label>
181  <alignment>center</alignment>
182  <font>Liberation Sans</font>
183  <fontsize>18</fontsize>
184  <precision>3</precision>
185  <color>
186   <r>0</r>
187   <g>0</g>
188   <b>0</b>
189  </color>
190  <bgcolor mode="background">
191   <r>158</r>
192   <g>220</g>
193   <b>158</b>
194  </bgcolor>
195  <bordermode>border</bordermode>
196  <borderradius>5</borderradius>
197  <borderwidth>2</borderwidth>
198 </bsbObject>
199 <bsbObject version="2" type="BSBLabel">
200  <objectName/>
201  <x>521</x>
202  <y>35</y>
203  <width>414</width>
204  <height>287</height>
205  <uuid>{c24a85f3-363e-476e-81da-37729ad65bb7}</uuid>
206  <visible>true</visible>
207  <midichan>0</midichan>
208  <midicc>0</midicc>
209  <label>-------------------------------------------------------------------------------------------------------
210This example implements a pitch shifter effect based on the algorithm introduced previously under 'Delay Effects'.
211The innovation in this example is that the pitch shifter effect is applied to a live input signal and that the interval of pitch shift is determined by notes played on a MIDI keyboard (middle C represents no pitch shift).
212The number of pitch shifter voices is dynamic therefore harmony chords are possible.
213The number of voices possible is restricted only by available CPU.
214Attack and release controls are included to allow voices to enter and leave according to a user defined amplitude envelope.
215Stereo input and output.
216The pitch bend wheel can be used to bend the pitch up or down by 2 semitones.
217The Modulation wheel can be used to modulate 'Grain Size'.</label>
218  <alignment>left</alignment>
219  <font>Liberation Sans</font>
220  <fontsize>14</fontsize>
221  <precision>3</precision>
222  <color>
223   <r>0</r>
224   <g>0</g>
225   <b>0</b>
226  </color>
227  <bgcolor mode="nobackground">
228   <r>158</r>
229   <g>220</g>
230   <b>158</b>
231  </bgcolor>
232  <bordermode>noborder</bordermode>
233  <borderradius>1</borderradius>
234  <borderwidth>1</borderwidth>
235 </bsbObject>
236 <bsbObject version="2" type="BSBLabel">
237  <objectName/>
238  <x>8</x>
239  <y>180</y>
240  <width>150</width>
241  <height>30</height>
242  <uuid>{63ab529c-3f14-4886-8215-fd6e8f1a37ce}</uuid>
243  <visible>true</visible>
244  <midichan>0</midichan>
245  <midicc>0</midicc>
246  <label>Wet Signal Level</label>
247  <alignment>left</alignment>
248  <font>Liberation Sans</font>
249  <fontsize>10</fontsize>
250  <precision>3</precision>
251  <color>
252   <r>0</r>
253   <g>0</g>
254   <b>0</b>
255  </color>
256  <bgcolor mode="nobackground">
257   <r>255</r>
258   <g>255</g>
259   <b>255</b>
260  </bgcolor>
261  <bordermode>noborder</bordermode>
262  <borderradius>1</borderradius>
263  <borderwidth>1</borderwidth>
264 </bsbObject>
265 <bsbObject version="2" type="BSBHSlider">
266  <objectName>Wet</objectName>
267  <x>8</x>
268  <y>163</y>
269  <width>500</width>
270  <height>27</height>
271  <uuid>{a7c37920-a18a-446b-8b66-6a1119503da0}</uuid>
272  <visible>true</visible>
273  <midichan>0</midichan>
274  <midicc>0</midicc>
275  <minimum>0.00000000</minimum>
276  <maximum>1.00000000</maximum>
277  <value>1.00000000</value>
278  <mode>lin</mode>
279  <mouseControl act="jump">continuous</mouseControl>
280  <resolution>-1.00000000</resolution>
281  <randomizable group="0">false</randomizable>
282 </bsbObject>
283 <bsbObject version="2" type="BSBDisplay">
284  <objectName>Wet</objectName>
285  <x>448</x>
286  <y>180</y>
287  <width>60</width>
288  <height>30</height>
289  <uuid>{b453c0e4-809f-4074-94fd-506ebb68f3b8}</uuid>
290  <visible>true</visible>
291  <midichan>0</midichan>
292  <midicc>0</midicc>
293  <label>1.000</label>
294  <alignment>right</alignment>
295  <font>Liberation Sans</font>
296  <fontsize>9</fontsize>
297  <precision>3</precision>
298  <color>
299   <r>0</r>
300   <g>0</g>
301   <b>0</b>
302  </color>
303  <bgcolor mode="nobackground">
304   <r>255</r>
305   <g>255</g>
306   <b>255</b>
307  </bgcolor>
308  <bordermode>noborder</bordermode>
309  <borderradius>1</borderradius>
310  <borderwidth>1</borderwidth>
311 </bsbObject>
312 <bsbObject version="2" type="BSBLabel">
313  <objectName/>
314  <x>8</x>
315  <y>216</y>
316  <width>150</width>
317  <height>30</height>
318  <uuid>{760945fc-2052-4408-8344-abdb00ead7b0}</uuid>
319  <visible>true</visible>
320  <midichan>0</midichan>
321  <midicc>0</midicc>
322  <label>Attack Time</label>
323  <alignment>left</alignment>
324  <font>Liberation Sans</font>
325  <fontsize>10</fontsize>
326  <precision>3</precision>
327  <color>
328   <r>0</r>
329   <g>0</g>
330   <b>0</b>
331  </color>
332  <bgcolor mode="nobackground">
333   <r>255</r>
334   <g>255</g>
335   <b>255</b>
336  </bgcolor>
337  <bordermode>noborder</bordermode>
338  <borderradius>1</borderradius>
339  <borderwidth>1</borderwidth>
340 </bsbObject>
341 <bsbObject version="2" type="BSBHSlider">
342  <objectName>Attack</objectName>
343  <x>8</x>
344  <y>199</y>
345  <width>500</width>
346  <height>27</height>
347  <uuid>{d5b42e3d-c45f-4288-bb9c-16eb365124bc}</uuid>
348  <visible>true</visible>
349  <midichan>0</midichan>
350  <midicc>0</midicc>
351  <minimum>0.00000000</minimum>
352  <maximum>1.00000000</maximum>
353  <value>0.50000000</value>
354  <mode>lin</mode>
355  <mouseControl act="jump">continuous</mouseControl>
356  <resolution>-1.00000000</resolution>
357  <randomizable group="0">false</randomizable>
358 </bsbObject>
359 <bsbObject version="2" type="BSBDisplay">
360  <objectName>Attack_Value</objectName>
361  <x>448</x>
362  <y>216</y>
363  <width>60</width>
364  <height>30</height>
365  <uuid>{3837993c-b043-4b23-a36f-83ea6a2f2d2b}</uuid>
366  <visible>true</visible>
367  <midichan>0</midichan>
368  <midicc>0</midicc>
369  <label>0.100</label>
370  <alignment>right</alignment>
371  <font>Liberation Sans</font>
372  <fontsize>9</fontsize>
373  <precision>3</precision>
374  <color>
375   <r>0</r>
376   <g>0</g>
377   <b>0</b>
378  </color>
379  <bgcolor mode="nobackground">
380   <r>255</r>
381   <g>255</g>
382   <b>255</b>
383  </bgcolor>
384  <bordermode>noborder</bordermode>
385  <borderradius>1</borderradius>
386  <borderwidth>1</borderwidth>
387 </bsbObject>
388 <bsbObject version="2" type="BSBLabel">
389  <objectName/>
390  <x>8</x>
391  <y>252</y>
392  <width>150</width>
393  <height>30</height>
394  <uuid>{7e59b44f-2b3b-4941-9e17-c56369f9316a}</uuid>
395  <visible>true</visible>
396  <midichan>0</midichan>
397  <midicc>0</midicc>
398  <label>Release Time</label>
399  <alignment>left</alignment>
400  <font>Liberation Sans</font>
401  <fontsize>10</fontsize>
402  <precision>3</precision>
403  <color>
404   <r>0</r>
405   <g>0</g>
406   <b>0</b>
407  </color>
408  <bgcolor mode="nobackground">
409   <r>255</r>
410   <g>255</g>
411   <b>255</b>
412  </bgcolor>
413  <bordermode>noborder</bordermode>
414  <borderradius>1</borderradius>
415  <borderwidth>1</borderwidth>
416 </bsbObject>
417 <bsbObject version="2" type="BSBHSlider">
418  <objectName>Release</objectName>
419  <x>8</x>
420  <y>235</y>
421  <width>500</width>
422  <height>27</height>
423  <uuid>{84d39e8a-7044-4434-92fd-919cc03f9d01}</uuid>
424  <visible>true</visible>
425  <midichan>0</midichan>
426  <midicc>0</midicc>
427  <minimum>0.00000000</minimum>
428  <maximum>1.00000000</maximum>
429  <value>0.50000000</value>
430  <mode>lin</mode>
431  <mouseControl act="jump">continuous</mouseControl>
432  <resolution>-1.00000000</resolution>
433  <randomizable group="0">false</randomizable>
434 </bsbObject>
435 <bsbObject version="2" type="BSBDisplay">
436  <objectName>Release_Value</objectName>
437  <x>448</x>
438  <y>252</y>
439  <width>60</width>
440  <height>30</height>
441  <uuid>{a4a174c2-d21c-4f3b-a485-d396bc7e9495}</uuid>
442  <visible>true</visible>
443  <midichan>0</midichan>
444  <midicc>0</midicc>
445  <label>0.100</label>
446  <alignment>right</alignment>
447  <font>Liberation Sans</font>
448  <fontsize>9</fontsize>
449  <precision>3</precision>
450  <color>
451   <r>0</r>
452   <g>0</g>
453   <b>0</b>
454  </color>
455  <bgcolor mode="nobackground">
456   <r>255</r>
457   <g>255</g>
458   <b>255</b>
459  </bgcolor>
460  <bordermode>noborder</bordermode>
461  <borderradius>1</borderradius>
462  <borderwidth>1</borderwidth>
463 </bsbObject>
464 <bsbObject version="2" type="BSBLabel">
465  <objectName/>
466  <x>8</x>
467  <y>73</y>
468  <width>300</width>
469  <height>30</height>
470  <uuid>{93cc32a5-c161-4212-baeb-c28b120f89a8}</uuid>
471  <visible>true</visible>
472  <midichan>0</midichan>
473  <midicc>0</midicc>
474  <label>Grain Size in Seconds (Used by Pitch Shifter)</label>
475  <alignment>left</alignment>
476  <font>Liberation Sans</font>
477  <fontsize>10</fontsize>
478  <precision>3</precision>
479  <color>
480   <r>0</r>
481   <g>0</g>
482   <b>0</b>
483  </color>
484  <bgcolor mode="nobackground">
485   <r>255</r>
486   <g>255</g>
487   <b>255</b>
488  </bgcolor>
489  <bordermode>noborder</bordermode>
490  <borderradius>1</borderradius>
491  <borderwidth>1</borderwidth>
492 </bsbObject>
493 <bsbObject version="2" type="BSBHSlider">
494  <objectName>Grain_Size</objectName>
495  <x>8</x>
496  <y>56</y>
497  <width>500</width>
498  <height>27</height>
499  <uuid>{107836e5-a726-4a83-83b5-c368481d9a48}</uuid>
500  <visible>true</visible>
501  <midichan>0</midichan>
502  <midicc>0</midicc>
503  <minimum>0.00100000</minimum>
504  <maximum>1.00000000</maximum>
505  <value>0.39430708</value>
506  <mode>lin</mode>
507  <mouseControl act="jump">continuous</mouseControl>
508  <resolution>-1.00000000</resolution>
509  <randomizable group="0">false</randomizable>
510 </bsbObject>
511 <bsbObject version="2" type="BSBDisplay">
512  <objectName>Grain_Size</objectName>
513  <x>448</x>
514  <y>73</y>
515  <width>60</width>
516  <height>30</height>
517  <uuid>{71f0e6eb-f79d-4cd7-80f7-a22cc355e64f}</uuid>
518  <visible>true</visible>
519  <midichan>0</midichan>
520  <midicc>0</midicc>
521  <label>0.394</label>
522  <alignment>right</alignment>
523  <font>Liberation Sans</font>
524  <fontsize>9</fontsize>
525  <precision>3</precision>
526  <color>
527   <r>0</r>
528   <g>0</g>
529   <b>0</b>
530  </color>
531  <bgcolor mode="nobackground">
532   <r>255</r>
533   <g>255</g>
534   <b>255</b>
535  </bgcolor>
536  <bordermode>noborder</bordermode>
537  <borderradius>1</borderradius>
538  <borderwidth>1</borderwidth>
539 </bsbObject>
540 <bsbObject version="2" type="BSBLabel">
541  <objectName/>
542  <x>8</x>
543  <y>109</y>
544  <width>150</width>
545  <height>30</height>
546  <uuid>{e193ffd3-920b-40d4-9eaa-bd11dad75bff}</uuid>
547  <visible>true</visible>
548  <midichan>0</midichan>
549  <midicc>0</midicc>
550  <label>Feedback</label>
551  <alignment>left</alignment>
552  <font>Liberation Sans</font>
553  <fontsize>10</fontsize>
554  <precision>3</precision>
555  <color>
556   <r>0</r>
557   <g>0</g>
558   <b>0</b>
559  </color>
560  <bgcolor mode="nobackground">
561   <r>255</r>
562   <g>255</g>
563   <b>255</b>
564  </bgcolor>
565  <bordermode>noborder</bordermode>
566  <borderradius>1</borderradius>
567  <borderwidth>1</borderwidth>
568 </bsbObject>
569 <bsbObject version="2" type="BSBHSlider">
570  <objectName>Feedback</objectName>
571  <x>8</x>
572  <y>92</y>
573  <width>500</width>
574  <height>27</height>
575  <uuid>{e4aa4e7b-5b74-4a61-8bd7-4beea2c0bb93}</uuid>
576  <visible>true</visible>
577  <midichan>0</midichan>
578  <midicc>0</midicc>
579  <minimum>0.00000000</minimum>
580  <maximum>1.00000000</maximum>
581  <value>0.38600000</value>
582  <mode>lin</mode>
583  <mouseControl act="jump">continuous</mouseControl>
584  <resolution>-1.00000000</resolution>
585  <randomizable group="0">false</randomizable>
586 </bsbObject>
587 <bsbObject version="2" type="BSBDisplay">
588  <objectName>Feedback</objectName>
589  <x>448</x>
590  <y>109</y>
591  <width>60</width>
592  <height>30</height>
593  <uuid>{dc879380-3a9e-4939-b482-a0b4ee46dac5}</uuid>
594  <visible>true</visible>
595  <midichan>0</midichan>
596  <midicc>0</midicc>
597  <label>0.386</label>
598  <alignment>right</alignment>
599  <font>Liberation Sans</font>
600  <fontsize>9</fontsize>
601  <precision>3</precision>
602  <color>
603   <r>0</r>
604   <g>0</g>
605   <b>0</b>
606  </color>
607  <bgcolor mode="nobackground">
608   <r>255</r>
609   <g>255</g>
610   <b>255</b>
611  </bgcolor>
612  <bordermode>noborder</bordermode>
613  <borderradius>1</borderradius>
614  <borderwidth>1</borderwidth>
615 </bsbObject>
616 <bsbObject version="2" type="BSBLabel">
617  <objectName/>
618  <x>8</x>
619  <y>145</y>
620  <width>150</width>
621  <height>30</height>
622  <uuid>{866a933e-0c0d-493a-84af-29f3557f8e4a}</uuid>
623  <visible>true</visible>
624  <midichan>0</midichan>
625  <midicc>0</midicc>
626  <label>Dry Signal Level</label>
627  <alignment>left</alignment>
628  <font>Liberation Sans</font>
629  <fontsize>10</fontsize>
630  <precision>3</precision>
631  <color>
632   <r>0</r>
633   <g>0</g>
634   <b>0</b>
635  </color>
636  <bgcolor mode="nobackground">
637   <r>255</r>
638   <g>255</g>
639   <b>255</b>
640  </bgcolor>
641  <bordermode>noborder</bordermode>
642  <borderradius>1</borderradius>
643  <borderwidth>1</borderwidth>
644 </bsbObject>
645 <bsbObject version="2" type="BSBHSlider">
646  <objectName>Dry</objectName>
647  <x>8</x>
648  <y>128</y>
649  <width>500</width>
650  <height>27</height>
651  <uuid>{fbbd0dd3-c206-4214-aa5e-10d42b909252}</uuid>
652  <visible>true</visible>
653  <midichan>0</midichan>
654  <midicc>0</midicc>
655  <minimum>0.00000000</minimum>
656  <maximum>1.00000000</maximum>
657  <value>0.00000000</value>
658  <mode>lin</mode>
659  <mouseControl act="jump">continuous</mouseControl>
660  <resolution>-1.00000000</resolution>
661  <randomizable group="0">false</randomizable>
662 </bsbObject>
663 <bsbObject version="2" type="BSBDisplay">
664  <objectName>Dry</objectName>
665  <x>448</x>
666  <y>145</y>
667  <width>60</width>
668  <height>30</height>
669  <uuid>{31c3cb1b-308f-47cd-9396-c81d85a1c30a}</uuid>
670  <visible>true</visible>
671  <midichan>0</midichan>
672  <midicc>0</midicc>
673  <label>0.000</label>
674  <alignment>right</alignment>
675  <font>Liberation Sans</font>
676  <fontsize>9</fontsize>
677  <precision>3</precision>
678  <color>
679   <r>0</r>
680   <g>0</g>
681   <b>0</b>
682  </color>
683  <bgcolor mode="nobackground">
684   <r>255</r>
685   <g>255</g>
686   <b>255</b>
687  </bgcolor>
688  <bordermode>noborder</bordermode>
689  <borderradius>1</borderradius>
690  <borderwidth>1</borderwidth>
691 </bsbObject>
692 <bsbObject version="2" type="BSBLabel">
693  <objectName/>
694  <x>8</x>
695  <y>288</y>
696  <width>150</width>
697  <height>30</height>
698  <uuid>{79ce92b4-456d-4a0a-aa5d-813238d5011c}</uuid>
699  <visible>true</visible>
700  <midichan>0</midichan>
701  <midicc>0</midicc>
702  <label>Output Amplitude</label>
703  <alignment>left</alignment>
704  <font>Liberation Sans</font>
705  <fontsize>10</fontsize>
706  <precision>3</precision>
707  <color>
708   <r>0</r>
709   <g>0</g>
710   <b>0</b>
711  </color>
712  <bgcolor mode="nobackground">
713   <r>255</r>
714   <g>255</g>
715   <b>255</b>
716  </bgcolor>
717  <bordermode>noborder</bordermode>
718  <borderradius>1</borderradius>
719  <borderwidth>1</borderwidth>
720 </bsbObject>
721 <bsbObject version="2" type="BSBHSlider">
722  <objectName>Amplitude</objectName>
723  <x>8</x>
724  <y>271</y>
725  <width>500</width>
726  <height>27</height>
727  <uuid>{012823fb-e024-44a5-9eb4-a410da52002b}</uuid>
728  <visible>true</visible>
729  <midichan>0</midichan>
730  <midicc>0</midicc>
731  <minimum>0.00000000</minimum>
732  <maximum>2.00000000</maximum>
733  <value>1.00000000</value>
734  <mode>lin</mode>
735  <mouseControl act="jump">continuous</mouseControl>
736  <resolution>-1.00000000</resolution>
737  <randomizable group="0">false</randomizable>
738 </bsbObject>
739 <bsbObject version="2" type="BSBDisplay">
740  <objectName>Amplitude</objectName>
741  <x>448</x>
742  <y>288</y>
743  <width>60</width>
744  <height>30</height>
745  <uuid>{d1263e0c-e9f9-4f7c-9ca5-77d2bf37a5d8}</uuid>
746  <visible>true</visible>
747  <midichan>0</midichan>
748  <midicc>0</midicc>
749  <label>1.000</label>
750  <alignment>right</alignment>
751  <font>Liberation Sans</font>
752  <fontsize>9</fontsize>
753  <precision>3</precision>
754  <color>
755   <r>0</r>
756   <g>0</g>
757   <b>0</b>
758  </color>
759  <bgcolor mode="nobackground">
760   <r>255</r>
761   <g>255</g>
762   <b>255</b>
763  </bgcolor>
764  <bordermode>noborder</bordermode>
765  <borderradius>1</borderradius>
766  <borderwidth>1</borderwidth>
767 </bsbObject>
768</bsbPanel>
769<bsbPresets>
770</bsbPresets>
771<EventPanel name="" tempo="60.00000000" loop="8.00000000" x="913" y="162" width="655" height="346" visible="true" loopStart="0" loopEnd="0">    </EventPanel>
772