Category Archives: LilyPond

Staves of Unusual Size

Announcing the latest LilyPond improvements…  Last week I released a new version of the code that extends LilyPond so that it can produce sheet music in Clairnote (clairnote-code.ly clairnote.ly version 20150412).  Here is a brief summary of all the many improvements: Continue reading

Custom Staff Properties

This post is about going beyond global variables.  It is the last entry in a series of posts about recent improvements to the clairnote-code.ly clairnote.ly file.  Previously certain values that are used when producing music notation in Clairnote were stored in global variables.  But if you have more than one staff then you really need to have a separate set of these values for each staff.  So it was quite a breakthrough to learn how to create custom staff properties that make this possible. Continue reading

Staff is the New StaffClairnote

One of the more significant recent changes to the clairnote-code.ly clairnote.ly file is that now when you \include "clairnote.ly" in a LilyPond file all staves will automatically become Clairnote staves by default.  You no longer have to enter \new StaffClairnote instead of \new Staff to get a Clairnote staff.  Continue reading

Repeat Signs

The first image below shows how LilyPond positions the two dots in repeat signs (by default) for a custom four-line staff like Clairnote’s. They look a little like bolts attaching the bar lines to the staff.  That’s no discredit to LilyPond since this is a non-standard staff after all. But fortunately, we can now enjoy better positioning of these dots (as shown in the second image), thanks to recent improvements to the clairnote-code.ly clairnote.ly file that allows LilyPond to create sheet music in Clairnote music notation. Continue reading

More Functional Code

In LilyPond news, now that I have learned something about functional programming, I have been rewriting large swaths of the scheme code in the clairnote-code.ly clairnote.ly file in a more functional style and making general improvements along the way. This primarily includes the code for accidentals, key signatures, and putting notes on the correct side of the stem (for smaller intervals like major seconds). To give some sense of scope, the file was previously just over 1030 lines of code and is now only about 815. These are all “under-the-hood” improvements found in the current clairnote.ly file available on the Software:LilyPond page.

Update: the “clairnote-code.ly” file was renamed “clairnote.ly” on May 15, 2017.