konsumer / konsumer/poketrack

Add "bundle" command: create zip with song + referenced files

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
13
Forks
1
Avg merge
19m
Merged PRs (30d)
4

Description

Add a "bundle" command (or equivalent save-for-distribution flow) that packages a song and all referenced assets into a single ZIP suitable for distribution.

Acceptance criteria / expected behavior:
- "bundle" button on settings screen, near save/load
- Load a zip bundle with existing "load" button
- Produces a .zip containing the main song file plus any referenced files (samples, wavetables, CLAP plugin data, etc.) with relative paths preserved.
- Resolves and includes referenced files from local paths and project-relative references; warns (but still includes) for missing external files.
- Deterministic output: same input produces same zip contents/order where possible.
- CLI: `poketrack --bundle `
- Tests: add a unit/integration test that creates a sample project with referenced files and verifies the produced zip contains expected files and manifest.

Notes:
- Keep the feature optional; it should not alter existing save behavior.

Contributor guide

Open the contributing guide

Research direction

Trace the settings screen's save/load flow and the CLI entry point for `poketrack --bundle `; first inspect how referenced assets and relative paths are represented. Add a bundle path that preserves existing save behavior, then add a unit or integration test creating referenced files and checking the ZIP contents, order, and manifest.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cli, desktop, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.