Thank you Shane for opening up the conversation, and for expressing your confidence in LiyPond. And thanks for mentioning Scheme as a possible ally. I will look into that.
Regards Andrew Culver > On Apr 9, 2021, at 14:18, Shane Brandes <[email protected]> wrote: > > Greetings Andrew Culver, > > You have posted a pretty broad swathe of questions to the LilyPond Community. > I suspect people will likely give a few responses. My personal use case is > limited in comparison to things you might be undertaking. The Thalberg piano > concerto is the largest thing I ever have typeset with Lilypond, and it ate > that for breakfast. I would not describe myself as a power user and therefore > don't have answers to many of the questions. However, to this point I have > never seen someone show up on the list and find out something can't be done. > It might take the extensibility provided by the magic of Scheme, which is a > programming language, used to extend lilyponds abilities. As far as future > proofing, Lilypond has an automated code updating program, which does very > well with making sure the old code is compliant with the current version's > standards. The only time that might break is if something very kludgy was > done. Personally, I have only broken something once, but that was because > many years ago I was using something absolutely not in the way it was > intended to achieve some end. In terms of fussiness of laying out objects in > a correct way, Lilypond does these things out of the box in a way that other > programs I have used just don't approach. So for a very great percentage of > things tweaking items (manually moving) is not necessary. And there are ways > for working around tweaking bits of code without having to compile a whole > vast document. So in any event, it is likely LilyPond is an excellent > candidate for your needs, unfortunately I can't give all the answers, and > really am looking forward to whatever discussion your missive generates. It > is always interesting to learn what this program is capable of. > > kind regards, > Shane Brandes > > On Fri, Apr 9, 2021 at 12:18 PM AHF <[email protected] > <mailto:[email protected]>> wrote: > Hello LilyPeople, > > I am looking into using LilyPond for future works. What I like about it is > the text input, which makes it very easy to integrate with the collection of > C programs and PostgreSQL functions I use to generate and manage music for > large-scale pieces. (I’m on a Mac.) > > I have been doing this since the late 1980’s, for John Cage's operas, > installations, and films, and for my own large-scale orchestral works, such > as “Ocean 1-133” for 150 musician soloists over 90 minutes — see the Merce > Cunningham work “Ocean" if you are interested. > > The parts for Ocean 1-133 (more than 3000 pages) were pulled from the > database and formatted using C code into the P-field file format of the > wonderful old Score program by Leland Smith. Like LilyPond, this format is > expressed with simple text files. Given the abandonment of Score and the > vibrancy of LilyPond, I want to know if I should be using LilyPond. > > 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). > > <John-Cage-time-brackets.png> > > Score had no problem doing this because fundamentally it was a CAD program > augmented by musical knowledge. With the P-field format, you essentially cut > out the musical knowledge layer. You got to put beautiful-looking music > symbols wherever you wanted them. From what I can tell, the musical knowledge > part of the equation is too deeply baked in to most notation programs, such > that if you don’t need it, or want to invent new rules, you are stuck trying > to trick the program into not doing what it “helpfully” insists on doing. > > 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. > > So: > 1. Is LilyPond up to the job? > 2. What commands are used to do the time bracket centering, meter-free > notehead selection, bar-less notehead equidistant spacing, etc.? > 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? 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? > > BTW, I am open to hiring a knowledgeable LilyPerson as a time-saving and > inspirational resource. Reply to this email if you are interested. > > Regards, > > Andrew Culver > > >
