Skip to content

Commit 6f05f09

Browse files
white noise generator
1 parent a1d09fd commit 6f05f09

File tree

2 files changed

+54
-2
lines changed

2 files changed

+54
-2
lines changed

megra-event-definitions.lisp

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@
309309
:direct-parameters (rev))
310310

311311
(define-event
312-
:long-name echo-event
312+
:long-name echo-event
313313
:short-name echo
314314
:arithmetic t
315315
:parent-events (event)
@@ -392,7 +392,7 @@
392392
;; GRAIN EVENT (slightly longer);;
393393
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
394394
(define-event
395-
:long-name grain-event
395+
:long-name grain-event
396396
:short-name grain
397397
:abstract-event nil
398398
:parent-events (level-event
@@ -1379,6 +1379,31 @@
13791379
(incudine::msg
13801380
error "something went wrong executing shrink:~% ~D" e)))))
13811381

1382+
(define-event
1383+
:long-name white-noise-event
1384+
:short-name wnoise
1385+
:abstract-event nil
1386+
:parent-events (level-event
1387+
duration-event
1388+
pan-event
1389+
attack-event
1390+
release-event
1391+
highpass-frequency-event
1392+
highpass-q-event
1393+
lowpass-frequency-event
1394+
lowpass-distortion-event
1395+
lowpass-q-event
1396+
lowpass-frequency-lfo-event
1397+
peak-frequency-event
1398+
peak-gain-event
1399+
peak-q-event
1400+
reverb-event
1401+
echo-event
1402+
echorev-event)
1403+
:handler (progn
1404+
(if (member 'sc (event-backends evt)) (handle-white-noise-event-sc evt timestamp))))
1405+
1406+
13821407
;; the transition between events is just a different type of event,
13831408
;; if you ask me ...
13841409
(define-event

megra-supercollider-event-handlers-2ch.lisp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
(in-package :megra)
22

3+
(defmethod handle-white-noise-event-sc ((g white-noise-event) timestamp &key)
4+
;; might save a hashtable access here ... later ...
5+
(osc:simple-bundle cm::*oscout* timestamp
6+
"/s_new"
7+
"siiisfsfsfsfsfsfsfsfsfsfsfsfsfsfsfsfsfsfsf"
8+
"noise_2ch" -1 0 1
9+
"lvl" (coerce (event-level g) 'float)
10+
"lp_freq" (coerce (event-lp-freq g) 'float)
11+
"lp_q" (coerce (event-lp-q g) 'float)
12+
"lp_dist" (coerce (event-lp-dist g) 'float)
13+
"lp_freq_lfo_freq" (coerce (event-lp-freq-lfo-speed g) 'float)
14+
"lp_freq_lfo_depth" (coerce (event-lp-freq-lfo-depth g) 'float)
15+
"lp_freq_lfo_phase" (coerce (event-lp-freq-lfo-phase g) 'float)
16+
"pf_freq" (coerce (event-pf-freq g) 'float)
17+
"pf_q" (coerce (event-pf-q g) 'float)
18+
"pf_gain" (coerce (event-pf-gain g) 'float)
19+
"hp_freq" (coerce (event-hp-freq g) 'float)
20+
"hp_q" (coerce (event-hp-q g) 'float)
21+
"a" (coerce (* (event-attack g) 0.001) 'float)
22+
"length" (coerce (* (- (event-duration g) (event-attack g) (event-release g)) 0.001) 'float)
23+
"r" (coerce (* (event-release g) 0.001) 'float)
24+
"pos" (coerce (event-position g) 'float)
25+
"rev" (coerce (event-reverb g) 'float)
26+
"echo" (coerce (event-echo g) 'float)
27+
"echorev" (coerce (event-echorev g) 'float)))
28+
29+
330
(defmethod handle-grain-event-sc ((g grain-event) timestamp &key)
431
(unless (gethash (grain-sample-location g) *sc-buffer-directory*)
532
(register-sample (grain-sample-location g)))

0 commit comments

Comments
 (0)