Mercurial > hg > jslab
view examples/sound/midi/plinky.scm @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | b67a33c44de7 |
children |
line wrap: on
line source
(load "midi.scm") (load "streams.scm") (import "samer.maths.random.*") (put "regulated" #t) (put "colormap" (redgreen)) (put "symmetric" #t) ; (tasks) (define N 64) (define M 64) (define matrix (Matrix. "matrix" M N)) (define out (VVector. "out" N)) (define vgen (VGenerator. "gen")) (define rowcol (RowColumn. matrix)) (define decay (VDouble. "decay" 0.002)) (.setGenerator vgen (Binary.)) (define midiin (VVector. "midiin" 64)) (define synth (MidiWithAftertouch. midiin)) (define m 0) (addtasks (sub 4 (task (.timesEquals matrix (- 1 (.get decay))) (.add matrix vgen) (.changed matrix) )) (Ops.transfer rowcol midiin) (Ops.update midiin) synth (task (.setRow rowcol m) (set! m (if (< m (- M 1)) (+ m 1) 0)) ) ) (define (load-file fn) (let ((f (ifstream fn))) (.load matrix f) (.close f))) (define (f1) (load-file "walking_zither2")) (define (f2) (load-file "walking_zither3")) (define (f3) (load-file "walking_zither4")) (expose) (expose synth)