Hi,
Posting this here in case someone fonds this useful!
I’ve been using Ardour as a live playback system for a tribute band since 2023. I programmed songs one after the other in the timeline. We dont juste use qn MP3 player because Ardour also receives and sends MIDI to various gear onstage.
We needed a way for our drummer to quickly find and start / stop the playback for a given song, without requiring me to reorder songs in the Ardour session before each gig to match the setlist, which would be a massive pain, or being restricted during rehearsals.
Quite early on I stitched a solution together using Open Stage Control (an OSC server and client) using a custom module and UI. It works thanks to the OSC and feedback support in Ardour.
The cool thing is, the custom module will auto discover the list of songs by scanning the session for Location markers: it starts from the "start’’ marker then repeatedly requests “next_marker” to Ardour until the “end” marker is reached. This registers a custom variable that feeds a dropdown menu of songs in the UI. I use a “Cue A” marker to indicate ends of songs, which the plugin uses to automatically send transport_stop to Ardour. (Range markers did not work at the time because OSC sis not receive information sufficient to detect song names and ends, but maybe this has changed since Ardour 8.2. I guess I could also use a specially named Location marker so as not to interfere with the clips system. Ideas for improvement!)
The only limitation is that right now this prevents me from putting informational markers such as verse / chorus / etc, as they would appear in the song list. But I think some simple naming convention and filtering could solve this, such as naming song markers “S:: Song name” and stripping the prefix for display purposes.
Anyways, here’s a repo with the setup: florimondmanca/ardour-player: A setlist player setup for Ardour using OpenStageControl - Codeberg.org
Cheers