[ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
[ < コンテキストのプラグインを変更する ] | [ 上へ : コンテキストを理解する ] | [ 同じタイプの全コンテキストを変更する > ] |
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
ブロック
[ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
[ < 指定したコンテキストだけを変更する ] | [ 上へ : コンテキストのデフォルト設定を変更する ] | [ 新しいコンテキストを定義する > ] |