SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

################################################### Cjukebox
Copyright (C) 2002-2004 Robert Muth <robert@muth.org>

$Id: 00readme,v 1.6 2005/01/01 17:52:09 muth Exp $ ###################################################

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of June 1991.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program in form of the file COPYING; if not, write to the

Free Software Foundation, Inc. <http://www.fsf.org> 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA

################################################### Short Description
###################################################

Cjukebox is a player and manager for audio files and playlists. Its user interface was inspired by the Norton Commander for DOS and uses the curses library.
Cjukebox does not rely on an external database!

When available raw freedb.org database records can be used to improve the presentation. Alternatively, tagged information embedded in audio files can be used.

A separate tool Freedbtool [http://muth.org/Robert/Freedbtool] can be used to retrieve and update those records. Playback is handled by the Musicus tool [http://muth.org/Robert/Musicus] which directly uses xmms pluggins. Hence all music formats supported by xmms (wav, ogg, mp3, mpc, ...) can be played by Cjukebox.

Cjukebox is currently in "beta".

################################################### Features
###################################################

  • two independent main windows which can be either used for file browsing or playlist editing
  • width of the two main windows can be changed by user
  • Various views modes: for different presentations of songs listings
  • Various playback modes: shuffle, etc.
  • "Goodlist": save songs that you like into a special playlist with a single key stroke
  • "Badlist": contains audio files in your collection you never want to listen too (useful for random play over you entire collection) Songs can be added to the badlist with a single key stroke
  • Playlist Hotkey: Immediately load play up to 10 predefined playlist with a single key stroke
  • Play history: complete access to all songs you have listened to during the current session
  • freedb records: for obtaining song name/artist/album/time information
  • embedded tags for most audio formats are also supported via musicus
  • info hook: Use an arbitrary external program to present information about the song currently playing and other events

################################################### Installation
###################################################

Before you can use Cjukebox you must install Musicus [http://muth.org/Robert/Musicus]. Make sure that musicus is in your $PATH.

After untaring the Cjukebox tarball, you can invoke Cjukebox as

./cjukebox.py

Once this works you should perform some basic configutation (see below).

################################################### Usage
###################################################

After starting Cjukebox four windows should appear. A help screen can be displayed by pressing h. The focus (which window receives keyboard input) can be changed with the TAB key.

  • the top window shows the currently playing song and the history of all songs played so far. Cursor keys can be used to navigate in this window.
  • the left and right window let you browse through your file system. The starting directory may differ, though. Cursor keys can be used to navigate in this window.

    Pressing return will either change the directory, play a song, or change into the platlist editor depending on the type of the current item.

  • the bottom window contain status messages Cursor keys can be used to navigate in this window.

Various listing modes (called viewmodes) are available for all but the status window (one can cycle through them via the "v" key): * file: just show the filename
* path: show full pathname
* cddb: use info from toc file (see below) for listing * tag: use tag info embedded in files for listing

The width of the left and right windows can be changed using the "(" and ")" keys.

################################################### Freedb records
###################################################

if Cjukebox encounters a directory containing a file named "toc" it assumes that it represents a freedb record describing the (track) files in this directory. A song file named trackNN. or NN.* is assumed to correspond to track NN-1 in the toc file.

toc files can be obtained in two ways

  1. directly from www.freedb.org:you can search and browse through the albums there. When you find a matching one download the raw record by following the link marked by the 8 digit disc id.
  2. Using the original CD and Freedbtool [http://muth.org/Robert/Freedbtool]: See the webpage for more information.

Using a separate toc file has the advantage over id3 tags that the information can be updated much easier. On the down side it implies a more album oriented way of organizing the song files.

The "cddb" viewmode uses the information from the toc files for the listing.

################################################### Using a Remote Control via lirc
###################################################

Make sure you have lirc installed and your remote properly configured. (http://lirc.org).
The lircd daemon should be running. You can test this with the "irw" program which will also tell you which names are associated with the buttons of you remote. Next you will have to edit the "lircrc.cjukebox" to map remote buttons to keyboard events for cjukebox. (A minimal sample file is provided).
Finally start cjukebox with the wrapper script lirc.cjukebox.sh.

################################################### Configuration
###################################################

Cjukebox can be configured by changing a few assignments at the top of "cjukebox.py".

"ConfigMusicRoot" contains the initial directory path for the file browser window

"ConfigLogFile" contains the full pathname of the logfile

"ConfigShowInfoScript" pathname of a script to be invoked when the user presses the i key. The name of the song while be passed to the script on the command line.

"ConfigSpecialPlaylistRoot" contains the directory path for the "special playlists":

  • good.m3u: the goodlist, songs recently marked by the listener
  • bad.m3u: the badlist, if bad song skipping is enabled (s key) all songs contained

    in this list will be kept from playing.

  • 0.m3u,...,9.m3u: playlist that can be instantly played by pressing key 0 through 9

################################################### Tips and Tricks
###################################################

Randomly listen through all music files:

Recursively add the directory with the music to an empty playlist (key F6), then switch the playlist into random play mode (key m), then start playing a song (key ENTER).

How to increase the text mode resolution under Linux:

using "rdev" does not work too well since as part of /etc/rc.sysinit the font is changed via setfont/setsysfont.

You can change the defaults in /etc/sysconfig/i18n

>more /etc/sysconfig/i18n
LANG="en_US"
SUPPORTED="en_US:en"
SYSFONT="iso01a-8x8" # changed into 8x8 font SYSFONTACM="iso01"

The available fonts are in /lib/kbd/consolefonts/

you can try them out with
q/sbin/setsysfont "iso01a-8x8"

################################################### Bugs And Missing Features
###################################################

  • non ascii characters mess up screen presentation
  • no save as function for playlist
  • no search functionality

################################################### Comments
###################################################

Please send comments and suggestions to robert at muth dot org http://www.muth.org/Robert


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.