in progress
This tutorial ia how to set up a basic coin op public style jukebox for your home games room / garage ect. unlike the other tutorial which is a amarok based player this one is a little more Luddite friendly and is more suited to a stand alone cabinet like this.
An x86 PC running ubuntu with 3d graphics. ( i have tried nvidia with proprietary drivers and it works fine. i would imagine the ATI and intel 3d graphics would woks as well but i personally haven't tried them).
And multijuke available from here multijuke. Multijuke is licensed as freeware for home use however a donation is sought from the author for each instance where the application is used in a commercial manner.
this guide is based on ubuntu version 7.10
1 install the base ubuntu system with the username “jukebox” then add the following packages, 3d graphics drivers ( run glxgears to see if they have been installed properly). you can use the ubuntu restricted drivers application to install nvidia resticted drivers. alternatively you can use the following command from CLI.
sudo apt-get install sysv-rc-conf libstdc++5 libglu1-mesa numlockx
2 untar the downloaded multijuke package and place it in your user directory in its own directory, ie,
/home/jukebox/multijuke
as per the directions in multijukes install.txt file browse to the extracted dir and copy the shared files across to there correct locations,
cd /home/jukebox//MultiJuke sudo cp libfmodex.so.4.06.23 /lib/libfmodex.so.4.06.23 sudo cp libfmodex.so /lib/libfmodex.so
to boot straight into the application without all the gnome services running in the background i will create a custom gdm entry for the application
firstly once you have setup ubuntu and are running a gnome session set the sysytem>admin>login>security to enable automatic login for the account you created (in this scenario we will uses jukebox).
this will enable the PC/jukebox to not need user intervention in the boot process.
now we will need to add a custom entry into the gdm login options, to do this you need to open gedit (the text editor) with root permisions, the easiest way to do this is to launch gedit from terminal with this command.
gksudo gedit
now select new and paste the following into the blank document.(note that the exec line MUST point to the place on your system where the multijuke executable is!)
[Desktop Entry] Encoding=UTF-8 Name=multijuke Comment=multijuke jukebox program Exec=/home/jukebox/multijuke/multijuke Type=Application
save the file as /usr/share/xsessions/jukebox.desktop
now its time to see if we can boot into multijuke, close the current session with the cont/alt/backspace key combination and log in with your username and password ONLY before hitting enter to accept the password, change the logon session the jukebox. it will prompt you if you want to make this the default but while we are still setting up the system we will say just for this session.
you may have noticed we installed a package called sysv-rc-conf earlier. This application is a little utility that allows you to enable/disable a few of the services linux loads initially. some of these services such as cups and bluetooth may not be required for your jukebox so its possible to disable them for faster boot times.
heres a link with some more comprehensive info on the services you may wish to disable. ubuntu services
once we have got multijuke up and running its time to set it up. the configs within multijuke are self documented and are accessed with the tab abd ctrl keys on the keyboard. Basicly the only thing wee need to do is set up a music library path for the jukebox to access, a few tips here are,
- it looks as though multijuke can handle 99 directorys with 99 songs in them each.
- a jpg file with the name folder.jpg will supply the cover art to each folder/album.
- Multijuke has the options of using the arcade or touchscreen GUIs which means you can control your jukebox with a joystick (in arcade mode) or a touchscreen/trackball/mouse (in touchscreen mode).
- personally i made a customized control panel out of some surplus pushbuttons by labeling them and wiring them to the corresponding matrix positions on an old keyboard i had lying round, other more elegant solutions are to use something such as the an ipac or the keywiz.