Ingest Reaper media into a workspace

This guide shows how to scan a Reaper media directory and populate episode.yaml without copying audio.

1. Create a workspace

podcast init --episode-id ep_001 --workspace ./workspaces/ep_001

Notes:

  • --workspace must not exist; the command creates it.

  • The workspace root will contain episode.yaml and state.json.

2. Run ingest

podcast ingest \
  --workspace ./workspaces/ep_001 \
  --reaper-media-dir /path/to/ReaperMedia \
  --tracks-glob "*.flac"

Notes:

  • --reaper-media-dir must exist and point at the Reaper media folder.

  • --tracks-glob defaults to *.flac.

3. Review episode.yaml

podcast ingest updates episode.yaml with the source directory and discovered tracks:

episode_id: ep_001
schema_version: 1
sources:
  reaper_media_dir: /absolute/path/to/ReaperMedia
  tracks_glob: "*.flac"
tracks:
  - track_id: ada_01
    path: "Ada 1.flac"
    label: "Ada 1"

Details:

  • tracks[].path is stored relative to sources.reaper_media_dir; the audio stays in place.

  • track_id values are stable for a given path and must match ^[a-z][a-z0-9_]*$.

  • The ingest heuristics convert filenames like Ada-02.flac into track_id: ada_02 and label: Ada 2.

  • If you re-run ingest, existing track_id, label, and role values for matching paths are preserved.