...
|
...
|
@@ -27,13 +27,16 @@
|
27
|
27
|
#0180 .Screen/width DEO2
|
28
|
28
|
#00e0 .Screen/height DEO2
|
29
|
29
|
( find center )
|
30
|
|
- .Screen/width DEI2 #01 SFT2 .center/x STZ2
|
31
|
|
- .Screen/height DEI2 #01 SFT2 #0010 ADD2 .center/y STZ2
|
32
|
|
- ( place octave )
|
33
|
|
- .center/x LDZ2 #0080 SUB2 .octave-view/x1 STZ2
|
34
|
|
- .center/y LDZ2 #0010 ADD2 .octave-view/y1 STZ2
|
35
|
|
- .octave-view/x1 LDZ2 #0050 ADD2 .octave-view/x2 STZ2
|
36
|
|
- .octave-view/y1 LDZ2 #0018 ADD2 .octave-view/y2 STZ2
|
|
30
|
+ .Screen/width DEI2 #01 SFT2
|
|
31
|
+ DUP2 .center/x STZ2
|
|
32
|
+ #0080 SUB2
|
|
33
|
+ DUP2 .octave-view/x1 STZ2
|
|
34
|
+ #0050 ADD2 .octave-view/x2 STZ2
|
|
35
|
+ .Screen/height DEI2 #01 SFT2 #0010 ADD2
|
|
36
|
+ DUP2 .center/y STZ2
|
|
37
|
+ #0010 ADD2
|
|
38
|
+ DUP2 .octave-view/y1 STZ2
|
|
39
|
+ #0018 ADD2 .octave-view/y2 STZ2
|
37
|
40
|
( place adsr )
|
38
|
41
|
.center/x LDZ2 #0020 SUB2 .adsr-view/x1 STZ2
|
39
|
42
|
.center/y LDZ2 #0010 ADD2 .adsr-view/y1 STZ2
|
...
|
...
|
@@ -44,6 +47,7 @@
|
44
|
47
|
.center/y LDZ2 #0040 SUB2 .wave-view/y1 STZ2
|
45
|
48
|
.wave-view/x1 LDZ2 #0100 ADD2 .wave-view/x2 STZ2
|
46
|
49
|
.wave-view/y1 LDZ2 #0040 ADD2 .wave-view/y2 STZ2
|
|
50
|
+ ( setup synth )
|
47
|
51
|
#041c .Audio0/adsr DEO2
|
48
|
52
|
#dd .Audio0/volume DEO
|
49
|
53
|
;sin-pcm .Audio0/addr DEO2
|
...
|
...
|
@@ -65,14 +69,21 @@ BRK
|
65
|
69
|
|
66
|
70
|
@on-frame ( -> )
|
67
|
71
|
|
|
72
|
+ [ LIT &last $1 ] .Audio0/output DEI NEQk ?&changed
|
|
73
|
+ POP2 BRK
|
|
74
|
+ &changed
|
|
75
|
+ ,&last STR POP
|
|
76
|
+
|
|
77
|
+ ( redraw )
|
68
|
78
|
[ LIT2 00 -Screen/auto ] DEO
|
69
|
79
|
.adsr-view/y2 LDZ2 #0020 SUB2 .Screen/y DEO2
|
70
|
80
|
#1000
|
71
|
81
|
&loop
|
72
|
82
|
.adsr-view/x2 LDZ2 #003a SUB2 .Screen/x DEO2
|
73
|
|
- #10 OVR SUB .Audio0/output DEI #0f AND LTH .Screen/pixel DEO
|
74
|
|
- .adsr-view/x2 LDZ2 #003a SUB2 INC2 INC2 .Screen/x DEO2
|
75
|
|
- #10 OVR SUB .Audio0/output DEI #04 SFT LTH .Screen/pixel DEO
|
|
83
|
+ #10 OVR SUB .Audio0/output DEI
|
|
84
|
+ DUP2 #0f AND LTH .Screen/pixel DEO
|
|
85
|
+ .Screen/x DEI2k INC2 INC2 ROT DEO2
|
|
86
|
+ #04 SFT LTH .Screen/pixel DEO
|
76
|
87
|
.Screen/y DEI2k INC2 INC2 ROT DEO2
|
77
|
88
|
INC GTHk ?&loop
|
78
|
89
|
POP2
|
...
|
...
|
@@ -83,11 +94,16 @@ BRK
|
83
|
94
|
|
84
|
95
|
.Controller/key DEI
|
85
|
96
|
[ LIT "a ] NEQk NIP ?&no-c #30 .octave LDZ #0c MUL ADD play &no-c
|
|
97
|
+ [ LIT "w ] NEQk NIP ?&no-c# #31 .octave LDZ #0c MUL ADD play &no-c#
|
86
|
98
|
[ LIT "s ] NEQk NIP ?&no-d #32 .octave LDZ #0c MUL ADD play &no-d
|
|
99
|
+ [ LIT "e ] NEQk NIP ?&no-d# #33 .octave LDZ #0c MUL ADD play &no-d#
|
87
|
100
|
[ LIT "d ] NEQk NIP ?&no-e #34 .octave LDZ #0c MUL ADD play &no-e
|
88
|
101
|
[ LIT "f ] NEQk NIP ?&no-f #35 .octave LDZ #0c MUL ADD play &no-f
|
|
102
|
+ [ LIT "t ] NEQk NIP ?&no-f# #36 .octave LDZ #0c MUL ADD play &no-f#
|
89
|
103
|
[ LIT "g ] NEQk NIP ?&no-g #37 .octave LDZ #0c MUL ADD play &no-g
|
|
104
|
+ [ LIT "y ] NEQk NIP ?&no-g# #38 .octave LDZ #0c MUL ADD play &no-g#
|
90
|
105
|
[ LIT "h ] NEQk NIP ?&no-a #39 .octave LDZ #0c MUL ADD play &no-a
|
|
106
|
+ [ LIT "u ] NEQk NIP ?&no-a# #3a .octave LDZ #0c MUL ADD play &no-a#
|
91
|
107
|
[ LIT "j ] NEQk NIP ?&no-b #3b .octave LDZ #0c MUL ADD play &no-b
|
92
|
108
|
[ LIT "k ] NEQk NIP ?&no-c2 #3c .octave LDZ #0c MUL ADD play &no-c2
|
93
|
109
|
[ #1b ] NEQk NIP ?&no-esc #010f DEO &no-esc
|