
Jukebox Plus [ Video Demo ] Available in One-Click Install Jukebox Plus is a Mod Script for Roll20 that expands and improves the built-in jukebox, focusing on giving GMs more organized, flexible, and intuitive control over in-game audio. I wrote this because playlists are a bit limited in the standard jukebox, and I could never remember what a track sounded like by the title. This allows for descriptions, images, and as many Albums (tags) as you like. The linked video demonstrates the script in action. Once this has been previewed, I'll try to squash any bugs or deal with requested features—no guarantees :) —before sending to the One Click repo for easy installation. List o' Features: Support for custom albums (tags) and playlists for sorting and organizing tracks Editable track descriptions and optional image previews A clean sidebar and track interface with light and dark mode options Easy controls for play, stop, loop, isolate, and bulk actions like "Play All" and "Stop All" Announce function to send styled “Now Playing” messages to the chat, including image and text A Find command to search track names and descriptions, grouping results in a temporary "Found" album Identifies duplicate tracks Backup and restore tools to preserve playlists, tags, and track metadata between games (moderate fidelity, use with this in mind) The script is designed to be easy to use and maintain, making it ideal for games where music and atmosphere play an important role. This video demo walks through the interface and showcases how to use it to manage your Roll20 audio. Getting Started Jukebox Plus lets you organize and control music tracks by albums or playlists. Use the toggle buttons in the sidebar to switch between views. Tracks are displayed on the right, and control buttons appear for each one. Header Buttons At the top right of the interface: • Play All — Plays all visible tracks simultaneously. Limited to the first five visible. • Stop All Audio — Stops all currently playing tracks • Loop All — Sets loop mode for all visible tracks • Unloop All — Disables loop mode for all tracks • Find Tracks — Search all track names and descriptions for the keyword. All matching tracks will be assigned to a temporary album called Found. You can then switch to the Found album to quickly view the results. To clear the results, simply delete the Found album using the utility panel. If you input "d" as the search term it will create a temporary play list of any duplicate tracks, grouped by name. • Help — Displays a full help page. Click Return to Player to return. Sidebar: Navigation & Now Playing View Mode Toggle The left sidebar lists all albums or playlists, depending on the current view mode. Clicking a name switches the view. These buttons let you switch between organizing by Album tags or by manual Playlists. Albums are groupings of tracks that you define through Jukebox Plus. You can make as many of these as you like, and any track may belong to multiple Albums. Playlists are managed by the Roll20 Jukebox interface. You can view and play them here, but you cannot move them about. At the bottom of the list is: — filters the list to show only tracks currently playing. Track Controls Each track shows these control buttons: Play : Start the track. Loop : Toggle loop mode for the track. Isolate : Stops all others and plays only this one. Stop : Stops this track. ➤ Announce : Sends the track name and description to the chat window. Example: Track Info and Management • Click the track description "edit" link to create a description. You can use "//" to insert a line break. • Each track has a Playlist tag, and the ability to add album tags. Playlist tags are in blue, and Album tags are in red. Click + Add to add a track to an Album. Click a Playlist or Album tag to jump immediately to that Playlist or Album. Click the "x" in an Album tag to remove the track from that Album: Album name | x • Click the image area to submit a valid image URL. This will be used as the image for that track. It will be cropped to fit a 100px square. The URL can come from your Roll20 image library or any valid image host. Utility Panel Click Settings ▾ to expand the utility tools. Includes: These buttons change the name of an album, add a new album, or remove the currently selected album. There is no verification, so use with care. These buttons switch between light and dark mode. Rebuilds the interface if something breaks. These buttons create a backup handout of the custom data you have entered: playlists, descriptions, and images. Higher numbered handouts are later backups. You can restore from a backup if your data gets screwed up, or you can transmogrify the handout, or copy it to a new game, and restore from there. This is a useful way to move your customizations from game to game. Use with caution. Roll20 stores tracks by ID number which are different in every game, and the script tries hard to match title to ID. If you have multiple tracks with the same name or have renamed a track, this may not perform as expected. Useful Macros Here are some chat commands that can be used in macros: !jb — Puts a link to this handout in chat !jb play TrackName — play the named track !jb stopall — stops all audio !jb loopall — sets loop mode on all visible tracks !jb unloopall — disables loop mode on all tracks !jb jump album AlbumName — switch to a specific album !jb help — open this help screen !jb find keyword — command to search all track names and descriptions for the keyword. All matching tracks will be assigned to a temporary album called Found. You can then switch to the Found album to quickly view the results. To clear the results, simply delete the Found album using the utility panel. !jb find d — command to search all track names duplicate tracks. All duplicate tracks will be assigned to a temporary album called Duplicates. You can then switch to the Duplicates album to quickly view the results. To clear the results, simply delete the Duplicates album using the utility panel. You can also discover commands by pressing a button, clicking in the chat window, and pressing the up arrow to see what was sent.