README for SWIG[1]-based Perl interface to Gramofile

version 1.0 

Bob Wilkinson <bob@wibble.uklinux.net>
26th November 2000

1. Run make from this directory (or make perl-swig from the parent directory). 

2. Either copy Gramofile.pm and Gramofile.so to a place where perl looks for 
libraries (it's include path; listed by "perl -V"). 
Or point via "use lib <the_path_to_this_directory>" from within a script.

3. Tested under Linux. 
Please let me know if you use it under other Unices or Windoze.

4. Interfaces are provided to 

Gramofile::tracksplit_main($wav_file, $make_use_rms,
$make_graphs, $blocklen, $global_silence_factor,
$local_silence_threshold, $min_silence_blocks, $min_track_blocks,
$extra_blocks_start, $extra_blocks_end);

and

Gramofile::signproc_main($wav_file, $out_file, $filter_num, $filter_ptr);

5. An example of usage is given in examples/wav2mp3.pl, which is a complete
program to convert gramophone records to mp3. It should be quite easy to use
this code from Tcl, Python, Guile or any of the other languages for which SWIG
provides "glue"

6. I used an XML schema[2] to describe the information about my music. This was
originally done to build up indexes for searching the data. However, the files
also "knew" how many songs should be on each side of vinyl; this value was used
by the track-splitting algorithm.



[1]www.swig.org
[2]www.wibble.uklinux.net/music/xml.html
