***** TODO

1) Are "-" legal barcode characters?  Fix the \w regex so
   barcodes 1 slot-1 works.
   Steve Lidie, sol0@lehigh.edu, 2002/07/02.


***** Change Log


***** 0.0.6 -> 1.0.0

1) Enhance barcode simulation.
   Steve Lidie, sol0@lehigh.edu, 2002/06/12.

   Current barcode simulation is OK for small auto-loaders whose media
   content is rather static.  Implement a new barcode scheme using a 
   Perl DBM file (NDBM?).  This would allow dynamic updates as "juke"
   manipulates the hardware.  A storage media's fake barcode
   information lasts from the time the media is loaded and the operator
   enters the barcode until the media is unloaded.

   ********************* DONE, SOL, 2002/07/03 *****************************

   Implemented using a SDBM database in version 0.0.6.  Barcodes are set
   either by clicking on a media slot in tkjuke, or the juke command line:
   
     juke barcodes filename
     juke barcodes saddr1 barcode1 [ saddr2 barcode2 .... ]

   If a filename is specified, each line is of the form 'saddr=barcode',
   where 'barcode' is the barcode, and 'saddr' is the slot address:
  
      host:changer:slot

   'slot' is required and is the slot number, 'host' defaults to the local
   host and 'changer'is the default changer device name on 'host'.

2) "juke loaded" must return a list of loaded barcodes.
   Steve Lidie, sol0@lehigh.edu, 2002/06/12.

   ********************* DONE, SOL, 2002/07/03 *****************************

   Fixed in 0.0.6.


***** 1.0.7, 2003/06/27

1) Add EJECT_BEFORE_UNLOAD configuration options to offline a tape prior to
   unloading it.

2) JukeBox.pm now exports its configuration option via the hash $JUKE_CONFIG
   rather than individual variables.  The name of the old variables are the
   hash keys.

3) Add a juke "config" option to display the configuration options and values.

4) Tested with mtx 1.2.17.


***** 2.0.1, 2003/07017

1) Turn tkjuke into a master/slave program, embedding slave tkjuke windows
   inside the master's NoteBook widget.