*.savitzky.net / Tools /

[..] [files]

Unlike most other directories on this website, where the HEADER.html file is hidden from casual browsing by an index.html file, this directory deliberately leaves HEADER.html out where you can see it. Whenever I have control over a programming project, I make its directory tree look like a website -- you will always find a HEADER.html file like this one, in every subdirectory. The Apache web server puts a HEADER.html file, if you have one, at the top of a directory listing. (It puts README.html at the bottom, after the file list.) With a little tweaking you can get similar behavior with plain-text HEADER and README, but you can't always count on having enough control over a hosted website's configuration.

This particular directory contains tools for working on website- and music-related projects: the tools used on this website and the projects you find here. (Source code for other, unrelated open-source projects can be found in ../Src/.)

Annotated Contents

Directories

TeX/
LaTeX styles for formatting FilkTeX (".flk") files, plus the tools for translating them into HTML (flktran.pl) and generating index pages (index.pl). These are all showing their age, and need to be given an honorable retirement. In particular the LaTeX styles need to be updated for LaTeX 5e, and indexing needs to be done using TrackInfo.pl.
include
Files to be included in compilations or inserted into source code and documentation. Mostly contains various forms of license notice, in a format suitable for use with either boilermaker.pl or replace-template-file.pl.
makefiles
An earlier but still usable collection of makefile fragments meant to be included from a local Makefile.
scripts
Short scripts and fragments, mostly one-shot mass fixups. Customize as needed.

Makefile templates

record.make
Makefile template for audio recordings, including albums, concerts, and practice sessions. Has targets for things like burning CD-Rs and managing track lists. Replaces the now-obsolete album.make, concert.make, and practice.make (which have, however, been kept around to keep from breaking older parts of the site).
publish.make
Makefile template for working directories that have to be "published" to a web staging directory. Relies on having a symlink called PUBDIR someplace up the tree that points to the web directory. Obsolete, but could still be useful for sites relying on FTP or SFTP.
track-depends.make
Used in the mytracks.make files automagically generated by album.make to handle the shifting set of dependencies that result from always using the most recently-exported .wav file in a track directory.

Scripts

Music Metadata:
These are all used for extracting various kinds of metadata from lyrics, tracks, and track notes.
TrackInfo.pl
Extract and format track information. Gets song metadata from the appropriate .flk files (basically LaTeX with a lot of custom macros), and track metadata from whichever .wav file is most appropriate.
list-tracks
List either all known tracks, or a specific set of tracks (e.g. the ones in an album's track list), in a format that makes it easy to keep (cough) track of recording progress. Most of the information comes out of a file called notes in the track directory. With the "-i" option, it lists key, meter, tempo, and style; these are useful when you're trying not to put excessively-similar tracks together. Otherwise it appends the last line of notes that starts in column 1; by convention this describes the most recent useable take. In a very real sense, this command produces a compact "status/to-do" list for an album.
File Updating:
These are all used for updating existing files in place; because they are used in Makefiles, it's essential that they not modify a file that is already up to date.
boilermaker.pl
Insert license boilerplate, in the form of a comment, into any of several different kinds of files. Understands hashmark, C, TeX, Lisp, and *ML comments. Note that what it inserts into HTML is a comment: it does not insert a license notice that can be read in a browser. Use replace-template-file.pl for that.
replace-template-file.pl
Uses a template file to replace a matching section in one or more files. Currently used primarily for updating album song lists.
Hacks:
Assorted hacks. These would deserve their own directory if there were more of them.
twitter.lsp
A program in Nyquist lisp used to generate fake modem tones for Vampire Megabyte.

Other Files

to.do
The to-do list for this directory. You can probably find some in other directories if you look. The format is trivial: an open circle (lowercase "o") is something that's not finished yet; a filled circle (asterisk) is finished. "~" indicates something I've decided not to do, and "?" indicates something I'm dithering about. Eventually finished items move to a "done" section or, when they start getting moldy, a separate file.

Copyright © 2005-2012 Stephen R. Savitzky (HyperSpace Express)

      Name                    Last modified      Size  Description
Parent Directory - GPL.txt 14-Oct-2010 07:32 18K LGPL.txt 14-Oct-2010 07:32 26K Makefile 28-May-2012 13:30 2.9K README 14-Oct-2010 07:32 230 TeX/ 14-Mar-2012 14:07 - TrackInfo.pl 05-Mar-2012 16:36 31K album.make 28-May-2012 12:49 22K boilermaker.pl 14-Oct-2010 07:32 7.3K concert.make 28-May-2012 12:49 3.0K fixup 14-Oct-2010 07:32 792 include/ 14-Oct-2010 07:32 - list-tracks 14-Oct-2010 07:32 2.1K make/ 30-May-2012 10:54 - makefiles/ 11-Jul-2010 14:01 - practice.make 28-May-2012 12:49 2.7K preorder.cgi 14-Oct-2010 07:32 8.8K publish.make 28-May-2012 12:49 2.3K record.make 28-May-2012 12:08 20K replace-template-fil..> 14-Oct-2010 07:32 4.1K scripts/ 14-Oct-2010 07:32 - sloc.log 28-May-2012 13:39 2.8K to.do 14-Oct-2010 07:32 12K track-depends.make 28-May-2012 12:50 1.1K track.make 28-May-2012 12:49 2.3K transpose.pl 14-Oct-2010 07:32 2.3K twitter.lsp 14-Oct-2010 07:32 1.7K
README for /Steve.Savitzky.net/Tools
(As mentioned above, if you have a README or README.html file in a directory, Apache will put it below the index. Very handy.)