Browse code

(piano.tal)Added sharps to keyboard mode

Devine Lu Linvega authored on 28/02/2023 02:23:40
Showing 1 changed files
... ...
@@ -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