Lilypond is a music typesetting system which utilizes TeX to produce beautiful output. It is also very customizable. I decided to play around with Lilypond to make it work well with bagpipe music. It turns out that someone in the past made a valiant effort, but I found that with a little work I was able to make a much more flexible and simple framework in Lilypond for bagpipe music.
To get into bagpipe mode, you have to "\include bagpipe.ly" (get the bagpipe.ly file). The note names have been redefined to be convenient for bagpipers. The scale is as follows ("lowg" and "lg" are synonyms, as are "higha" and "ha"):
Individual grace notes are "\gGr", "\haGr", etc. The name is the note followed by "Gr" for grace note. Look at the following example of a scale, and look at the grace.ly source file to see how it's made:
More complex movements follow a similar scheme. The following example of doublings and half doublings uses the notes, "\eDb e4 \cDb c \fDb f \haDbHalf ha \fDbHalf f \bDb b":
To make a taorluath, enter \Taor (for a normal taorluath) or \dTaor (for a taorluath starting on D).
To make a crunluath, enter \Crun (for a normal crunluath) or \dCrun (for a crunluath starting on D).