A robust, browser-based Setlist Manager designed for live performance with Cockos REAPER.
This web app reads your Reaper project's Regions as songs, allowing you to drag-and-drop them into setlists, control playback, and manage song transitions seamlessly from a tablet or laptop. It's using Vanilla JavaScript for backwards compatibility so it should work on virtually anything, including old iPads and ancient Android tablets.
- Live Region Sync: Automatically pulls song names and durations from your Reaper project regions as well as the markers.
- Sorting:
- Use Drag and Drop to visually reorder your setlist on the fly.
- Click on Song Index to enter a new song position in your setlist.
- The order is saved instantly to your device.
- Setlist Management: Create, rename, and delete multiple setlists (e.g., "Rehearsal", "Friday Gig").
- Setlist Stats: Instantly see the count of Active Songs and the Total Playtime for the set (automatically excludes skipped/disabled tracks).
- Smart Playback Logic:
- Queue Mode: Queue the next song to start seamlessly when the current one finishes.
- Auto-Stop: Automatically stop playback at the end of a song.
- Follow Actions (Chaining): Link specific songs together to play continuously (overriding Auto-Stop), allowing for custom mini-sets or medleys.
- Skip / Disable Songs: Mark specific songs to be skipped. Playback will automatically jump over them to the next active song.
- Loop Mode (⟳): Toggle the purple loop icon to repeat a song indefinitely. This overrides Auto-Stop and Chaining, making it perfect for ambient vamps while talking to the audience. You must manually toggle it off to proceed to the next song.
- Live Time Display: Shows total song duration when stopped, and switches to a high-visibility Countdown Timer during playback.
- Hide Skipped Songs: Toggle the visibility of deactivated songs for a cleaner view. The setlist numbering automatically updates to reflect only the active songs.
- Keyboard & Footswitch Support: Map pedals or keys to trigger playback, navigation, and panic stops.
- Backup: Export and Import your setlist data via JSON files.
- Touch Optimized: Designed with large tap targets for iPads/Android tablets - transport controls are placed in a sticky footer.
- Region Color Sync: Automatically displays the color of your Reaper regions for better visual organization and quick identification.
- Markers: Automatically shows the markers for each song in up to 3 rows. Disable this via the "Show markers" option.
For stability on stage, this tool does not require an internet connection, just a WiFi connection for the device running Reaper and the device using ReaSetlistManager.
- Save the
ReaSetlistManager.htmlcode provided into a file namedReaSetlistManager.html. - Download the SortableJS library:
- Click here to open Sortable.min.js
- Right-click the page and select "Save Page As..."
- Name it
Sortable.min.js.
- Open Reaper.
- Go to Options > Show REAPER resource path in explorer/finder.
- Open the folder
UserPlugins>reaper_www_root. - Copy both
ReaSetlistmanager.htmlandSortable.min.jsinto this folder.
- Go to Preferences > Control/OSC/Web.
- Click Add.
- Control surface mode:
Web Browser Interface. - Default Interface:
ReaSetlistManager. - Access URL: Note the address provided (e.g.,
http://localhost:8080). - Click OK.
This tool reads Regions, not tracks or markers.
- In Reaper, make a time selection around a song.
- Press
Shift+Rto create a Region. - Name the Region (e.g., "Song 1").
- Repeat for all songs.
Open the Access URL on your tablet or browser.
- PLAY / STOP: Standard transport controls. Play pauses the song if a song is currently playing.
- RESYNC (↻): If the connection drops or the tablet wakes from sleep, click this to restart the data stream without reloading the page.
- Auto-Scroll: Keeps the currently playing song centered on the screen.
- Queue Mode: * ON: Clicking "PLAY NEXT" waits for the current song to finish, then jumps.
- OFF: Clicking "PLAY NEXT" jumps immediately.
- Auto-Stop:
- ON: Playback stops at the end of the region.
- OFF: Playback continues linearly along the timeline.
- Drag Handle (☰): Grab this to reorder songs.
- Chain Button (■ / ➔): * Square (■): Default. The song obeys the global Auto-Stop setting.
- Green Arrow (➔): Active. When this song finishes, it will immediately trigger the next song in the list, regardless of Auto-Stop settings. Use this for segues.
- PLAY NEXT: Queues or plays the specific song.
- Dropdown: Select different saved setlists. Setlists are instantly saved so create a new setlist first and then set up the songs
- (+) Button: Create a new setlist (clones the current order).
- (x) Button: Delete the current setlist.
- (↓) Export: Download a
.jsonbackup of all your setlists and settings. - (↑) Import: Restore setlists from a
.jsonfile (overwrites current data).
This app is can also work with Bluetooth Page Turners (AirTurn/PageFlip) and USB Foot Pedals.
| Key | Function | Behavior |
|---|---|---|
| Space | Play / Pause | Smart Start: Toggles Play/Pause. If stopped at the start of the session, it automatically jumps to Song #1. |
| Enter | PANIC STOP | Stop & Rewind: Immediately stops playback and resets the playhead to the start of the current song. |
| Right ➡ | Play Next | Cues the Next song (stops and jumps to start). Automatically skips disabled tracks. |
| Up ⬆ | Play Previous | Cues the Previous song (stops and jumps to start). Automatically skips disabled tracks. |
| Left ⬅ | Restart Song | Jumps to the start of the Current song and restarts playback immediately. |
| Down ⬇ | Reset Set | Jumps to the start of Song #1 (Top of Setlist and cues it for playback). |
| ESC | Stops Loop | Stops the Loop action (only if loop is currently on). |
- Sync Logic: The app prioritizes the visual order on your screen ("Visual Master"). It only polls Reaper to update song durations and playhead positions, ensuring drag-and-drop operations are never interrupted by network latency.
This project is open-source. Feel free to modify and adapt for your own stage needs.
