
The Sajber Jukebox is a graphical user interface and a mpeg layer 3
player with the following features:

This program has NO WARRANTY. I doubt there are any machine-killer bugs
in it, but even if there are, it's your decision to use this program or
not.

The current features of The Sajber Jukebox are as follows: 

  * Supports mpeg layer 3. The support for mpeg layer 1 & 2 and wav files 
    is still in there, but untested. 
  * Playing of the 'net. By using normal http addresses, ie 
    http://whatever.host.on.the.net/~someguy/song.mp3, you can play without 
    having to first download. 
  * Forward, Rewind, Pause, Seek. The Sajber Jukebox allows for moving 
    backwards and forwards in the song [unless its streaming, then rewind
    wont work]. By pressing on the progression bar you can make swift jumps 
    to any place in the song of your liking. 
  * Mixer control. The Sajber Jukebox comes with a mixer control that allows 
    you to change bass, treble, volume and pcm/dsp setting at any time
    without having to start a second program. 
  * Three types of browsers: 
       - File Browser. A local filemanager type of browser, which allows you 
         to click around on your local system and select songs you wish to
         play. 
       - Standard Database. A database which allows you to recursively scan 
         the harddisk or a directory structure in search for songs. The
         database is sorted by group, album and songname and makes it easy to 
         keep track of your songs, unregardless of where on the harddisk
         they are located. It also supports http references in addition to 
         ordinary files. 
       - Http Browser. This browser allows for playing songs of the net, and 
         scanning home pages for songs. By giving the Http Browser an URL
         to a page, it will retrieve it and search it through for any 
         references to playable files. 
       - FTP Browser. This browser allows for playing songs of ftp sites.
  * Selections. You can select songs from any number of browsers, and play 
    them with repeat and random. 
  * Configurability. The Sajber Jukebox is easy to configure, and provides a 
    graphical interface instead of having to figure out how various options in
    the obscure rc files works. 
  * Saving. Selections, Standard Databases, Http Browsers and configurations 
    can be saved to disk for easy retrieval, or autoloading at startup. 
  * Realtime threads. If you're a daredevil who believes that everything else 
    on your machine oughta come second to the playing of audio, you can
    configure your player to use realtime scheduling. 
  * Bookmarks. You can save and edit bookmarks to various http or local 
    locations for swift jumps around the filesystem or the world. 
  * Progression bar and timer to keep track of where in the song you are. 
  * Easily change between different databases and browsers. 
  * A smaller Player's window, with the basic functions which wont cover the 
    entire screen. 

The features under development are:
  * FTP browsing. Suffers from occational hangs. I've probably just missed
    something regarding the data sockets.
  * HTML browsing. It works pretty well, but I need to support the Winplay
    playlist file formats too.
  * Aesthetical changes and improved ease of use of the databases and file
    browsers.
  * Mixer fixes. I made some erronous assumptions on how the sound support
    under Linux worked, and therefore introduced some bugs which I think 
    should be fixed now.

Features to be added:
  * Support for various tag file formats that describes album, author and 
    song name.
  * Alarm and Timer.
  * Ideas?

Requirements: 
  * A computer and a soundcard. 
  * Linux, 2.0.* or 2.1.* 
  * QT, version 1.2. 
  * linuxThreads, version 0.6 

Current known bugs: 

  * Accelerated X and X11 seems to busy-lock the CPU at times, when drawing 
    graphics, probably during BITBLT. Not even realtime scheduling can correct
    this problem unfortunately. 
  * The file IO is flakey at the best. If something goes wrong while reading a
    file, it will go *wrong*. This will be corrected in later versions. For the
    time being, don't attempt to load files that aren't databases or 
    selections. 
  * The linuxThreads distribution contains a wrapper for the scheduling 
    syscalls. If you do not have libc 5.2.18, make certain you comment out the
    lines that adds syscalls.o to OBJS before compiling, or the realtime 
    options will not work. 

INSTALLATION:

  * Run ./configure
  * Edit the makefile to your liking. You'll have to set the bindir variable
    so it points to where you'd like your files put.
  * TIP: You can strip the jukebox once done. It will reduce the size
         from around 3 megs to 300k. This will of course make debugging
         harder, but there shouldn't be that many bugs left.
  * Run make; make install
  * Type jukebox to start the program.

There are currently no man pages sent along with this package, instead you'll
have to go to http://kewl.campus.luth.se/~wizball/jukebox/index.html to read
about what you can do with the various options in this player.

The latest release is always available at ftp://kewl.campus.luth.se/pub/jukebox

Any comments, bugs, fixes or additions should be mailed to 
wizball@kewl.campus.luth.se so I can add or fix them to the next release.

A special thanks to Woo-jae Jung for splay, Xavier Leroy for linuxThreads
and Troll Tech for QT.

Enjoy the music!
Regards,
Joel Lindholm
wizball@kewl.campus.luth.se

