diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-09 18:51:54 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-09 18:51:54 +0100 |
| commit | 7790472dabfa0ecd06f3408d847860ec6072866e (patch) | |
| tree | 5bce7b119f42d131daf746ddc052da2da5ff0650 /workspaces/main/music.track | |
| parent | 002ab9094f638c46d5db95d478e71c10933aceb2 (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.track | 149 |
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 |
