lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: code suggestions


From: James E. Bailey
Subject: Re: code suggestions
Date: Fri, 10 Oct 2008 09:32:25 +0200


On 10.10.2008, at 09:03, David Stocker wrote:

Hello everyone.

Is there anyone on the list who wouldn't mind taking a look at some code and offering general suggestions on writing input files? I've now successfully typeset several piano scores and would like some feedback from experienced users about the structure of my .ly files. I'm still relatively new to LilyPond (but not to music typesetting). As a study, I'm setting some of the preludes and fugues from Dover's 1983 reprint of the Bach-Gesellschaft edition of Bach's /Well Tempered Clavier/. In particular, I'm after suggestions for the actual code structure and things I may do to make it simpler and more elegant. I'm already aware of any typesetting/collision issues in these draft copies and will consult the documentation (or user forum) for resolutions to typesetting issues.

Thanks in advance,

I'm not the most advanced user, but I would suggest putting the tempo marks (in future) in their own variable. For one, you can input the music all at once, as just music, and just throw the tempo marks in later. Also, if you use templates, it makes it easy to just replace the tempo mark in the template with whatever your current project requires. Also, (and I'm realising this is probably one of the most confusing aspects of the documentation) the multi-voice structure <<{}\\{}>> automatically puts the first {} as \voiceOne and the second {} as \voiceTwo and even puts it back as \oneVoice once it's done. So, if you're going to use that structure to do polyphony, there's no need to specify the voices. You only need to do that if you use <<{\voiceOne} \new Voice {\voiceTwo}>>\oneVoice, in which case, all of that is necessary for the same multi-voice construct. The biggest advantages I find of "explicitly instatiating the voices" (which is what the second version does) is that you can have a slur or tie into or out of the multi-voice construct c4( <<{\voiceOne d4) \new Voice {\voiceTwo a4}>> \oneVoice, and that you can name the second voice \sopranoI = {c4 <<{\voiceOne d4} \new Voice = "sopranoII {\voiceTwo a4}>>. Redundancy doesn't make your input file worse, but understanding the particulars of single-voice polyphony makes it easier to represent exactly what you want, and you may later need to use one construct or another.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]