Laura Conrad <[EMAIL PROTECTED]> writes:

> I think this might be worth discussing on the users' list.  The
> contributors are probably all making some assumptions about people's
> work habits that doubtless hold true for only some of the population.
> So here's the question: What are your actual and theoretical work
> habits with respect to using convert-ly and \version strings?

Most of the scores I typeset are on the 120-180 pages scale. Here are the
rules I follow, regarding behavior/syntax change issues:

 - the \version number is written once, in a main definition file (I do
   not use lilypond-book, but run lilypond once for the whole
   book);

 - each voice music is entered in its own file, without any "\new
   SomeThing { }" structure, and without tweaks (ie no \override). Same
   for Lyrics and figured bass. Rationale: the notation for notes,
   lyrics, figures is quite stable. If there is a syntax change
   regarding one of these particular things, I can apply specific
   conversion rules, and thus avoid undesired effects. Tweaks, time
   signatures, marks, dynamics, are entered in a global.ily file (one
   per score), using loads of \tags;

 - the score structure: \score, \header, \layout, \midi, voice
   inclusion, etc, is written in a score.ily file (one per score);

 - all the scores that have to be included in the book (which can be
   reduced to a single score when I'm typing it) are included in a
   main .ly file, which also includes library files;

 - music functions and markup commands for *every* frequently (read:
   more than once) used things are defined in library files, even
   functions for replacing \clef, including notes, or defining new
   staves. Rationale: in case of a syntax or behavior change, the
   definition of the music function only have to be updated. Or also
   when a derivated score has to be made, where a different behavior is
   needed, such as transposing, then setting an option in the command
   line is enough to generate a score with all voices transposed, with
   different clefs. The library files also contain the default \paper,
   \header and \layout blocks.

The conversion from 1.6 or 1.8 to 2.2 was painful, because of the many
syntax changes there were then (\markup, or << >> vs < > for instance),
but also because I had not used good pratics. None of the following version
changes, after adopting better coding rules, had been an issue.

nicolas


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to