Setlists — .setlist.jsong
Status: draft. Concrete reference content + structural placeholders; flesh out the prose + screenshots when ready.
Purpose
A .setlist.jsong file is one setlist's running order, saved as plain JSON. Use it to archive a setlist for a specific gig, share a setlist with a bandmate so they can build the same show, or post a setlist as a reference for a tribute set.
What's in the file
| Top-level field | Contains |
|---|---|
format | "jsong-setlist" — the format identifier. |
version | 2 — current version. |
name, description | Setlist metadata. |
meta | Provenance block — source (app + version), created_at. |
entries | Ordered array of entry objects — the running order. |
extensions | Reserved object for third-party data (empty on VL Studio export). |
entries array
Each entry is an object with:
| Entry field | Contains |
|---|---|
position | Order in the setlist (zero-indexed). |
entry_type | One of "song", "preset", or "talk". |
song_name | For song entries — name of the referenced song. Null otherwise. |
preset_name, preset_slot | For preset entries (the preset to load), or talk entries with a per-entry override. Null when the entry uses the global TALK slot. |
notes | Free-form performance context. |
How talk-breaks are exported
The export uses the preset_name / preset_slot fields to capture a talk-break's per-entry override, exactly the same way a preset entry references its preset. If the talk-break uses the global TALK slot (Settings → TALK Preset), preset_name and preset_slot are null and the entry falls back to the destination's global setting on import.
How to export
Setlists page → open a setlist → Export action → choose a save location. VL Studio writes a file named after the setlist (e.g., Saturday at the Cafe.setlist.jsong).
How to import
Standalone import is not yet implemented
There is currently no standalone .setlist.jsong import in VL Studio. The format exports, but the application has no UI or backend command for importing one of these files directly.
To restore a setlist on another machine, use a full backup instead — backups include setlists with their entries and round-trip cleanly.
A future release will add standalone setlist import. Until then, treat .setlist.jsong as an archive / share-with-a-bandmate format whose ingest path is "via full backup," and use the file's JSON contents as a reference for manually re-building the setlist.
What's reference-only, not embedded
A setlist file references songs and presets by name and slot, not by embedding them. The file itself does not contain the songs or presets it lists — only the running order, the entry types, and the lookup hints.
For the file to be useful on another machine when import lands, the destination library will need to already contain the referenced songs and presets — easiest done by either importing the songs first (one .jsong per song; see Songs format) or restoring from a full backup.
See also
- Setlists — assembling running orders.
- Sharing & Files — overview of all interchange formats.
- Full backups — currently the only way to restore a setlist on another machine.
- Songs (.jsong) — the format for the songs a setlist references.
