Sit back, relax, and let the pixels wash over you.
A desktop app for queuing up demoscene executables and watching them play back-to-back — no clicking, no fussing, just pure uninterrupted demo goodness.
If you've ever wanted to host a demoshow, run a long demo night, or just marathon your favourite releases without babysitting your keyboard, this is the tool for you. Add your demos, arrange them in whatever order sparks joy, hit Play, and walk away.
Built with Python and PyQt6. Windows is the primary target (because that's where the .exes live), but it'll run anywhere Python does.
- 📂 Add executables to a playlist from anywhere on your filesystem
↕️ Reorder entries with up/down controls- 💾 Save & load playlists as plain JSON files — easy to share, easy to edit
▶️ Play the entire playlist sequentially, one demo after another- 📡 Status bar shows which demo is currently running
- Python 3.14+
- uv
git clone https://github.com/thatguyjk/demoscene-playlist-tool.git
cd demoscene-playlist-tool
uv sync
uv run demoscene-playlist-tool- Click Add to pick an executable from your disk
- Use ▲ / ▼ to reorder entries
- Use File → Save Playlist to save your lineup as a
.jsonfile - Use File → Open Playlist to reload a saved lineup later
- Hit ▶ Play and enjoy the show
# Run tests
uv run pytest
# Run a single test
uv run pytest tests/test_playlist.py::test_save_and_load
# Lint
uv run ruff check .uv run pyinstaller demoscene_playlist_tool.specPlaylists are plain JSON — nothing fancy:
{
"entries": [
"C:\\demos\\elevated.exe",
"C:\\demos\\fr-08.exe",
"C:\\demos\\debris.exe"
]
}Made with love for the demoscene community. Greetings to everyone still pushing pixels! 🖥️✨