Composition editor.
Appears on
Library tape of the Indiana Sinclair Timex User’s Group.
Source Code
10 BEEP .05,30: CLS : PRINT "Compostion Editor"'"V1.1 27 November 84"'"Bryan Lewis" 16 LET n(6,1,1)=228: LET n(6,1,2)=4 20 REM DIM a$(1000,2): DIM b$(1000,2): DIM c$(1000,2) 21 CLS : PRINT "OK"''"Configuring memory now" 22 FOR f=1 TO 1000 24 NEXT f 25 PRINT '''"OK" 26 LET c=1: LET cc=2: LET d=3: LET dd=4: LET e=5: LET f=6: LET ff=7: LET g=8: LET gg=9: LET a=10: LET aa=11: LET b=12 30 LET z$="stop" 50 CLS : PRINT ;TAB 7;"Options";AT 5,0;TAB 7;"1. Enter Voice A"'TAB 7;"2. Enter Voice B"';TAB 7;"3. Enter Voice C"';TAB 7;"4. Edit";'TAB 7;"5. Play" 51 SOUND 7,63 52 INPUT opt 54 CLS : IF opt>5 OR opt<1 THEN GO TO 50 55 GO TO 80+opt*20 100 PRINT "Enter note on promt. If no "'"change, press 'ENTER'" 101 PRINT "Enter 'stop' to EXIT": PAUSE 600: INPUT "START NOTE#? ";n$: IF n$="" THEN LET JJG=1: GO TO 103 102 LET jjg=VAL n$ 103 FOR j=JJG TO 1000 104 PRINT AT 10,0;"NOTE#: ";j;" "'''''"MEASURE: ";(j-1)/16+1;" in 4/4 (16th's)";AT 11,0;"NOTE: "; 106 INPUT "NOTE? "; LINE k$: IF k$="r" THEN LET a$(j,1)=CHR$ 0: LET a$(j,2)=CHR$ 0: NEXT j 107 IF k$="" THEN LET k$=z$ 108 IF k$="stop" THEN GO TO 50 109 LET n1=VAL k$(1 TO (LEN k$-1)) 110 LET n2=VAL k$(LEN k$) 111 LET z$=k$ 112 LET a$(j,1)=CHR$ n(n1,n2,1) 113 LET a$(j,2)=CHR$ n(n1,n2,2) 114 PRINT k$;" " 115 NEXT j 116 GO TO 50 120 PRINT "Enter note on promt. If no "'"change, press 'ENTER'" 121 PRINT "Enter 'stop' to EXIT": INPUT "START NOTE#? ";n$: IF n$="" THEN LET jjg=1: GO TO 123 122 LET jjg=VAL n$ 123 FOR j=jjg TO 1000 124 PRINT AT 10,0;"NOTE#: ";j;" " 125 PRINT ''''"MEASURE: ";(j-1)/16+1;" in 4/4 (16th's)";AT 11,0;"NOTE: "; 126 INPUT "NOTE? "; LINE k$: IF k$="r" THEN LET b$(j,1)=CHR$ 0: LET b$(j,2)=CHR$ 0: NEXT j 127 IF k$="" THEN LET k$=z$ 128 IF k$="stop" THEN GO TO 50 129 LET n1=VAL k$(1 TO (LEN k$-1)) 130 LET n2=VAL k$(LEN k$) 131 LET z$=k$ 132 LET b$(j,1)=CHR$ n(n1,n2,1) 133 LET b$(j,2)=CHR$ n(n1,n2,2) 134 PRINT k$;" " 135 NEXT j 136 GO TO 50 140 PRINT "Enter note on promt. If no "'"change, press 'ENTER'" 141 PRINT "Enter 'stop' to EXIT": INPUT "St NOTE#? ";n$: IF n$="" THEN LET jjg=1: GO TO 143 142 LET jjg=VAL n$ 143 FOR j=jjg TO 1000 144 PRINT AT 10,0;"NOTE#: ";j;" " 145 PRINT ''''"MEASURE: ";(j-1)/16+1;" in 4/4 (16th's)";AT 11,0;"NOTE: "; 146 INPUT "NOTE? "; LINE m$: IF m$="r" THEN LET c$(j,1)=CHR$ 0: LET c$(j,2)=CHR$ 0: NEXT j 147 IF m$="" THEN LET m$=z$ 148 IF m$="stop" THEN GO TO 50 149 LET o1=VAL m$(1 TO (LEN m$-1)) 150 LET o2=VAL m$(LEN m$) 151 LET z$=m$ 152 LET c$(j,1)=CHR$ n(o1,o2,1) 153 LET c$(j,2)=CHR$ n(o1,o2,2) 154 PRINT m$;" " 155 NEXT j 156 GO TO 50 160 REM EDIT: GO TO 200 161 GO TO 200 180 CLS : PRINT "PLAY" 181 INPUT "A Volume",avol: INPUT "B volume",bvol: INPUT "C Volume",cvol 182 INPUT "Speed",sp,"START#? ";jjg 185 SOUND 7,56;8,avol;9,bvol;10,cvol 190 FOR j=jjg TO 400 191 SOUND 0,CODE a$(j,1);1,CODE a$(j,2);2,CODE b$(j,1);3,CODE b$(j,2) 192 SOUND 4,CODE c$(j,1)-1;5,CODE c$(j,2): PAUSE sp 193 IF INKEY$="x" THEN SOUND 8,0;9,0;10,0: GO TO 50 194 NEXT j: GO TO 190 195 GO TO 50 200 CLS : INPUT "What voice? (1=a, 2=b, 3=c) ";voice 201 PRINT "Use ^ to go fwd"'"Use down arrow to go bckwd": PAUSE 480 202 CLS 203 INPUT "START WHERE? (#) ";JJG 205 GO TO voice*10+200 210 LET j=JJG 211 SOUND 0,CODE a$(j,1);1,CODE a$(j,2);7,62;8,15 212 PRINT AT 10,0;"NOTE#: ";j;" " 214 IF INKEY$="x" THEN GO TO 50 215 IF INKEY$="i" THEN GO SUB 1000 216 LET j=j+(INKEY$="7")-(INKEY$="6"): IF j<1 THEN LET j=1 219 GO TO 211 220 LET j=JJG 221 SOUND 0,CODE b$(j,1);1,CODE b$(j,2);7,62;8,15 222 PRINT AT 10,0;"NOTE#: ";j;" " 224 IF INKEY$="x" THEN GO TO 50 225 IF INKEY$="i" THEN GO SUB 1050 226 LET j=j+(INKEY$="7")-(INKEY$="6"): IF j<1 THEN LET j=1 229 GO TO 221 1000 INPUT "NOTE? "; LINE m$: IF m$="r" THEN LET a$(j,1)=CHR$ 0: LET a$(j,2)=CHR$ 0: RETURN 1002 LET n1=VAL m$( TO (LEN m$-1)): LET n2=VAL m$(LEN m$): LET a$(j,1)=CHR$ n(n1,n2,1): LET a$(j,2)=CHR$ n(n1,n2,2) 1004 RETURN 1050 INPUT "NOTE? "; LINE m$: IF m$="r" THEN LET b$(j,1)=CHR$ 0: LET b$(j,2)=CHR$ 0: RETURN 1052 LET n1=VAL m$( TO (LEN m$-1)): LET n2=VAL m$(LEN m$): LET b$(j,1)=CHR$ n(n1,n2,1): LET b$(j,2)=CHR$ n(n1,n2,2) 1054 RETURN 9998 SAVE "janice" LINE 50