
Tickle Music (c) 1994 by Shannon Hendrix
----------------------------------------

This program is a music file browser with the following features:

* allows playing midi, mod, screamtracker, and various other formats of
  music files
* has an easy file/directory browser for scanning your music files
* allows you to build up a queue of files to play, with different file
  types mixed together
* allows some minor queue editing, mostly just removing files from the
  queue

This is currently my first BETA release so there is very little
documentation available.  What is here really sucks.  Have not had
time to do anything more so far.

Requirements
------------
* wish or extended-wish (execs will be wish and wishx)
* version 7.3 of tcl extended and version 3.6 of tk
  it may work on other versions but I have no idea
* the program 'gmod' to play your mod-type pcm music files (you can
  hack the source to use another program
* the program 'mp' to play your midi files

Notes
-----

I have included a script called pmid that is needed for the
program.  This shell-script is used by Tickle Music to play
midi files even if they were compressed with gzip or compress

Installation
------------

Edit the Makefile for your system.  It should be IOCO.

Edit config.tcl and change the line

set program <whatever>

so that <whatever> is a path to the executable.  The exec is going to
be something like /usr/local/bin/tmusic.  I hope it's all obvious, if 
not mail me.  Future versions will have this done for you automatically.

Edit tmusic.tcl and change the line

source /usr/local/lib/tmusic/config.tcl

to be:

source <wherever your makefile is putting config.tcl>

You may also override some of those settings by creating a ".tmusicrc"
file in your home directory.  However, you could also screw something
up.

You probably should just stick with the defaults.

make yourself superuser
type "make"

After that you should be able to just type 'tmusic' and the program will
come up.

Running
-------

A lot of this you'll just have to figure out until I can find time to
write a manual.  I've already gotten most of the parts together
complete with pictures and all that.

When you run this, provided it worked, you'll get a tcl/Tk program with
a menu, button bar, directory label/button, a listbox (showing some
songs I hope), a scrollbar beside the listbox, and on the bottom a label
showing the current status.

Double-clicking on a song will add it to the queue, you can also do that
by clicking on the "Add" button or using the menu under "Songs".  Most
of the stuff should be self-explanatory.  Play with it.  If you click on
the directory name you will cause tmusic to re-read the directory.

Under "Misc" in the menu bar is a single option (right now) that will show
you a list of the songs currently in the queue.  Selecting on and hitting
the "Remove" button will cause that song to be removed from the queue.
I hope you can figure out what exit does.

BUGS and NON-FEATURES
---------------------

* sometimes you can double-click faster than the program can react
* the menu functions for saving configuration and flushing the queue
  aren't finished yet... just click OK when you are notified of the
  missing procedures
* only a single button (halt) has any help associated with it
* the online help isn't there yet
* if a multiple selection includes a directory, the directory will
  be accessed... i feel like it should skip the directory since it
  usually means the user accidentally selected the directory along
  with the other files
* for some reason my routine for getting a directory puts the some junk
  at the end of the dir list "error waiting for ..." 
* there is nothing in the options menu
* it's a little slow on large directories... mostly tcl's fault not mine
* This "documentation" really sucks

The Future
----------

* all the bugs will be fixed of course
* online help
* real good documentation
* online configuration system
* written in C using tcl/tk libraries
* all the missing stuff will be there
* bitmaps instead of words for the toolbar (anyone want to draw some?)
* fix for some minor race conditions
* totally event driven, no more timers (I had to use the 'after'
  command from tk to keep the queue running

Please send comments and bug reports to one of these addresses:

shendrix@pcs.cnu.edu
shendrix@escape.widomaker.com

