Skip to content

Add Octatrack export command#7

Draft
pixelate wants to merge 2 commits into
mainfrom
claude/add-octatrack-export-VPQoL
Draft

Add Octatrack export command#7
pixelate wants to merge 2 commits into
mainfrom
claude/add-octatrack-export-VPQoL

Conversation

@pixelate

@pixelate pixelate commented Mar 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds wavesync set export <name> --device <device> CLI subcommand
  • Implements OctatrackExporter that generates a complete Octatrack DPS-1 project: project.work (text config), bank01–16.work (binary pattern banks), arr01–08.work (arrangements), and markers.work
  • Reverse-engineered binary bank format from a reference project; bank files are generated from gzip-compressed templates (~3 KB total) with track assignments patched at known offsets and checksum recalculated
  • Track 1 → static slot 1 (first song), Track 5 → static slot 2 (second song); all songs assigned to sequential static slots; FLEX recorder slots 129–136 included
  • Project folder is named after the set in uppercase; prompts before overwriting an existing project
  • Adds optional projects_path to device config in wavesync.yml, separate from path (audio sync destination)
  • Calls sync after writing files to allow clean unmounting on macOS

Test plan

  • rake — rubocop, steep, and all 278 tests pass
  • Add projects_path to an Octatrack device entry in wavesync.yml
  • Run wavesync set export <name> --device <device> and verify the generated project loads correctly on an Octatrack DPS-1

@pixelate
pixelate force-pushed the claude/add-octatrack-export-VPQoL branch 6 times, most recently from 2786370 to 74b9a06 Compare March 28, 2026 15:43
Adds `wavesync set export <name> --device <device>` command that generates
an Octatrack DPS-1 project.work file with static sample slots mapped to
tracks in the set.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pixelate
pixelate force-pushed the claude/add-octatrack-export-VPQoL branch from 74b9a06 to d7711cb Compare April 19, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant