... | ... |
@@ -12,7 +12,6 @@ |
12 | 12 |
|
13 | 13 |
@last-note $1 |
14 | 14 |
@octave $1 |
15 |
- @pointer &x $2 &y $2 |
|
16 | 15 |
@center &x $2 &y $2 |
17 | 16 |
@adsr-view &x1 $2 &y1 $2 &x2 $2 &y2 $2 |
18 | 17 |
@wave-view &x1 $2 &y1 $2 &x2 $2 &y2 $2 |
... | ... |
@@ -21,20 +20,23 @@ |
21 | 20 |
|0100 ( -> ) |
22 | 21 |
|
23 | 22 |
( theme ) |
24 |
- #0fe5 .System/r DEO2 |
|
25 |
- #0fc5 .System/g DEO2 |
|
26 |
- #0f25 .System/b DEO2 |
|
23 |
+ #0fe3 .System/r DEO2 |
|
24 |
+ #0fc3 .System/g DEO2 |
|
25 |
+ #0f23 .System/b DEO2 |
|
26 |
+ ( resize ) |
|
27 |
+ #0180 .Screen/width DEO2 |
|
28 |
+ #00e0 .Screen/height DEO2 |
|
27 | 29 |
( find center ) |
28 | 30 |
.Screen/width DEI2 #01 SFT2 .center/x STZ2 |
29 |
- .Screen/height DEI2 #01 SFT2 #0018 ADD2 .center/y STZ2 |
|
31 |
+ .Screen/height DEI2 #01 SFT2 #0010 ADD2 .center/y STZ2 |
|
30 | 32 |
( place octave ) |
31 | 33 |
.center/x LDZ2 #0080 SUB2 .octave-view/x1 STZ2 |
32 |
- .center/y LDZ2 #0008 ADD2 .octave-view/y1 STZ2 |
|
34 |
+ .center/y LDZ2 #0010 ADD2 .octave-view/y1 STZ2 |
|
33 | 35 |
.octave-view/x1 LDZ2 #0050 ADD2 .octave-view/x2 STZ2 |
34 | 36 |
.octave-view/y1 LDZ2 #0018 ADD2 .octave-view/y2 STZ2 |
35 | 37 |
( place adsr ) |
36 | 38 |
.center/x LDZ2 #0020 SUB2 .adsr-view/x1 STZ2 |
37 |
- .center/y LDZ2 #0008 ADD2 .adsr-view/y1 STZ2 |
|
39 |
+ .center/y LDZ2 #0010 ADD2 .adsr-view/y1 STZ2 |
|
38 | 40 |
.adsr-view/x1 LDZ2 #00a0 ADD2 .adsr-view/x2 STZ2 |
39 | 41 |
.adsr-view/y1 LDZ2 #0018 ADD2 .adsr-view/y2 STZ2 |
40 | 42 |
( place waveform ) |
... | ... |
@@ -58,9 +60,12 @@ |
58 | 60 |
|
59 | 61 |
BRK |
60 | 62 |
|
63 |
+( |
|
64 |
+@|vectors ) |
|
65 |
+ |
|
61 | 66 |
@on-frame ( -> ) |
62 | 67 |
|
63 |
- #00 .Screen/auto DEO |
|
68 |
+ [ LIT2 00 -Screen/auto ] DEO |
|
64 | 69 |
.adsr-view/y2 LDZ2 #0020 SUB2 .Screen/y DEO2 |
65 | 70 |
#1000 |
66 | 71 |
&loop |
... | ... |
@@ -76,11 +81,6 @@ BRK |
76 | 81 |
|
77 | 82 |
@on-control ( -> ) |
78 | 83 |
|
79 |
- ( clear last cursor ) |
|
80 |
- .pointer/x LDZ2 .Screen/x DEO2 |
|
81 |
- .pointer/y LDZ2 .Screen/y DEO2 |
|
82 |
- #40 .Screen/sprite DEO |
|
83 |
- |
|
84 | 84 |
.Controller/key DEI |
85 | 85 |
[ LIT "a ] NEQk NIP ?&no-c #30 .octave LDZ #0c MUL ADD play &no-c |
86 | 86 |
[ LIT "s ] NEQk NIP ?&no-d #32 .octave LDZ #0c MUL ADD play &no-d |
... | ... |
@@ -114,7 +114,6 @@ BRK |
114 | 114 |
POP |
115 | 115 |
|
116 | 116 |
draw-octave |
117 |
- draw-wave |
|
118 | 117 |
|
119 | 118 |
BRK |
120 | 119 |
|
... | ... |
@@ -147,8 +146,7 @@ BRK |
147 | 146 |
@on-touch-wave-view ( -> ) |
148 | 147 |
|
149 | 148 |
.Mouse/x DEI2 .wave-view/x1 LDZ2 SUB2 |
150 |
- ( min ) #0010 GTH2k JMP SWP2 POP2 .Audio0/length DEO2 |
|
151 |
- draw-wave |
|
149 |
+ ( min ) #0010 GTH2k [ JMP SWP2 POP2 ] set-length |
|
152 | 150 |
|
153 | 151 |
BRK |
154 | 152 |
|
... | ... |
@@ -212,6 +210,15 @@ BRK |
212 | 210 |
|
213 | 211 |
JMP2r |
214 | 212 |
|
213 |
+@set-length ( length* -- ) |
|
214 |
+ |
|
215 |
+ .Audio0/length DEO2 |
|
216 |
+ |
|
217 |
+!draw-wave |
|
218 |
+ |
|
219 |
+( |
|
220 |
+@|drawing ) |
|
221 |
+ |
|
215 | 222 |
@update-cursor ( color addr* -- ) |
216 | 223 |
|
217 | 224 |
[ LIT2 00 -Screen/auto ] DEO |
... | ... |
@@ -237,7 +244,7 @@ JMP2r |
237 | 244 |
;arrow-icns .Screen/addr DEO2 |
238 | 245 |
[ LIT2 01 -Screen/sprite ] DEO |
239 | 246 |
;font-hex .octave LDZ #03 ADD #00 SWP #30 SFT2 ADD2 .Screen/addr DEO2 |
240 |
- [ LIT2 03 -Screen/sprite ] DEO |
|
247 |
+ [ LIT2 02 -Screen/sprite ] DEO |
|
241 | 248 |
;arrow-icns/down .Screen/addr DEO2 |
242 | 249 |
[ LIT2 01 -Screen/sprite ] DEO |
243 | 250 |
( octave ) |
... | ... |
@@ -294,41 +301,32 @@ JMP2r |
294 | 301 |
[ LIT2 75 -Screen/auto ] DEO |
295 | 302 |
#e0 &lbg |
296 | 303 |
;dotted-icn .Screen/addr DEO2 |
297 |
- [ LIT2 03 -Screen/sprite ] DEO |
|
304 |
+ [ LIT2 0c -Screen/sprite ] DEO |
|
298 | 305 |
INC DUP ?&lbg |
299 | 306 |
POP |
300 | 307 |
.wave-view/x1 LDZ2 .Screen/x DEO2 |
301 |
- |
|
302 | 308 |
( waveform ) |
303 | 309 |
[ LIT2 01 -Screen/auto ] DEO |
304 | 310 |
;sin-pcm/end ;sin-pcm |
305 | 311 |
&loop |
306 |
- |
|
307 | 312 |
DUP2 ;sin-pcm SUB2 .Audio0/length DEI2 DIV2k MUL2 SUB2 ;sin-pcm ADD2 LDA |
308 |
- |
|
309 |
- |
|
310 |
- #00 SWP #02 SFT2 .wave-view/y1 LDZ2 ADD2 .Screen/y DEO2 |
|
313 |
+ #00 SWP #02 SFT2 .wave-view/y1 LDZ2 ADD2 .Screen/y DEO2 |
|
311 | 314 |
( draw ) DUP2 ;sin-pcm SUB2 NIP .Audio0/length DEI2 NIP #01 SUB GTH INC .Screen/pixel DEO |
312 | 315 |
INC2 GTH2k ?&loop |
313 | 316 |
POP2 POP2 |
314 |
- |
|
315 | 317 |
( length line ) |
316 | 318 |
.wave-view/x1 LDZ2 .Audio0/length DEI2 #0001 SUB2 ADD2 .Screen/x DEO2 |
317 | 319 |
.wave-view/y1 LDZ2 .Screen/y DEO2 |
318 | 320 |
;line-icn .Screen/addr DEO2 |
319 | 321 |
[ LIT2 71 -Screen/auto ] DEO |
320 | 322 |
[ LIT2 05 -Screen/sprite ] DEO |
321 |
- |
|
322 | 323 |
( range ) |
323 |
- #01 .Screen/auto DEO |
|
324 |
+ [ LIT2 01 -Screen/auto ] DEO |
|
324 | 325 |
.wave-view/x1 LDZ2 .Screen/x DEO2 |
325 |
- .wave-view/y1 LDZ2 #0010 SUB2 .Screen/y DEO2 |
|
326 |
- .Audio0/addr DEI2 draw-short |
|
327 |
- .wave-view/x2 LDZ2 #0020 SUB2 .Screen/x DEO2 |
|
328 |
- .Audio0/length DEI2 draw-short |
|
329 |
- #00 .Screen/auto DEO |
|
326 |
+ .wave-view/y1 LDZ2 #0018 SUB2 .Screen/y DEO2 |
|
327 |
+ .Audio0/length DEI2 |
|
330 | 328 |
|
331 |
-JMP2r |
|
329 |
+!draw-short |
|
332 | 330 |
|
333 | 331 |
@draw-knob ( x* y* value -- ) |
334 | 332 |
|
... | ... |
@@ -347,7 +345,7 @@ JMP2r |
347 | 345 |
( marker ) |
348 | 346 |
.Screen/x DEI2 #0004 SUB2 #0000 STHkr ;knob-offsetx ADD2 LDA ADD2 .Screen/x DEO2 |
349 | 347 |
.Screen/y DEI2 #0010 SUB2 #0000 STHr ;knob-offsety ADD2 LDA ADD2 .Screen/y DEO2 |
350 |
- ;knob-icns #0020 ADD2 .Screen/addr DEO2 |
|
348 |
+ ;knob-icns/index .Screen/addr DEO2 |
|
351 | 349 |
[ LIT2 05 -Screen/sprite ] DEO |
352 | 350 |
|
353 | 351 |
JMP2r |
... | ... |
@@ -387,9 +385,11 @@ JMP2r |
387 | 385 |
@phex ( short* -- ) SWP phex/b &b DUP #04 SFT phex/c &c #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r |
388 | 386 |
|
389 | 387 |
( |
390 |
- |
|
391 | 388 |
@|assets ) |
392 | 389 |
|
390 |
+@notes-lut [ |
|
391 |
+ 30 32 34 35 37 39 3b 3c ] |
|
392 |
+ |
|
393 | 393 |
@dotted-icn [ |
394 | 394 |
0000 0000 0000 0000 |
395 | 395 |
0000 0000 0000 0000 |
... | ... |
@@ -410,9 +410,6 @@ JMP2r |
410 | 410 |
0010 387c fe10 1000 |
411 | 411 |
&down |
412 | 412 |
0010 1010 fe7c 3810 ] |
413 |
-@notes-lut [ |
|
414 |
- 30 32 34 35 |
|
415 |
- 37 39 3b 3c ] |
|
416 | 413 |
@keys-left-icns [ |
417 | 414 |
7c7c 7c7c 7c7c 7c7c |
418 | 415 |
7c7c 7c7c 7c7c 7e7f |