[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Convert-ly crashes
From: |
Nicolas Sceaux |
Subject: |
Re: Convert-ly crashes |
Date: |
Thu, 21 Dec 2006 22:16:14 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin) |
Laura Conrad <address@hidden> 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