Skip to content

jdellinger/JavaJukebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Jukebox - Java based player for mp3 library

This is a standalone music player intended for use in shared work environments, but works just as well as a personal player as well.

This player uses the BasicPlayer API from JavaZoom. (http://www.javazoom.net/jlgui/api.html). The java process lauches an embedded Jetty server to provide a web interface and webservice endpoints. There is a companion Android application (JavaJukeboxApp) that interfaces with the process to provide remote control features via mobile device.

This project is built and packaged using Maven 2.
Run "mvn clean package" from the root directory to build and package the assembly zip file.
Expand the zip file to a location of your choice.
Run the appropriate script from the bin directory to start the app.

Your music files will be processed and stored in a Derby database. The default location of the database files is in a directory "db" within your music directory. To specify an alternate db location, use the -db option. If a database is not present, one will be created and the music files will be processed. If a database exists with tracks loaded, no files will be processed.

Example:
./jukebox.sh [-p <port>] [-d <directory>] [-db <db_directory>]
where <port> is the web interface port
  and <directory> is the root path of where your mp3 files are stored.
  and <db_directory> is the root path where the "db" directory will be created for a derby database.
  
Defaults: port=9999, directory=JUKEBOX_HOME/music, db_directory=JUKEBOX_HOME/music

An optional settings.jbx file can exist at the top of your music directory. If it exists, it will be used to populate user info. If not, all tracks will be associated with default user. This settings file is a standard java properties files. The "users" property should be a comma delimited list of usernames. Each of those may define a property "gravatarId" to specify a gravatar hash to use as a user icon. Any tracks appearing in or beneath a directory whose name matches a user name will be associated with that user. Example:
users=user1,user2
user1.gravatarId=<somelargehash>
user2.gravatarId=<someotherhash>

The default username is "default". If you wish to override the gravatar hash for the default account, simply specify it in the settings file just as you would any other user. The settings file is watched for changes and updates are dynamically loaded without restarting the server.

This app has been tested using Java6 on Windows XP and Mac OS X Snow Leopard.

TODO:
* Add sound bite builder to create sound bites from existing tracks
* Add sound bite injection
* Add custom playlists

About

Java based player for mp3 library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published