| [ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
| [ < コンテキストのプラグインを変更する ] | [ 上へ : コンテキストを理解する ] | [ 同じタイプの全コンテキストを変更する > ] |
5.1.5 コンテキストのデフォルト設定を変更する
プロパティを変更する で説明したように、コンテキストとグラフィカル
オブジェクトのプロパティを \set コマンドや \override
コマンドで変更することができます。これらのコマンドは音楽イベントを生成して、楽譜処理中にコマンドが出現するポイントで変更に効果を発揮させます。
対照的に、このセクションではコンテキストが作成された時点でコンテキストとグラフィカル オブジェクトのプロパティの デフォルト 値を変更する方法を説明します。これを行う方法は 2 つあります。1 つはある特定のタイプの全コンテキストのデフォルト値を変更する方法で、もう 1 つはただ 1 つのコンテキストのインスタンスのデフォルト値を変更する方法です。
| 同じタイプの全コンテキストを変更する | ||
| 指定したコンテキストだけを変更する | ||
| 適用順序 |
| [ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
| [ < コンテキストのデフォルト設定を変更する ] | [ 上へ : コンテキストのデフォルト設定を変更する ] | [ 指定したコンテキストだけを変更する > ] |
同じタイプの全コンテキストを変更する
Score, Staff, Voice, その他のコンテキストにおいてデフォルトで使用される譜刻のためのコンテキスト設定は、\layout ブロックの中の\context ブロックで指定することができます。\layout ブロックは、それを適用する \score ブロックの中で、かつ、音楽表記の後に配置する必要があります。
譜刻ではなく MIDI 出力に関する設定をする場合は、\midi ブロックに別々に指定する必要があります (出力定義 - コンテキストの青写真を参照してください)。
\layout {
\context {
\Voice
[すべての Voice コンテキストのコンテキスト設定]
}
\context {
\Staff
[context settings for all Staff contexts]
}
}
以下のタイプの設定を指定することができます:
-
\overrideコマンド – コンテキスト名を省略します\score { \relative { a'4^"Thicker stems" a a a a4 a a\ff a } \layout { \context { \Staff \override Stem.thickness = #4.0 } } } -
コンテキスト プロパティを直接設定します
\score { \relative { a'4^"Smaller font" a a a a4 a a\ff a } \layout { \context { \Staff fontSize = #-4 } } } -
\dynamicUpや\accidentalStyle dodecaphonicのような音楽表記等、あらかじめ定義されているコマンド\score { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } \layout { \context { \Voice \dynamicUp } \context { \Staff \accidentalStyle dodecaphonic } } } -
\withブロックを有するユーザ定義変数 –\withブロックの詳細は 指定したコンテキストだけを変更する を参照してください。StaffDefaults = \with { fontSize = #-4 } \score { \new Staff { \relative { a'4^"Smaller font" a a a a4 a a a } } \layout { \context { \Staff \StaffDefaults } } }
プロパティ設定コマンドは、\context ブロックで囲まずに、\layout ブロックの中に配置することができます。そのような設定は、指定されたタイプの任意のコンテキストの開始時にプロパティ設定コマンドをインクルードするのと等価です。コンテキストを指定しない場合、すべての 下位コンテキストに影響を与えます – 下位コンテキスト - ボイス を参照してください。\layout ブロックの中でのプロパティ設定コマンドの構文は、音楽ストリームの中で同じコマンドを記述するのと同じです。
\score {
\new Staff {
\relative {
a'4^"Smaller font" a a a
a4 a a a
}
}
\layout {
\accidentalStyle dodecaphonic
\set fontSize = #-4
\override Voice.Stem.thickness = #4.0
}
}
| [ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
| [ < 同じタイプの全コンテキストを変更する ] | [ 上へ : コンテキストのデフォルト設定を変更する ] | [ 適用順序 > ] |
指定したコンテキストだけを変更する
\with ブロックで指定したコンテキスト インスタンスのコンテキスト
プロパティだけを変更することができます。他の全ての同じタイプのコンテキスト インスタンスは、LilyPond に組み込まれてスコープ内の \layout ブロックによって変更されたデフォルト設定のままです。\with ブロックは \new context-type コマンドの直後に配置する必要があります:
\new Staff \with { [このコンテキスト インスタンスだけに適用されるコンテキスト設定] }
{
…
}
あるいは、もし入力モードを指定するような簡略記法のコマンド (例えば
\chordmode の代わりに \chords を使うなど) を用いて音楽を入力する場合、\with をそのようなコマンドのすぐ後に配置する必要があります:
\chords \with { [この (暗黙的) コンテキスト インスタンスだけに適用されるコンテキスト設定] }
{
…
}
このような記法によって作られる暗黙的なコンテキストが変更されます。
これは、同様な入力モードを指定する簡略記法のコマンドにも当てはまります
(\drums, \figures)。入力モード を参照してください。
\with ブロックで行われるコンテキストの変更は音楽の内部にあるため、出力定義内での変更とは異なり、全ての 出力 (楽譜と MIDI の両方) に影響が及びます。
以下のタイプの設定を指定することができます:
-
\overrideコマンド – コンテキスト名を省略します\score { \new Staff { \new Voice \with { \override Stem.thickness = #4.0 } { \relative { a'4^"Thick stems" a a a a4 a a a } } } } -
コンテキスト プロパティを直接設定します
\score { << \new Staff { \relative { a'4^"Default font" a a a a4 a a a } } \new Staff \with { fontSize = #-4 } { \relative { a'4^"Smaller font" a a a a4 a a a } } >> } -
\dynamicUp等のあらかじめ定義されているコマンド\score { << \new Staff { \new Voice { \relative { a'4^"Dynamics below" a a a a4 a a\ff a } } } \new Staff \with { \accidentalStyle dodecaphonic } { \new Voice \with { \dynamicUp } { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } } } >> }
参照
記譜法リファレンス: 入力モード
| [ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
| [ < 指定したコンテキストだけを変更する ] | [ 上へ : コンテキストのデフォルト設定を変更する ] | [ 新しいコンテキストを定義する > ] |
適用順序
ある特定のタイミングで適用されるプロパティの値は以下のように決定されます:
-
入力ストリームの中の
\overrideコマンドや\setコマンドが ある場合、その値が用いられます。 -
さもなければ、コンテキスト初期宣言の
\withから取得したデフォルト値が用いられます。 -
さもなければ、
\layoutブロックや\midiブロックの中にある直近で適切な\contextブロックから取得したデフォルト値が用いられます。 - さもなければ、LilyPond の組み込みデフォルト値が用いられます。
参照
学習マニュアル: Modifying context properties
記譜法リファレンス:
コンテキストの説明,
下位コンテキスト - ボイス,
\set コマンド,
\override コマンド,
\layout ブロック
| [ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
| [ < 指定したコンテキストだけを変更する ] | [ 上へ : コンテキストのデフォルト設定を変更する ] | [ 新しいコンテキストを定義する > ] |