Convergence Jukebox 2, along with its Python Code, has been released at its Github site. Here is what it does.
To accommodate its “retro” look and feel, Convergence Jukebox is not a touchscreen solution. It doesn’t use a full or popup keyboard and it doesn’t act like modern touchscreen jukeboxes where album covers, advertising and barker screens are baked into its design. That said, all of those features could easily be added to Convergence Jukebox’s code base by those with a desire and knowledge of Python coding techniques.
Features included in the initial release of Convergence Jukebox are quite extensive and are as follows;
- Unlimited mp3 library size: Currently operating in our development centre is a version containing 15,000 mp3 files. This implementation runs on minimum hardware. In this case it’s an HP MINI 210 PC that contains an Atom N450 processor, 1024 MB of memory and a 160.0 GB hard drive. For Raspberry Pi we’re operating the original Convergence Jukebox containing 9400 mp3 files on Raspberry Pi 1 model B revision 2 with 512 MB ram, a Raspberry Pi 2 and a Raspberry Pi Zero employing a 64.0 GB SD card.
- Automatic Song Detection: MP3 library database is built automatically when additional properly formed ID3 tagged files are added to the media folder and the program is restarted.
- Multiple Display Resolutions: Developers can change display resolution, skins and customize all items on the screen (such as song name positions) using Pythons Tkinter code.
- Customizable To Your Location: The Jukebox name or service at top of arch can be customized in the Python Tkinter code.
- Background Music System: Convergence Jukebox plays library loaded in Jukebox in a continuous manner randomly. Makes an excellent background music system.
- Different Styles Of Music: mp3’s can be tagged with genres in comment area of ID3 tag. Random play can be set to play specific genres by altering a simple text file.
- Songs Can Be Skipped: mp3’s can be tagged “norandom” meaning they will never play randomly. This means mp3’s with potentially unsuitable content can only be played if selected.
- Avoids Repeating The Same Songs Continuously: mp3’s on the random list are only played once during a random play cycle.
- Automatic Resetting Of Random List: Convergence Jukebox resets the random list when the software is rebooted or all selections in the jukebox have been played once randomly.
- Clearly Identified Songs: While song is playing, song title and artist are displayed prominently under the Jukebox arch on the display.
- More detailed song information is displayed in the green display (top left) that includes year released, song length and album name pulled from the mp3 id3 tags.
- Convergence Jukebox plays user selected songs (paid) as a priority: When selected songs are listed in order of selection under the Upcoming Selections heading in the status area.
- Users cannot select the same song if it’s on the Upcoming Selections list. This eliminates the same song from being played repeatedly.
- Songs played via selection are removed from the random playlist. This eliminates the same song from being played repeatedly.
- Random play resumes once user selected songs have completed playing.
- Number of Credits, cost per credit and the number of songs available in the library are clearly displayed (and editable in the Python code) at the bottom left of the green screen .
- Users can navigate through available music using up/down/left/right navigation keys.
- Users can navigate through music selecting songs by either Title or Artist.
- Users can navigate to the alphabetical start of either Artist or Title using specific letter keys that employ multiple keypresses.
- A log is kept of each song played randomly, each song paid to play, when the Jukebox is rebooted, when songs are added and when a new random list is generated.
- Python code
has been written foris included in Convergence Jukebox that’s not been documented in the released versionthat talks to the Dropbox folder toproviding RSS feeds for digital signage systems. as well asIt is possible to include code to create tweets to Twitter accounts making the jukebox useful as a global barker system.