Skip to main content

TouchTunes-style touchscreen jukebox UI for Mopidy

Project description

Mopidy-Jukebox

PyPI CI

A Mopidy extension that turns a touchscreen into a TouchTunes-style jukebox. Guests browse album art, spend free credits, and queue the next song — from the cabinet itself or from their phone.

Built for an actual 1990s TouchTunes Allegro cabinet with a resistive Elo panel, so the UI assumes single-touch, no hover, and no keyboard.

What it does

  • Art-first browsing. Categories come from whatever your backends expose; albums and artists render as tiles, with drill-down to track lists.
  • Dialable selection codes. Track lists page into banks — A1–A10, then B1–B10 — and an on-screen keypad lets you punch in a code, the way the mechanical machines worked.
  • Credits. Free, but rationed: a starting balance and a slow refill, so one person can't own the night.
  • No transport controls for guests. No pause, no skip, no volume. An admin panel hides behind five taps on the credits counter.
  • Attract mode built from album art already in the cache.
  • Phone and kiosk layouts from one page, with the device's own keyboard on phones and a built-in QWERTY on the wall unit.

Served from Mopidy's own web server, so the page and the JSON-RPC endpoint share an origin — there is no CORS configuration to get wrong.

Installation

python3 -m pip install Mopidy-Jukebox

Then open http://<your-host>:6680/jukebox/.

Configuration

Defaults are usable as-is. To change them, add a [jukebox] section to your mopidy.conf:

[jukebox]
enabled = true
start_credits = 4        # credits a guest starts with
max_credits = 8          # ceiling, so credits don't stockpile
refill_seconds = 600     # one more credit every N seconds
cost_per_song = 1
attract_seconds = 90     # idle time before the attract screen
page_size = 10           # rows per selection bank (A1..A10)
title = Jukebox

Every client reads these from /jukeboxapi/config.json, so a change here applies to the wall unit and every phone at once.

Project resources

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mopidy_jukebox-1.0.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mopidy_jukebox-1.0.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file mopidy_jukebox-1.0.0.tar.gz.

File metadata

  • Download URL: mopidy_jukebox-1.0.0.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mopidy_jukebox-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c79cf45b3accd710e881327cf26f23131eae668ab0597b56f1750547134b89b8
MD5 e4f693e2b8edfb3fde26a276fe48a86e
BLAKE2b-256 f784f3eb63599949182de875bbc49d6b01665ae81102663c700fa9114bb4d94b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_jukebox-1.0.0.tar.gz:

Publisher: ci.yml on kingbutter/mopidy-jukebox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mopidy_jukebox-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mopidy_jukebox-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mopidy_jukebox-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2bd36cb7952631c67da0937d03e5187cc364885d63d6c6ce6e15c989e9cb726
MD5 5b40de358a18bf7c52952e1c862b2153
BLAKE2b-256 ec595c450818f4990aa7c0b219e5145ac66cc1fc669ece165b8e272ed378fb65

See more details on using hashes here.

Provenance

The following attestation bundles were made for mopidy_jukebox-1.0.0-py3-none-any.whl:

Publisher: ci.yml on kingbutter/mopidy-jukebox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page