[ << デフォルトを変更する ] | [トップ][目次][インデックス][ ? ] | [ Notation manual tables >> ] | ||
[ < コンテキストを残しておく ] | [ 上へ : コンテキストを理解する ] | [ コンテキストのデフォルト設定を変更する > ] |
5.1.4 コンテキストのプラグインを変更する
記譜コンテキスト (Score
や Staff
のような) はプロパティを保存するだけなく、‘エングラーバ’ と呼ばれる記譜要素を作成するプラグインを保持します。例えば、Voice
コンテキストは Note_head_engraver
を保持し、Staff
コンテキストは Key_engraver
を保持します。
各プラグインについての説明は、 Engravers and Performers. を参照してください。 Contexts の中にある各コンテキストについての説明では、そのコンテキストで使用されるエングラーバがリストアップされています。
これらのプラグインを入れ換えると有用な場合があります。プラグインを入れ換えるには、新たに作成するコンテキストを
\new
あるいは \context
で開始し、そのコンテキストを以下のように変更します:
\new context \with { \consists … \consists … \remove … \remove … etc. } { ..music.. }
ここで、… はエングラーバの名前になります。ここで、Staff
コンテキストから Time_signature_engraver
と
Clef_engraver
を削除する簡単な例を示します:
<< \new Staff { f2 g } \new Staff \with { \remove "Time_signature_engraver" \remove "Clef_engraver" } { f2 g2 } >>
2 番目の譜には、拍子記号と音部記号がありません。この方法は、オブジェクトを不可視にするよりも乱暴な方法です。なぜなら、譜全体に影響を与えるからです。さらに、望む望まないに係わらず、この方法はスペースにも影響を与えます。オブジェクトを消すもっと洗練された方法については、 オブジェクトの可視性と色 を参照してください。
次の例は、ある実用的な応用です。通常、小節線と拍子記号は楽譜全体で同期されます。これは Timing_translator
と Default_bar_line_engraver
によって行われます。このプラグインは拍子記号の管理や、小節内の配置の管理などを行います。これらのエングラーバを Score
コンテキストから
Staff
コンテキストへ異動させることにより、楽譜の各譜に独自の拍子記号を持たせることが可能になります。
\new Score \with { \remove "Timing_translator" \remove "Default_bar_line_engraver" } << \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 3/4 c4 c c c c c } \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 2/4 c4 c c c c c } >>
既知の問題と警告
エングラーバを指定する順序は、エングラーバが処理を行う順序です。通常、エングラーバが指定される順序は問題にはなりません。しかしながら、いくつかの特殊なケースでは、この順序が重要になります。例えば、あるエングラーバがプロパティを記述して、それを他のエングラーバが読む場合、あるいは、あるエングラーバがグラフィカル オブジェクトを作成し、それを他のエングラーバが処理しなければならない場合です。
以下の順序は重要です:
-
通常、
Bar_engraver
を最初にする必要があります。 -
New_fingering_engraver
をScript_column_engraver
の前に配置する必要があります。 -
Timing_translator
をBar_number_engraver
の前に配置する必要があります。
参照
インストールされているファイル: ‘ly/engraver-init.ly’
[ << デフォルトを変更する ] | [トップ][目次][インデックス][ ? ] | [ Notation manual tables >> ] | ||
[ < コンテキストを残しておく ] | [ 上へ : コンテキストを理解する ] | [ コンテキストのデフォルト設定を変更する > ] |
他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.