Session mode — changes live in this tab only.
Command Center

Admin Panel

Manage gigs, setlists, songs, attire, and members. Opens with live Firestore data pulled in automatically. Edits happen in this session — click ↑ Publish to Firestore above to go live (attire publishes as you go, see the Attire tab for details).

Gigs
Click any row to expand the edit form. Fields marked Venue Map URL, Route Map Embed URL, and Photo Album Share URL accept direct links — paste them in and they'll render on the public site and member portal automatically.
Loading gigs…
Setlists
Drag songs in the list to set the official order. Click + song name pills to add songs from the song library. Members can override the order with their personal practice order in the Music Library without affecting the official setlist.
Loading setlists…
Songs
MusicXML (fullMxl): Upload your .mxl full score to Firebase Storage, then paste the public download URL here. Do not use Google Drive — CORS policy blocks the browser from fetching it.
Per-instrument PDFs / MP3s / MIDI: Upload to Google Drive, set sharing to "Anyone with the link can view", and paste the /file/d/FILE_ID/view URL. The site converts it to a direct download URL automatically.
File naming convention: {song-slug}_{instrument-slug}.pdf · .mp3 · .mid · .mxl
Loading songs…
Standard Attire
These items appear on the member attire page as the standard kit for all gigs. Drag rows to reorder. Gig-specific modifications are set per-gig in the Gigs tab (Attire Notes field). Saving or reordering an item will ask to publish it to Firestore immediately — after the first confirmation this session, further attire edits publish automatically.
Loading attire…
Pending Members
Signups from the public Request Access form land here. Approve writes status: "active" directly to Firestore. Reject deletes the signup permanently. Both take effect immediately — no Publish step needed. Requests flagged Other named an instrument outside the standard list and may need a score-master's attention before you approve them.
Loading pending signups…
Members
Member records control access to the member portal. The email address must match the member's Google account exactly — it becomes the Firestore document ID. Any member with a record — active or pending — can sign in; status is shown to the member for personalization but does not gate access. Set status to inactive to revoke a former member's access. Saves here go to the session — click ↑ Publish to Firestore above to take effect (deletes are immediate, see the row's Delete button).
Loading members…