.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PACPL 1" .TH PACPL 1 "2007-02-03" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Perl Audio Converter .SH "SYNOPSIS" .IX Header "SYNOPSIS" pacpl \-\-[formattoformat] [\-\-file/\-\-dir] [files/dirs] .PP pacpl \-\-convertto [format] [\-\-file/\-\-dir] [files/dirs] .SH "DESCRIPTION" .IX Header "DESCRIPTION" .Vb 12 \& Perl Audio Converter is a tool for converting multiple audio \& types from one format to another. It supports MP2, MP3, Ogg Vorbis, \& FLAC, Shorten, Monkey Audio, FAAC (AAC/M4A/MP4), Musepack (MPC), \& Wavpack (WV), OptimFrog (OFR/OFS), TTA, LPAC, Kexis (KXS), AIFF, AC3, \& Lossless Audio (LA), BONK, AU, SND, RAW, VOC, SMP, AVR, CDR, \& RealAudio (RA/RAM), WAV, and WMA. It can also convert audio from \& the following video formats/extensions: RM, RV, ASF, DivX, MPG, MKV, \& MPEG, AVI, MOV, OGM, QT, VCD, VOB, FLV and WMV. A CD ripping function \& with CDDB support, batch and playlist conversion, daemon mode for \& converting files on the fly, tag preservation for most supported \& formats, independent tag reading/writing, and extensions for \& Konqueror and amaroK are also provided. .Ve .SH "ENCODING OPTIONS" .IX Header "ENCODING OPTIONS" When transcoding a file, you can use one of two options: .PP \&\fB\-\-formattoformat (Audio Only)\fR .PP Example: \-\-mp3toaiff \-\-file=File.mp3 \-\-oggtoflac \-\-playlist=oggplaylist \-\-mpctoape \-\-dir=/home/shared/mpcs .PP The \-\-formattoformat options will convert from the selected input format to the selected output format. \s-1WMA/RAM\s0 (output), and Video (input/output) are the only exceptions. .PP \&\fB\-ct format, \-\-convertto format (Audio/Video)\fR .PP The \-\-convertto option can batch convert from any supported source format (Audio & Video) to any supported output format (Audio). .PP Example: pacpl \-\-convertto mp3 \-\-file=Song.ape \-\-file=Movie.avi pacpl \-\-convertto ogg \-\-playlist myplaylist pacpl \-\-convertto kxs \-\-dir=/home/shared/oggs .PP However, You can \s-1NOT\s0 convert \s-1TO\s0 \s-1WMA\s0 or any of the supported Video codecs. Although converting from these formats is prefectly acceptable. Below is a complete list of supported encode/decode formats: .PP Supported Encode Formats: .PP .Vb 4 \& mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, \& mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, wav, \& aiff, au, snd, raw, voc, smp, avr, cdr, ac3, la, \& bonk, ra .Ve .PP Supported Decode Formats: .PP .Vb 4 \& mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, \& mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, wav, \& aiff, au, snd, raw, voc, smp, avr, cdr, ac3, la, \& bonk, wma, ra, ram .Ve .SH "OTHER OPTIONS" .IX Header "OTHER OPTIONS" \&\fB\-h, \-\-help\fR General usage .PP \&\fB\-l, \-\-longhelp\fR Complete option list .PP \&\fB\-g, \-\-taghelp\fR Tag reading/writing help menu .PP \&\fB\-r, \-\-riphelp\fR \s-1CD\s0 ripping help menu .PP \&\fB\-vh, \-\-videohelp\fR Video option help menu .PP \&\fB\-v, \-\-version\fR Version information .PP \&\fB\-c n, \-\-flevel=n\fR Set compression level when encoding \s-1FLAC\s0 files Default: 8 1\-8 (0 = fastest & 8 = highest ) .PP \&\fB\-b n, \-\-bitrate=n\fR Average Bitrate .PP .Vb 6 \& voice = 56kbps/mono \& fm/radio/tape = 112kbps \& mp3 = 128kbps (default) \& hifi = 160kbps \& cd = 192kbps \& studio = 256kbps .Ve .PP \&\fB\-ar n, \-\-arate=n\fR Audio sampling rate .PP \&\fB\-ac n, \-\-channels=n\fR Number of audio channels .PP \&\fB\-z n, \-\-alevel=n\fR Ape compression level Compress (fast): '\-\-alevel=1000' Compress (normal): '\-\-alevel=2000' Compress (high): '\-\-alevel=3000' Compress (extra high): '\-\-alevel=4000' Compress (insane): '\-\-alevel=5000' .PP \&\fB\-i n, \-\-slevel=n\fR Shorten (\s-1SHN\s0) format version number (2: no seek info; 3: default) .PP \&\fB\-x s, \-\-xlevel=s\fR Musepack (\s-1MPC\s0) compression level thumb low quality/internet, (typ. 58... 86 kbps) radio medium (\s-1MP3\s0) quality, (typ. 112...152 kbps) standard high quality (dflt), (typ. 142...184 kbps) xtreme extreme high quality, (typ. 168...212 kbps) insane extreme high quality, (typ. 232...268 kbps) braindead extreme high quality, (typ. 232...278 kbps) .PP \&\fB\-e n, \-\-plevel=n\fR \s-1LPAC\s0 (\s-1PAC\s0) predefined compression level 1 = Fast, 2 = Simple, 3 = Medium (default), 4 = High, 5 = Extra High .PP \&\fB\-q n, \-\-quality=n\fR Sets encoding quality to n, between \-1 (low) and 10 (high). This is the default mode of operation, with a default quality level of 3. Fractional quality levels such as 2.5 are permitted. Normal quality range is 0 \- 10. .PP \&\fB\-m s, \-\-mode=s\fR OptimFrog (\s-1OFR/OFS\s0) Compression mode (fast,normal,high,extra,best,highnew,extranew,bestnew) .PP .Vb 2 \& specify the compression mode to be used. The default value is normal. \& For general use, I recommend the normal, extra, and extranew modes .Ve .PP \&\fB\-op s, \-\-optimize=s\fR OptimFrog (\s-1OFR/OFS\s0) Compression level (none,fast,normal,high,best) .PP .Vb 13 \& specify the optimization level in the engine. In order to achieve \& optimal compression at all sample types, sample rates, and audio \& content, the core compression engine has the possibility to find the \& optimal values for its parameters, at the cost of slightly increased \& compression time only. The default recommended value is fast. \& Do not use normal (or even high or best) for this parameter unless \& encoding time does not matter and you want to obtain the smallest \& possible file for a given compression mode. The difference between \& the optimize levels fast and best (which is up to three times slower \& than fast) is very small, generally under 0.05%, but may be also \& larger in some rare cases. Note that the none optimize level is \& forced by the encoder to fast optimize level for the extra, best, \& highnew, extranew, and bestnew modes .Ve .PP \&\fB\-ql n, \-\-qlevel=n\fR \s-1BONK\s0 quantization level (default 1.00) .PP \&\fB\-dr n, \-\-dratio=n\fR \s-1BONK\s0 downsample ratio (default 2) .PP \&\fB\-ps n, \-\-psize=n\fR \s-1BONK\s0 predictor size (default 128, use 10 for speech) .PP \&\fB\-ll, \-\-lossless\fR Use \s-1BONK\s0 lossless encoding .PP \&\fB\-u s, \-\-uopts=s\fR User supplied encoder options .PP .Vb 3 \& Since implementing every single option from every *encoder/decoder \& isn't quite feasible, --uopts was added to allow for greater \& flexibility for the more advanced users. .Ve .PP .Vb 2 \& Example: pacpl --mp3tomp4 --file=My_File.mp3 --uopts="-c 44100 -I 1,2" \& pacpl --convertto flac --file=File.wav --uopts="--replay-gain" .Ve .PP .Vb 1 \& *uopts applys the added options to the encoder only. .Ve .PP \&\fB\-ro s, \-\-rawopts=s\fR User supplied SoX encoder options for raw input .PP .Vb 3 \& When converting from RAW input a few options must be specified such as \& rate, channels, size, data size, etc. See 'man sox' for a list of \& options. PAC's current configuration is as follows: .Ve .PP .Vb 3 \& sox -r $rate -c $channels $rawopts $uopts \& or \& sox -r 44100 -c 2 -w -s (other options) .Ve .PP .Vb 1 \& $rawopts defaults to '-w -s' (-w = 16 bit words / -s = signed linear) .Ve .PP \&\fB\-so s, \-\-soxopts=s\fR .PP .Vb 1 \& SoX encoder options (AIFF/AU/SND/VOC/SMP) .Ve .PP .Vb 2 \& This option will allow you to specify special SoX options when \& transcoding to the above formats. .Ve .PP .Vb 1 \& sox -so "-c 2 -s" -uo "-c 1 -r 22500" .Ve .PP \&\fB\-ef s, \-\-effect=s\fR .PP .Vb 1 \& SoX effects (see 'man sox') .Ve .PP \&\fB\-py s, \-\-play=s\fR Play file. Supported formats are: .PP .Vb 2 \& mp2, mp3, mp4, m4a, m4p, ogg, flac, mpc, mpp, wma, bonk, wav, aiff, \& au, snd, voc, smp, avr, cdr, ac3, ra, ram .Ve .PP \&\fB\-pl s, \-\-playlist=s\fR Convert files in playlist. Supported formats are (\s-1XMMS\s0 & \s-1PATH/FILE\s0) .PP .Vb 1 \& Playlists should be in the following format .Ve .PP .Vb 2 \& /path/to/Song.ogg \& /path/to/Song2.ogg .Ve .PP .Vb 1 \& Or a real example (playlist contains the following): .Ve .PP .Vb 1 \& /home/shared/oggs/Dance/Technotronic - Move This.ogg .Ve .PP .Vb 1 \& XMMS playlist.m3u format is also supported .Ve .PP .Vb 2 \& pacpl --oggtomp3 --playlist myplaylist \& pacpl --flactotta --playlist xmms.m3u .Ve .PP .Vb 1 \& Creating a playlist is simple using the find command. .Ve .PP .Vb 2 \& find /path/to/audio_files/ -name *.audiotype > playlist \& find /home/shared/oggs/ -name *.ogg > ogglist .Ve .PP \&\fB\-\-delete\fR Remove source file after encoding. .PP .Vb 2 \& Example: \& pacpl --mp3toogg --dir=/home/mp3s/Rock --delete .Ve .PP .Vb 9 \& After encoding the mp3s to ogg, all the mp3s in that \& directory would be deleted. This works with all type \& to type options. Note: if you accidently start \& encoding a directory and abort the process with ^C \& (control-c) it will stop the current process and move \& on to the next file, leaving you with a partially encoded \& audio file and no original file. To end this madness you \& would need to 'killall -9 pacpl' or 'kill -9 ' \& So I warn... .Ve .PP \&\fB\s-1USE\s0 \s-1WITH\s0 \s-1CARE\s0\fR .PP \&\fB\-f file, \-\-file=file\fR Can be used multiple times to encode one or more files with any of the above encoding options as shown below. .PP .Vb 3 \& pacpl --mp3tompc -f file.mp3 \& pacpl --mp3toogg -f file1.mp3 -f file2.mp3 -f file3.mp3 \& pacpl --convertto flac *.mp3 .Ve .PP \&\fB\-d dir, \-\-dir=dir\fR Can be used multiple times to encode one or more directories with any of the above encoding options as shown below. .PP .Vb 2 \& pacpl --mp3tompc -d dir/ \& pacpl --mp3toogg -d dir_one/ -d dir_two/ -d dir_three/ .Ve .PP \&\fB\-o dir, \-\-outdir=dir\fR Output directory to place the encoded files. .PP \&\fB\-p file, \-\-outfile=file\fR Write file to (does not apply when encoding multiple files) .PP \&\fB\-re, \-\-recursive\fR Recursively scan and convert directory specified by \-\-dir .PP \&\fB\-pd, \-\-presdir\fR Preserve directory structure when recursively converting a directory using \-\-dir \-\-recursive .PP .Vb 1 \& Example: .Ve .PP .Vb 1 \& pacpl --mp3toogg --dir MP3s/ --outdir Oggs/ --recursive --presdir .Ve .PP .Vb 1 \& pacpl -ct flac --recursive --presdir --dir Wavs/ --outdir Flacs/ .Ve .PP \&\fB\-ov, \-\-overwrite\fR Overwrite existing destination file .PP \&\fB\-\-daemon\fR .PP .Vb 1 \& Daemon Mode: .Ve .PP .Vb 3 \& This function allows you to monitor directories specified in pacpl.conf. \& Once a file is placed in one of the monitored directories, it will be \& converted to your specified collection type. .Ve .SH "Ripping Options" .IX Header "Ripping Options" \&\fB\-\-cdtomp3,\fR \s-1CD\s0 to \s-1MP3\s0 .PP \&\fB\-\-cdtoogg,\fR \s-1CD\s0 to Ogg Vorbis .PP \&\fB\-\-cdtoflac,\fR \s-1CD\s0 to \s-1FLAC\s0 .PP \&\fB\-\-cdtofla,\fR \s-1CD\s0 to \s-1FLAC\s0 (\s-1FLA\s0) .PP \&\fB\-\-cdtoape,\fR \s-1CD\s0 to Monkey Audio (\s-1APE\s0) .PP \&\fB\-\-cdtoshn,\fR \s-1CD\s0 to Shorten (\s-1SHN\s0) .PP \&\fB\-\-cdtoaac,\fR \s-1CD\s0 to \s-1FAAC\s0 (\s-1AAC\s0) .PP \&\fB\-\-cdtom4a,\fR \s-1CD\s0 to \s-1FAAC\s0 (M4A) .PP \&\fB\-\-cdtomp4,\fR \s-1CD\s0 to \s-1FAAC\s0 (\s-1MP4\s0) .PP \&\fB\-\-cdtompc,\fR \s-1CD\s0 to Musepack (\s-1MPC\s0) .PP \&\fB\-\-cdtompp,\fR \s-1CD\s0 to Musepack (\s-1MPP\s0) .PP \&\fB\-\-cdtowv,\fR \s-1CD\s0 to Wavpack (\s-1WV\s0) .PP \&\fB\-\-cdtoofr,\fR \s-1CD\s0 to OptimFrog (\s-1OFR\s0) .PP \&\fB\-\-cdtoofs,\fR \s-1CD\s0 to OptimFrog (\s-1OFS\s0) .PP \&\fB\-\-cdtotta,\fR \s-1CD\s0 to \s-1TTA\s0 .PP \&\fB\-\-cdtopac,\fR \s-1CD\s0 to \s-1LPAC\s0 .PP \&\fB\-\-cdtokxs,\fR \s-1CD\s0 to Kexis (\s-1KXS\s0) .PP \&\fB\-\-cdtoaiff,\fR \s-1CD\s0 to \s-1AIFF\s0 .PP \&\fB\-\-cdtoau,\fR \s-1CD\s0 to \s-1AU\s0 .PP \&\fB\-\-cdtosnd,\fR \s-1CD\s0 to \s-1SND\s0 .PP \&\fB\-\-cdtoraw,\fR \s-1CD\s0 to \s-1RAW\s0 .PP \&\fB\-\-cdtovoc,\fR \s-1CD\s0 to \s-1VOC\s0 .PP \&\fB\-\-cdtosmp,\fR \s-1CD\s0 to \s-1SMP\s0 .PP \&\fB\-\-cdtoavr,\fR \s-1CD\s0 to \s-1AVR\s0 .PP \&\fB\-\-cdtocdr,\fR \s-1CD\s0 to \s-1CDR\s0 .PP \&\fB\-\-cdtomp2,\fR \s-1CD\s0 to \s-1MP2\s0 .PP \&\fB\-\-cdtoac3,\fR \s-1CD\s0 to \s-1AC3\s0 .PP \&\fB\-\-cdtola,\fR \s-1CD\s0 to Lossless Audio (\s-1LA\s0) .PP \&\fB\-\-cdtobonk,\fR \s-1CD\s0 to \s-1BONK\s0 .PP \&\fB\-\-cdtowav,\fR \s-1CD\s0 to \s-1WAV\s0 .PP \&\fB\-\-cdtora,\fR \s-1CD\s0 to RealAudio (\s-1RA\s0) .PP \&\fB\-t n, \-\-tracks\fR Tracks to be ripped ('\-t 1,4,7,10') .PP \&\fB\-a, \-\-all\fR Encode all tracks .PP \&\fB\-\-nocddb\fR Disable \s-1CDDB\s0 .PP \&\fB\-\-noinput\fR Disable \s-1CDDB\s0 user input .PP \&\fB\-\-cdinfo\fR \s-1CD\s0 \s-1CDDB\s0 information .PP \&\fB\-\-dev, \-\-device\fR Default is (/dev/cdrom) .PP \&\fB\-\-outstring\fR Naming scheme for ripped output files. Default is (%art \- \f(CW%tit\fR) .PP .Vb 1 \& Options: .Ve .PP .Vb 4 \& %art = Artist \& %tit = Song Title \& %alb = Album \& %tno = Track Number .Ve .PP .Vb 1 \& Ex: pacpl --cdtoogg --all --outstring="(%tno)-%tit" .Ve .PP All encoder options such as bitrate, quality, etc., can be utilized when converting \s-1CD\s0 audio. .SH "Example (Ripping Options)" .IX Header "Example (Ripping Options)" .Vb 1 \& pacpl --cdtomp3 --tracks=1,13 (Encode tracks 1 and 13 to MP3) .Ve .PP .Vb 1 \& pacpl --cdtoflac --all (Encode entire CD to FLAC) .Ve .SH "Tag Reading/Writing" .IX Header "Tag Reading/Writing" Read/Write Formats: \s-1MP3\s0, \s-1FLAC\s0, \s-1FLA\s0, \s-1OGG\s0 .PP Read Only Formats: \s-1MP4\s0, M4A, M4P, \s-1MPC\s0, \s-1MPP\s0, \s-1MP+\s0, \s-1WV\s0, \s-1WMA\s0 .PP Tag Options: .PP \&\fB\-\-artist\fR Set the artist information .PP \&\fB\-\-title\fR Set the title information .PP \&\fB\-\-genre\fR Set the genre .PP \&\fB\-\-album\fR Set the album title information .PP \&\fB\-\-year\fR Set the year .PP \&\fB\-\-track\fR Set the track number .PP \&\fB\-\-comment\fR Set the comment information .PP .Vb 1 \& pacpl [options] [file] .Ve .PP \&\fB\-\-taginfo\fR Show tag information for [file] .PP .Vb 1 \& pacpl --taginfo [file] .Ve .SH "LICENSING" .IX Header "LICENSING" This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \&\s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, \s-1MA\s0 02111\-1307 \s-1USA\s0 .SH "AUTHOR" .IX Header "AUTHOR" .RS 4 Copyright (C) 2005\-2007 Philip Lyons (viiron@gmail.com) .RE