[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < spanner-interface を使用する ] | [ Up : スパナ ] | [ オブジェクトの可視性 > ] |
line-spanner-interface
を使用する
line-spanner-interface
をサポートするオブジェクトには以下のものがあります:
-
DynamicTextSpanner
-
Glissando
-
TextSpanner
-
TrillSpanner
-
VoiceFollower
これらのスパナのステンシルを描画する責任を持つルーチンは
ly:line-spanner::print
です。このルーチンはスパナの両端の位置を綿密に決定し、求めに応じたスタイルでそれらの間に線を描きますスパナの両端の位置はオンザフライ (その場、その時々) で算出されますが、それらの Y 座標をオーバライドすることができます。指定する必要のあるプロパティは、プロパティ階層内で 2 階層下にネストされていますが、この \override
コマンドは非常にシンプルです:
e''2 \glissando b' \once \override Glissando.bound-details.left.Y = #3 \once \override Glissando.bound-details.right.Y = #-2 e''2 \glissando b'
Y
プロパティの単位は staff-space
であり、譜の中央線が 0 位置です。グリッサンドでは、スパナの両端は各符頭の中心であり、Y
はそれらの点を上下させます。
Y
が設定されていない場合、値はスパナの両端の垂直位置から算出されます。
改行の場合、終点の Y
の値は bound-details
の部分リスト left-broken
や right-broken
のによって指定されます。例を示します:
\override Glissando.breakable = ##t \override Glissando.bound-details.right-broken.Y = #-3 c''1 \glissando \break f''1
bound-details
プロパティの部分リスト left
や right
の下位プロパティのいくつかは、Y
と同じ方法で変更することができます:
Y
終点の Y 座標を、譜の中央線からの
staff-space
オフセットで、設定します。デフォルトでは、終点オブジェクトの中心です。ですから、グリッサンドは符頭の中心に向かって進みます。水平方向に広がるスパナ – テキスト スパナやトリル スパナなど – では、この値は 0 に固定されています。
attach-dir
スパナのラインがオブジェクトの左右どちらから始まり、終わるのかを決定します。
-1
(あるいはLEFT
) であれば、ラインは符頭の左側から開始あるいは終了します。X
終点の絶対 X 座標です。通常、オンザフライ (その場、その時々) で算出され、これをオーバライドしてもあまり意味がありません。
stencil
ライン スパナは開始点や終了点で記号を持つ場合があり、その記号はこのサブ プロパティに保持されています。このサブ プロパティは内部で使用するためのものです。このサブ プロパティの代わりに
text
を使用することを推奨します。text
ステンシルを作成するために評価されるマークアップです。水平スパナに cresc., tr それに他のテキストを配置するために使用されます。
\override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } \relative { c''2\startTextSpan b c a\stopTextSpan }
stencil-align-dir-y
stencil-offset
これらの 1 つを設定しなければ、ステンシルは、
X
とY
サブ プロパティで定義されたとおりに、ラインに中央揃えで、終点に配置されます。stencil-align-dir-y
あるいはstencil-offset
のどちらかを設定すると、記号が上下します:\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2 \override TextSpanner.bound-details.right.stencil-align-dir-y = #UP \override TextSpanner.bound-details.left.text = "ggg" \override TextSpanner.bound-details.right.text = "hhh" \relative { c'4^\startTextSpan c c c \stopTextSpan }
予期される結果とは逆に、負の値はテキストを 上げる ということに注意してください。なぜなら、
-1
あるいはDOWN
はテキストの 下端 をスパナ ラインに揃え、1
あるいはUP
はテキストの 上端 をスパナ ラインに揃えるからです。arrow
このサブ プロパティに
#t
をセットするとラインの終点に矢印が描かれます。padding
このサブ プロパティはラインの終点と実際の終点の間のスペースを制御します。パディングがなければ、グリッサンドは両端の符頭の中心から描かれます。
音楽関数 \endSpanners
は直後の音符から始まるスパナをすぐに終了させます。ちょうど 1 音符分でスパナを終了させますが、to-barline
が真で、かつ、次の音符の前に小節線がある場合はその小節線のところでスパナを終了させます。
\relative c'' { \endSpanners c2 \startTextSpan c2 c2 \endSpanners c2 \< c2 c2 }
\endSpanners
を使用している場合、\startTextSpan
を \endTextSpan
で閉じる必要はなく、ヘアピンを \!
で閉じる必要もありません。
参照
内部リファレンス: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface
[ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
[ < spanner-interface を使用する ] | [ Up : スパナ ] | [ オブジェクトの可視性 > ] |