Every score on the disk, not a named one
The makefile compiled splash.score by name, so intro.score sat beside it turning into nothing - which is exactly the failure the mirror three lines above exists to prevent, and its comment says so: a list in a makefile goes stale the moment somebody adds a file, and what they forgot is invisible until they go looking for it on the machine. Found by the user going looking for it on the machine. Every .score in Programs/Tunes is compiled and put on the disk now, and every patch in Programs/Sounds is converted first so a score can name any of them. The source is mirrored to /Source/Tunes with everything else that was written; the tune goes to the root, where a program looking for one expects it - which is worth writing down, because the two being in different places is the thing that sent somebody hunting. two.score moved to Tests. It is a fixture, it names patches that only exist in the test build, and it was in the music tree only because that is where scores were when it was written - which the game disk build found immediately by failing to compile it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
This commit is contained in:
co-authored by
Claude Opus 5
parent
dfc9d9ef7f
commit
f351ee8844
@@ -31,7 +31,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -21,7 +21,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -38,7 +38,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -28,7 +28,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -28,7 +28,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -114,7 +114,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -33,7 +33,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -21,7 +21,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -19,7 +19,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
@@ -28,7 +28,7 @@ Crash.sbx 632
|
||||
vars.script 50
|
||||
blocks.script 343
|
||||
loops.script 272
|
||||
splash.tune 218
|
||||
splash.tune 189
|
||||
tune.sbx 318
|
||||
Play.sbx 2526
|
||||
notes.txt 21
|
||||
|
||||
+2
-2
@@ -744,12 +744,12 @@ def blob(octave):
|
||||
open(sys.argv[1], "wb").write(blob(128))
|
||||
open(sys.argv[2], "wb").write(blob(129))
|
||||
FIXTURE
|
||||
"$ROOT/TuneC" -I "$WORK" "$ROOT/Programs/Tunes/two.score" "$WORK/compiled.tune" >/dev/null
|
||||
"$ROOT/TuneC" -I "$WORK" "$ROOT/Tests/two.score" "$WORK/compiled.tune" >/dev/null
|
||||
|
||||
# The same tune at half the speed. A TICK BELONGS TO THE TUNE, and the only reason nothing
|
||||
# noticed that Play was ignoring it was that every fixture asked for the tick Play happened to
|
||||
# have written into itself. One that asks for something else is the whole check.
|
||||
sed 's/#Tick 0d125000/#Tick 0d250000/' "$ROOT/Programs/Tunes/two.score" > "$WORK/slow.score"
|
||||
sed 's/#Tick 0d125000/#Tick 0d250000/' "$ROOT/Tests/two.score" > "$WORK/slow.score"
|
||||
"$ROOT/TuneC" -I "$WORK" "$WORK/slow.score" "$WORK/slow.tune" >/dev/null
|
||||
"$TOOL" put "$DISKS/quiet.img" "$WORK/slow.tune" slow.tune >/dev/null
|
||||
"$ROOT/Assembler" -I "$ROOT/Programs/Sounds" -I "$ROOT/Programs/Libraries" \
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
; Tests/two.score
|
||||
; The smallest thing that is a tune: one voice, two sequences, and an instrument change.
|
||||
; Written by Anachronaut
|
||||
;
|
||||
; BOTH NOTES ARE NUMBER 60. The octave between them is the #Use in the second sequence, which
|
||||
; loads the other patch - so what this plays says the whole path works: a header, a tick taken
|
||||
; from it, two tables relocated, an order list followed, and a patch out of the file.
|
||||
|
||||
#Tick 0d125000 ; A sixteenth note at 120 beats a minute.
|
||||
|
||||
#Patch Low low.patch
|
||||
#Patch High high.patch
|
||||
|
||||
#Voice 0d0 Low ; What voice nought starts on. The other three have no part.
|
||||
|
||||
#Sequence Plain
|
||||
0d60 0d4
|
||||
|
||||
#Sequence Octave
|
||||
#Use High ; A command, which takes no tick at all.
|
||||
0d60 0d4
|
||||
|
||||
#Order 0d0
|
||||
Plain Octave
|
||||
Reference in New Issue
Block a user