> ## Documentation Index
> Fetch the complete documentation index at: https://songbird.studiocollective.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# songbird-session

# songbird-session

Runtime session orchestration. Sits between persisted project state
(`songbird-state`) and the live audio engine (`songbird-engine`),
turning a `StateManager` snapshot into a fully-built, ready-to-play
`EngineSession` — graph, scheduler, plugins, sends, and returns.

Used by both the Tauri desktop app and the headless server, so each
host only needs to wire in its own progress reporting and asset
registration.

## Modules

* **`build`** — `build_session_from_project` and variants. The bird →
  session pipeline: parses clips into the scheduler, instantiates stock
  * hosted plugins, wires send/return routing. Progress callbacks are
    optional (used by the desktop shell to drive the loading sequence).
* **`scheduler`** — `compute_scheduler_bookkeeping`. Mirrors track
  headers and audition lanes into the live `ClipScheduler` without a
  full rebuild.
* **`lifecycle`** — `register_ring_buffer_clips_with_pool`. Per-session
  asset registration (ring-buffer pre-fill / read pool wiring). Future
  home for start / stop / hot-swap orchestration.

## What it does *not* own

* **Engine-lifecycle orchestration** (session activation, device
  management, plugin editor hosting) — that is `songbird-orchestrator`.
* **Project open/save, template bootstrap** — that is `songbird-project`.
* **`EngineSession` construction APIs** (`load_from_bird`,
  `EngineSessionBuilder`) — those live next to `EngineSession` in
  `songbird-engine` by design. Pulling them out would force widening
  engine-internal APIs to `pub` for questionable benefit.

No UI dependencies.
