summaryrefslogtreecommitdiff
path: root/workspaces/main/music.track
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-09 18:51:54 +0100
committerskal <pascal.massimino@gmail.com>2026-02-09 18:51:54 +0100
commit7790472dabfa0ecd06f3408d847860ec6072866e (patch)
tree5bce7b119f42d131daf746ddc052da2da5ff0650 /workspaces/main/music.track
parent002ab9094f638c46d5db95d478e71c10933aceb2 (diff)
feat: Implement workspace system (Task #77)
Self-contained workspaces for parallel demo development. Structure: - workspaces/main,test - Demo-specific resources - assets/common - Shared resources - workspace.cfg - Configuration per workspace CMake integration: - DEMO_WORKSPACE option (defaults to main) - cmake/ParseWorkspace.cmake - Config parser - Workspace-relative asset/timeline/music paths Migration: - Main demo: demo.seq to workspaces/main/timeline.seq - Test demo: test_demo.seq to workspaces/test/timeline.seq - Common shaders: assets/common/shaders - Workspace shaders: workspaces/*/shaders Build: cmake -B build -DDEMO_WORKSPACE=main cmake -B build_test -DDEMO_WORKSPACE=test All tests passing (36/36). handoff(Claude): Task #77 workspace system complete. Both main and test workspaces build and pass all tests. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main/music.track')
-rw-r--r--workspaces/main/music.track149
1 files changed, 149 insertions, 0 deletions
diff --git a/workspaces/main/music.track b/workspaces/main/music.track
new file mode 100644
index 0000000..c5b953b
--- /dev/null
+++ b/workspaces/main/music.track
@@ -0,0 +1,149 @@
+# Simple Demo Track - Steady beat with progressive variation
+# Duration: 32 seconds (16 units at 120 BPM)
+#
+# Structure:
+# - Steady kick + snare throughout
+# - Snare sample varies every 4s
+# - Kick sample varies every 8s
+# - Ride added after 16s
+#
+# TIMING: Unit-less (1 unit = 4 beats at 120 BPM = 2 seconds)
+
+BPM 120
+
+SAMPLE ASSET_KICK_1
+SAMPLE ASSET_KICK_2
+SAMPLE ASSET_SNARE_1
+SAMPLE ASSET_SNARE_2
+SAMPLE ASSET_SNARE_3
+SAMPLE ASSET_RIDE_1
+
+# === KICK PATTERNS ===
+# Steady kick on beats 0 and 2 (quarter notes)
+PATTERN kick_1 LENGTH 1.0
+ 0.00, ASSET_KICK_1, 1.0, 0.0
+ 0.50, ASSET_KICK_1, 1.0, 0.0
+
+PATTERN kick_2 LENGTH 1.0
+ 0.00, ASSET_KICK_2, 1.0, 0.0
+ 0.50, ASSET_KICK_2, 1.0, 0.0
+
+# === SNARE PATTERNS ===
+# Steady snare on beats 1 and 3 (backbeat)
+PATTERN snare_1 LENGTH 1.0
+ 0.25, ASSET_SNARE_1, 1.0, 0.0
+ 0.75, ASSET_SNARE_1, 1.0, 0.0
+
+PATTERN snare_2 LENGTH 1.0
+ 0.25, ASSET_SNARE_2, 1.0, 0.0
+ 0.75, ASSET_SNARE_2, 1.0, 0.0
+
+PATTERN snare_3 LENGTH 1.0
+ 0.25, ASSET_SNARE_3, 1.0, 0.0
+ 0.75, ASSET_SNARE_3, 1.0, 0.0
+
+# === RIDE PATTERN ===
+# Ride cymbal on every beat (quarter notes)
+PATTERN ride LENGTH 1.0
+ 0.00, ASSET_RIDE_1, 0.7, 0.2
+ 0.25, ASSET_RIDE_1, 0.6, 0.2
+ 0.50, ASSET_RIDE_1, 0.7, 0.2
+ 0.75, ASSET_RIDE_1, 0.6, 0.2
+
+# === SCORE ===
+SCORE
+# 0-4s (0-2 units): KICK_1 + SNARE_1
+ 0.00, kick_1
+ 0.00, snare_1
+ 0.50, kick_1
+ 0.50, snare_1
+ 1.00, kick_1
+ 1.00, snare_1
+ 1.50, kick_1
+ 1.50, snare_1
+
+# 4-8s (2-4 units): KICK_1 + SNARE_2
+ 2.00, kick_1
+ 2.00, snare_2
+ 2.50, kick_1
+ 2.50, snare_2
+ 3.00, kick_1
+ 3.00, snare_2
+ 3.50, kick_1
+ 3.50, snare_2
+
+# 8-12s (4-6 units): KICK_2 + SNARE_3
+ 4.00, kick_2
+ 4.00, snare_3
+ 4.50, kick_2
+ 4.50, snare_3
+ 5.00, kick_2
+ 5.00, snare_3
+ 5.50, kick_2
+ 5.50, snare_3
+
+# 12-16s (6-8 units): KICK_2 + SNARE_1
+ 6.00, kick_2
+ 6.00, snare_1
+ 6.50, kick_2
+ 6.50, snare_1
+ 7.00, kick_2
+ 7.00, snare_1
+ 7.50, kick_2
+ 7.50, snare_1
+
+# 16-20s (8-10 units): KICK_1 + SNARE_2 + RIDE
+ 8.00, kick_1
+ 8.00, snare_2
+ 8.00, ride
+ 8.50, kick_1
+ 8.50, snare_2
+ 8.50, ride
+ 9.00, kick_1
+ 9.00, snare_2
+ 9.00, ride
+ 9.50, kick_1
+ 9.50, snare_2
+ 9.50, ride
+
+# 20-24s (10-12 units): KICK_2 + SNARE_3 + RIDE
+ 10.00, kick_2
+ 10.00, snare_3
+ 10.00, ride
+ 10.50, kick_2
+ 10.50, snare_3
+ 10.50, ride
+ 11.00, kick_2
+ 11.00, snare_3
+ 11.00, ride
+ 11.50, kick_2
+ 11.50, snare_3
+ 11.50, ride
+
+# 24-28s (12-14 units): KICK_1 + SNARE_1 + RIDE
+ 12.00, kick_1
+ 12.00, snare_1
+ 12.00, ride
+ 12.50, kick_1
+ 12.50, snare_1
+ 12.50, ride
+ 13.00, kick_1
+ 13.00, snare_1
+ 13.00, ride
+ 13.50, kick_1
+ 13.50, snare_1
+ 13.50, ride
+
+# 28-32s (14-16 units): KICK_2 + SNARE_2 + RIDE
+ 14.00, kick_2
+ 14.00, snare_2
+ 14.00, ride
+ 14.50, kick_2
+ 14.50, snare_2
+ 14.50, ride
+ 15.00, kick_2
+ 15.00, snare_2
+ 15.00, ride
+ 15.50, kick_2
+ 15.50, snare_2
+ 15.50, ride