Cmp3 - Console mp3 frontend

INSTALLING -
Edit Makefile and set all variables properly. make. make install.
Problems might come up if your curses library isn't ncurses. Please upgrade
to the latest version from
http://www.clark.net/pub/dickey/ncurses/ncurses.html

There is now (with 2.0pre5) a cmp3rc file which is required. Simply edit
cmp3rc and specify your favorite options. On installation, it will be
copyied to it's final location where the binary will look for it. This is a
simple ini file meant to be edited by hand. This file is not compatible with
previous versions of the cmp3rc file. Please specify your directory mappings
again according to the examples.

RUNNING -
Just run the program if you are brave. Use F1 for help on keys.
Run "cmp3 help" for a list of possible commands. Most notable is the passing
of an ass file.
If something breaks, run "cmp3 quit" then try again.

**************************************************************************
**** List of Keys! Help is also at F1 in regular or list modes within ****
********* These are the default settings - change them in keydef.h *******
**************************************************************************

'q' - Quit Cmp3 (Outside List Mode)
'l' - Enter List Mode (see below)
Tab or Left/Right - Switch to Directory/mp3 list
Up/Down - Scroll
PgUp/PgDwn - Scroll FAST!
'd' - add entire current directory to playlist (must be in directory)
'D' - recursively add entire current directory to playlist
'c' - clear entire playlist (minus the song playing currently)
'+' - Increase the volume ( '=' works too)
'-' - Decrease the voume  (that is a minus sign)
'k' - kill current song
F5  - restart current song
'p' - pause song (unpause when next key is hit)
'r' - refresh screen (Reread the directory and clean screen if something else
    threw something into that tty)
's' - The greatest function ever! Suspend the interface, the playlist will
    continue playing until it's all over and you get your console back.
    If you restart Cmp3 while the playlist is going, it will find your
    old playlist and you can keep editing it.
'w' - write playlist to file, currently it will write to specified file in
    whatever directory you are currently in or the ass repository if
    compiled in be placed there.  View any generated ass file for available
    options.
Delete - remove file from system, does no permission checking... if it
    didn't delete... you can't delete it (be careful)
F2  - bring up directory change dialog to specify directory to change to
'h' - go back to home directory (where Cmp3 was initialized)
'a' - (only when an ass repository is defined in makefile) switches to ass
	directory and lets you select available ass files
'R' - toggle repeat mode on/off - you will see an R show up at the bottom
		left of the screen

In List Mode -
'q' - Quit List Mode
Up/Down - Scroll
'd' - Remove file from list
'g' - grab/let go of a file, use this to move around a file (Up/Down)
(PgUp/PgDwn won't work because I didn't feel the need for it, can be added
    very easily, if you think it's a good idea... let me know)
'r' - Randomize the playlist. If a song is grabbed, the list starting there
    will be randomized with previous songs in the same order.

m3u and pls file loading
Cmp3 has gained the ability to read pls and m3u files at version 2.0pre4
m3u files created by x11amp or xmms should work transparently. Simply find
them and run them. In order for playlist files created under windows to be
loaded, a mapping of drive letters to mount points is required. Take a look
at the included cmp3rc and create a similar file for your setup and point to
it with the config_file parameter in the Makefile. If the config file cannot
be loaded, selecting a windows m3u or pls file will do nothing.

rnmp3 -
A small program that I use to make sure my mp3 collection is named
consistently. Beware that if used incorrectly, it will screw up all your
filenames beyond recognition. Safe way of seeing what it will do is running
it with any command-line argument that doesn't begin with '-'. "rnmp3 test"
is a descriptive way of running it. It needs filenames to be piped in. You
can run "find | rnmp3 test" to rename all files. When a directory name gets
renamed, the files under it will fail. Just run the command as many times as
it takes until there is no output.

Contacting me -
If you have any questions/comments/problems with this program, please
email me at

pandama@psu.edu

and let me know what you think of it and give me some ideas.
Check back rarely to

http://www.personal.psu.edu/nkk104/cmp3/

NOTES -
I promise to add some helpful output to the screen about what is currently
going on. I've been lazy because I can listen and tell if something's
playing or not.
If you are having problems with not being able to hear anything yet cmp3
says it's playing, uncomment the DEBUG option in the makefile, compile and
see what mpg123 is saying from /tmp/cmp3log

Thanks to Michael Hipp and Oliver Fromme for developing the best damn mp3
player out today. mpg123 is truly a masterpiece.

Thanks VERY much to Jeff Drost for helping me with Cmp3, expecially the
shared memory stuff. I feel this is the strongest feature.

Thanks also go to Jon Armstrong for helping me find a hideously big and
pesky bug in the linked list library. This guy spent hours helping someone
he didn't know. The only satisfaction he wanted was to know that someone
learned something about C that day.

# EOF