Hi Andrew, > I want to know if I should be using LilyPond.
Simple answer: Yes. =) > The example below is from one of Cage’s Number pieces, demonstrating Time > Bracket notation. The important challenges for a notation program are: > - Each time bracket is centered on the page, and the system is only as long as > necessary. > - No barlines. > - Notes within the time bracket are distributed evenly horizontally. There is > no notion of tempo or meter. > - Whole note noteheads - or any notehead I want, free of any metric > constraints. > - Ample vertical spacing between time bracket systems. > - Horizontally centered headers and footers (not shown). > - Sometimes one piece runs over several pages (a “piece” is a set of time > brackets for one player). All no problem. In fact, there are multiple ways of accomplishing each of these things. Likely what you’ll want to do is create a “framework” (similar to the LilySchenker framework I’ve been slowing building for my own work), which contains a whole lot of “syntactic sugar”, custom Scheme functions, etc. Combined with the edition-engraver, this will help keep your actual note-code quite clean/simple. > I need to be able to generate 100% of the .ly files from C, taking as a source > the composition in the database (which was also generated, using chance > operations, with C code). Because of the volume of pages, hand tweaking the > parts is not an option. Understood. > So: > 1. Is LilyPond up to the job? Yes. > 2. What commands are used to do the time bracket centering, meter-free > notehead selection, bar-less notehead equidistant spacing, etc.? Too many data points to answer well here… but either ask specific questions on the list, or contact me off-list for more detailed answers. > 3. Is LilyPond going to gracefully let me set music symbols where I want them, > or will I be constantly having to fool it into compliance at every turn? I have used Lilypond natively to draw Tonnetz graphs… so the short answer is Lilypond is your servant, not the other way around. ;) That being said, there are a lot of incantations that need to be cast before Lilypond stops trying to "help”. > A follow-up question: If I do have to work around LilyPond’s “knowledgeable” > music formatting “conveniences”, will these work-arounds end up being > “corrected” in future versions, thus breaking my existing code? Again, too many variables to answer simply. You can certainly write your code in a way that it is highly unlikely that any future versions will be unable to compile the piece(s) essentially identically to the original compilation. > BTW, I am open to hiring a knowledgeable LilyPerson as a time-saving and > inspirational resource. Reply to this email if you are interested. Feel free to email me off-list! Cheers, Kieren.