[ << 出力を調整する ] | [トップ][目次][インデックス] | [ テンプレート >> ] |
[ < 自動配置 ] | [ 上へ : オブジェクトの配置 ] | [ direction プロパティ > ] |
5.4.2 譜内部オブジェクト
これまでにコマンド \voiceXXX
がスラー、タイ、運指法記号、符幹の向きに依存する他のすべてに対してどのように影響を与えるかを見てきました
– ボイスを明示的にインスタンス化する を参照してください。
これらのコマンドは、多声部音楽を記述しているときに上下する旋律を見分けられるようにすることを可能にするために不可欠なものです。しかしながら、この自動機能をオーバライドする必要がある場合もあります。このオーバライドは音楽全体に対しても、個々の音符に対してもできます。この自動機能を制御しているプロパティは各レイアウト オブジェクトの
direction
プロパティです。まず、これは何をするのかを説明し、それから、作成済みのコマンドをいくつか紹介します。それらのコマンドを使うと、一般的な変更のための明示的なオーバライドをコードしなくて済みます。
スラーやタイのようなレイアウト オブジェクトはカーブを描き、曲がり、上下します。符幹やフラグのような他のオブジェクトも上下の向きによって位置が左右します。direction
がセットされているときは、これは自動的に制御されます。
direction プロパティ | ||
運指 |
[ << 出力を調整する ] | [トップ][目次][インデックス] | [ テンプレート >> ] |
[ < 譜内部オブジェクト ] | [ 上へ : 譜内部オブジェクト ] | [ 運指 > ] |
direction
プロパティ
以下の例は、最初の小節でスラーのデフォルトの振る舞いを示しています。高い位置にある音符のスラーは音符の上にあり、低い位置にある音符のスターは音符の下にあります。次の小節では両方のスラーをすべて強制的に下向きにし、 さらに次の小節では両方のスラーをすべて強制的に上向きにし、 最後の小節ではスラーの向きをデフォルトに戻します。
a'4( g') c''( a') | \override Slur.direction = #DOWN a'4( g') c''( a') | \override Slur.direction = #UP a'4( g') c''( a') | \revert Slur.direction a'4( g') c''( a') |
ここで定数 DOWN
と UP
を使っています。これらはそれぞれ値 -1
と +1
を持ち、定数の代わりにそれらの数値を使うこともできまはす。さらに値 0
を使う場合もあります。この値はスラーでは UP
を意味するものとして扱われますが、いくつかのオブジェクトでは ‘center’ という意味になります。値 0
を持つ定数に CENTER
があります。
しかしながら、これらの明示的なオーバライドは普通は使われません。もっと簡単で定義済みのコマンドが利用可能だからです。ここに一般的なコマンドの表を挙げます。それぞれのコマンドの意味が明白でない場合は、そのコマンドの意味を述べています。
下/左 | 上/右 | 元に戻す | 効果 |
---|---|---|---|
\arpeggioArrowDown | \arpeggioArrowUp | \arpeggioNormal | 矢印が下に付く、上に付く、付かない |
\dotsDown | \dotsUp | \dotsNeutral | 譜線を避けるための移動方向 |
\dynamicDown | \dynamicUp | \dynamicNeutral | |
\phrasingSlurDown | \phrasingSlurUp | \phrasingSlurNeutral | Note: スラー コマンドとは別になります |
\slurDown | \slurUp | \slurNeutral | |
\stemDown | \stemUp | \stemNeutral | |
\textSpannerDown | \textSpannerUp | \textSpannerNeutral | スパナとして挿入されるテキストが譜の下/上にくる |
\tieDown | \tieUp | \tieNeutral | |
\tupletDown | \tupletUp | \tupletNeutral | 連符記号が音符の下/上にくる |
これらのコマンドで中立/通常の位置に戻すコマンドは \revert
を用いることで実装されていて、これらは前に \once
が付いて いない
かもしれません。\override
を用いて実装されているコマンドの効果を単一のタイミングに限定したいのであれば、明示的なオーバライドの場合と同様に、コマンドの前に \once
を配置します。
あるいは、単に 1 つのレイアウト オブジェクトを上向きか下向きにしたいなら、方向指示子の ^
か _
を使うことができます:
a'4( g') c''( a') | a'4^( g') c''_( a') |
[ << 出力を調整する ] | [トップ][目次][インデックス] | [ テンプレート >> ] |
[ < direction プロパティ ] | [ 上へ : 譜内部オブジェクト ] | [ 譜外部オブジェクト > ] |
運指
単一の音符に対する運指法記号の配置も direction
プロパティによって制御できますが、direction
を変更しても和音の運指法記号は影響を受けません。これから見ていくように、和音の中の個々の音符の運指法記号を制御するための特別なコマンドがあります。このコマンドを使うことで運指法記号を各音符の上、下、左、右に配置することができます。
まず、単一の音符の運指法記号に対する direction
を効果を示します。最初の小節はデフォルト状態で、その後で DOWN
と UP
を指定したときの効果を示します:
\relative { c''4-5 a-3 f-1 c'-5 | \override Fingering.direction = #DOWN c4-5 a-3 f-1 c'-5 | \override Fingering.direction = #UP c4-5 a-3 f-1 c'-5 | }
しかしながら、direction
プロパティをオーバライドすることは、手動で運指法記号を音符の上または下に配置するもっとも簡単な方法ではありません。運指法番号の前に -
の代わりに _
または ^
を使う方が普通は適切です。ここで、上記の例にこの方法を用いた例を挙げます:
\relative { c''4-5 a-3 f-1 c'-5 | c4_5 a_3 f_1 c'_5 | c4^5 a^3 f^1 c'^5 | }
direction
プロパティは和音では無視されますが、方向を示す接頭辞 _
と ^
は機能します。以下で示すように、デフォルトでは、運指法記号は和音の音符の上と下の両方に自動的に配置されます:
\relative { <c''-5 g-3>4 <c-5 g-3 e-2>4 <c-5 g-3 e-2 c-1>4 }
しかし、以下で示すように、運指法番号のすべてまたはいずれかを手動で強制的に和音の上または下に配置するために、これはオーバライドされるかもしれません:
\relative { <c''-5 g-3 e-2 c-1>4 <c^5 g_3 e_2 c_1>4 <c^5 g^3 e^2 c_1>4 }
\set fingeringOrientations
コマンドを使うことによって和音の中にある個々の音符の運指法記号の配置をより細かく制御することさえできます。このコマンドのフォーマットは以下のようなものです:
\set fingeringOrientations = #'([up] [left/right] [down])
fingeringOrientations
は Voice
コンテキストのプロパティであり、New_fingering_engraver
によって作成、使用されるため、\set
が使用されます。
このプロパティには 1 つから 3 つまでの値のリストがセットされるかもしれません。このプロパティは運指法記号を上 (リストに up
がある場合)、下 (リストに down
がある場合)、左 (リストに left
がある場合。リストに right
がある場合は右)
に配置します。逆に配置位置がリストされていない場合、その位置に運指法記号は配置されません。LilyPond はこれらの制約を受け取り、
後に続く和音の音符への運指法記号をうまく配置します。left
と right
は相互排他的であるということに注意してください –
運指法記号は左右のどちらかにしか配置されないか、どちらにも配置されません。
Note: このコマンドを使って単一の音符への運指法記号の配置をコントロールするには、その音符を山括弧で囲んで単一音符の和音として記述する必要があります。
いくつか例を挙げます:
\relative { \set fingeringOrientations = #'(left) <f'-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4 }
運指法記号が少し込み合っているように見える場合は、font-size
でサイズを下げることができます。デフォルト値は内部リファレンスの Fingering
オブジェクトのページから
-5
であることがわかるので、-7
にセットしてみましょう:
\relative { \override Fingering.font-size = #-7 \set fingeringOrientations = #'(left) <f'-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4 }
[ << 出力を調整する ] | [トップ][目次][インデックス] | [ テンプレート >> ] |
[ < direction プロパティ ] | [ 上へ : 譜内部オブジェクト ] | [ 譜外部オブジェクト > ] |