5.3 大きなプロジェクト
大きなプロジェクトに取り組んでいるとき、LilyPond 入力ファイルの構造をすっきりさせておくことが不可欠です。
- 各ボイスに対して変数を使用して、定義の中の構造を最小限にします。
\score
セクションの構造が最も変更される可能性が高い箇所です。一方、violin
定義は LilyPond のバージョンが新しくなっても変更される可能性はまずありません。
violin = \relative {
g'4 c'8. e16
}
…
\score {
\new GrandStaff {
\new Staff {
\violin
}
}
}
- 調整を音楽定義から分離します。このことは前にも触れましたが、大きなプロジェクトでは絶対に不可欠なことです。
fthenp
の定義を変更する必要が生じた場合、変更は 1 回で済み、violin
の内部にはまったく手を触れる必要がありません。
fthenp = _\markup{
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
violin = \relative {
g'4\fthenp c'8. e16
}