5.1.2 コンテキストを作成する
ボイスと譜が 1 つだけの楽譜では、コンテキストは自動的に作成されます。もっと複雑な楽譜では、手動でコンテキストを作成する必要があります。コンテキスを作成するために 3 つのコマンドがあります。
-
もっとも簡単なコマンドは \new であり、もっとも素早く入力できるコマンドでもあります。このコマンドは音楽表記の前に置きます。例えば、以下のように:
\new type music expression
ここで、type はコンテキスト名 (Staff や Voice など) です。このコマンドは新しいコンテキストを作成し、そのコンテキストに付属する 音楽表記 の解釈を開始します。
\new の実際的な使用例には、多くの譜を持つ楽譜があります。それぞれの譜に配置される各パートの前に \new Staff を記述します。
<<
\new Staff { c4 c }
\new Staff { d4 d }
>>
\new コマンドは、コンテキストに名前を与えることもできます:
\new type = id music
しかしながら、ユーザが指定したコンテキスト名は、
そのコンテキスト以前に同じ名前を与えられたコンテキストが無い場合にのみ、使用できます。
-
\new と同様に、\context コマンドも音楽表記をコンテキスト オブジェクトに代入します。しかしながら、このコマンドはコンテキストに明示的に名前を与えます。構文は以下の通りです:
\context type = id music
この構文は id という名前の type タイプのコンテキストがすで存在していないか検索します。コンテキストがまだ存在していなければ、指定された名前を持つコンテキストが新たに作成されます。これは、コンテキストを後で参照する場合に有用です。例えば、以下のように名前を付けられたメロディ:
\context Voice = "tenor" music
に、以下のように歌詞を設定すると、テキストは適切に音符に揃えられます:
\new Lyrics \lyricsto "tenor" lyrics
名前付きコンテキストの他の使用例として、2 つの音楽表記をつなげて
1 つのコンテキストにすることができます。以下の例では、アーティキュレーションと音符は別々に入力されています:
music = { c4 c4 }
arts = { s4-. s4-> }
これらを同じ Voice コンテキストに送ることによって組み合わせることができます:
<<
\new Staff \context Voice = "A" \music
\context Voice = "A" \arts
>>
このメカニズムを用いることで、原典版 (オリジナル版) を定義し、オプションとしてそれに異なるアーティキュレーションを付けることができます。
-
コンテキストを作成する 3 つ目のコマンドは以下の通りです:
\context type music
これは = id を持つ \context に似ていますが、タイプ type のすべてのコンテキストに適用されます
-- そのコンテキストに与えられた名前とは関係なく適用されます。
この構文の変形版は、異なる階層で解釈される可能性がある音楽表記に対して使用されます。例えば、\applyOutput コマンド
(
Running a function on all layout objects を参照してください)
です。明示的に \context を指定しなければ、通常は Voice に適用されます。
\applyOutput #'context #function % Voice に適用されます
Score レベルや Staff レベルで解釈させるには、以下のようにします:
\applyOutput #'Score #function
\applyOutput #'Staff #function
他の言語: English, deutsch, español, français, italiano