Tuesday, October 28, 2008

HNotate

Copperbox revision 293.

Again another instance of deja vu as I've redone the Abc backend. It now uses the new ODoc / Document mini pretty printer and doesn't use the print monad or PPrint.

Importantly, it allows annotations such as up-bow and down-bow markings for Abc. This has never really been working before. The 'combinator' version of the Abc and LilyPond back-ends from a couple of months ago could ouput annotations, but there was no mechanism to specify them in the input notelist.

Adding them to the input notelist was simple in the end - they are just another glyph. But whereas note and rest have obvious, first-order properties (pitch and duration for note, duration for rest), annotations have a single higher-order property - a function of type ODoc -> ODoc that transforms the output of the the preceeding glyph which it annotates during rendering.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.