| [ << デフォルトを変更する ] | [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-ystencil-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: スパナ ] | [ オブジェクトの可視性 > ] |
![[image of music]](../67/lily-22c9e392.png)
![[image of music]](../46/lily-d5992396.png)
![[image of music]](../f9/lily-643968e7.png)