Skip to content

suckyble/ReaSetlistManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 

Repository files navigation

ReaSetlistManager

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.

screenshot

🌟 Key Features

  • 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.

🛠️ Installation (Offline Ready)

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.

1. Download Files

  1. Save the ReaSetlistManager.html code provided into a file named ReaSetlistManager.html.
  2. Download the SortableJS library:

2. Place in Reaper Web Root

  1. Open Reaper.
  2. Go to Options > Show REAPER resource path in explorer/finder.
  3. Open the folder UserPlugins > reaper_www_root.
  4. Copy both ReaSetlistmanager.html and Sortable.min.js into this folder.

3. Configure Reaper

  1. Go to Preferences > Control/OSC/Web.
  2. Click Add.
  3. Control surface mode: Web Browser Interface.
  4. Default Interface: ReaSetlistManager.
  5. Access URL: Note the address provided (e.g., http://localhost:8080).
  6. Click OK.

🚀 How to Use

1. Preparing Your Project

This tool reads Regions, not tracks or markers.

  1. In Reaper, make a time selection around a song.
  2. Press Shift + R to create a Region.
  3. Name the Region (e.g., "Song 1").
  4. Repeat for all songs.

2. The Web Interface

Open the Access URL on your tablet or browser.

Transport Controls

  • 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.

Toggle Switches

  • 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.

Song List Controls

  • 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.

3. Managing Setlists

  • 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 .json backup of all your setlists and settings.
  • (↑) Import: Restore setlists from a .json file (overwrites current data).

4. Keyboard & Footswitch Control

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).

⚙️ Technical Details

  • 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.

📄 License

This project is open-source. Feel free to modify and adapt for your own stage needs.

About

easy to use setlist manager using Reaper Web OSC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages