Mercurial > hg > jslab
annotate examples/graphics/scope/scope.scm @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | examples/misc/scope.scm@5df24c91468d |
children |
rev | line source |
---|---|
samer@1 | 1 (load "props.scm") |
samer@1 | 2 |
samer@1 | 3 (import "samer.core.types.*") |
samer@1 | 4 |
samer@8 | 5 (put "regulated" #t) |
samer@1 | 6 (push-properties "scope.props") |
samer@1 | 7 (put "canvas.background" Color.black$) |
samer@1 | 8 (put "canvas.foreground" (Color. 60 220 120)) |
samer@1 | 9 (put "trace.background" Color.black$) |
samer@1 | 10 |
samer@1 | 11 (define C (node "canvas" (Plotter.))) |
samer@1 | 12 (expose C "canvas") |
samer@1 | 13 (.exposeMaps C) |
samer@1 | 14 |
samer@1 | 15 (define (oscillator nm freq) |
samer@8 | 16 (define o (Oscillator. freq)) |
samer@8 | 17 (VParameter. nm (.getFrequencyModel o)) |
samer@8 | 18 o |
samer@1 | 19 ) |
samer@1 | 20 |
samer@1 | 21 (tasks) |
samer@8 | 22 (expose) |
samer@1 | 23 |
samer@1 | 24 (define x (VDouble. "x")) |
samer@1 | 25 (define y (VDouble. "y")) |
samer@1 | 26 |
samer@1 | 27 (addtasks |
samer@8 | 28 (GenerateDouble. x (oscillator "fx" 0.1)) |
samer@8 | 29 (GenerateDouble. y (oscillator "fy" 0.1)) |
samer@8 | 30 (let ((P (.getPen C))) |
samer@8 | 31 (.moveto P 0 0) |
samer@8 | 32 (task |
samer@8 | 33 (.activate P) |
samer@8 | 34 (.line (.abs P (.value$ x) (.value$ y))) |
samer@8 | 35 (.move P)))) |
samer@1 | 36 |