| [ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
| [ < break-visibility を用いる ] | [ Up: オブジェクトの可視性 ] | [ ライン スタイル > ] |
特別な考慮を必要とするもの
明示的な変更の後の可視性
break-visibility プロパティが調号の可視性と音部記号の変更を制御するのは、行の先頭 – つまり、改行の後 – においてだけです。行の途中や終わりでの明示的な調の変更や音部記号の変更の後に出現する調号や音部記号の可視性には効果を持ちません。以下の例では、all-invisible がセットされていますが、B フラット メジャーへの明示的な変更の後に出現する調号は可視のままです。
\relative { \key g \major f'4 g a b % すべての調号を削除しようと試みます \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }![]()
そのような明示的な調号や音部記号の変更の可視性は
explicitKeySignatureVisibility プロパティや
explicitClefVisibility プロパティによって制御されます。これらは break-visibility プロパティと等価であり、どちらも break-visibility と同様に 3 つのブール値からなるベクトルか上でリストアップした定義済み関数をとります。どちらも Staff コンテキストのプロパティであり、レイアウト オブジェクト自体のプロパティではありません。ですから、これらは \set コマンドでセットします。どちらもデフォルトでは all-visible がセットされています。これらのプロパティは明示的な変更の結果として生じる調号と音部記号の可視性だけを制御し、行の先頭での調号や音部記号には効果を持ちませんので、オブジェクトを削除するには適切な break-visibility
をオーバライドする必要があります。
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }![]()
前の調をキャンセルする臨時記号の可視性
明示的な調の変更で描画される前の調をキャンセルする臨時記号を削除するには、Staff コンテキスト プロパティ printKeyCancellation に
#f をセットします:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }![]()
このオーバライドによって、調の変更を示す臨時記号だけが残ります。
調を C メジャーや A マイナーに変更する時、前の調をキャンセルする臨時記号は前の調のキャンセルしている だけ であることに注意してください。そのようなケースでは、printKeyCancellation を #f に設定しても効果はありません:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \key c \major f4 g a b \break f4 g a b f4 g a b }![]()
調を C メジャーや A マイナーに変更する場合に、前の調をキャンセルする臨時記号を消すには、KeyCancellation
グラフィカル オブジェクトの可視性をオーバライドします:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \override Staff.KeyCancellation.break-visibility = #all-invisible \key c \major f4 g a b \break f4 g a b f4 g a b }![]()
自動小節線
特殊なケースとして、Score コンテキストの automaticBars プロパティを設定することにより、小節線の描画を Off にすることもできます。#f をセットされた場合、小節線は自動的には描画されなくなり、\bar コマンドで明示的に作成しなければならなくなります。定義済みコマンド \cadenzaOn とは異なり、小節数はカウントされ続けます。後になってこのプロパティに #t がセットされると、このカウントに従って小節線の生成が再開されます。#f がセットされている場合、改行が起こりえるのは明示的な \bar コマンドがある場所でだけになります。
オクターブ移調付きの音部記号
オクターブ移調付きの音部記号上の小さな移調記号は
ClefModifier レイアウト オブジェクトによって作り出されます。このオブジェクトの可視性は
Clef オブジェクトの可視性とは独立して制御されます。そのため、各行の先頭においてそのような音部記号を完全に消そうとするなら、Clef オブジェクトと ClefModifier オブジェクトの両方に対して必要な break-visibility のオーバライドを行う必要があります。
明示的な音部記号の変更では、explicitClefVisibility プロパティが音部記号とそれに関連する移調記号の両方を制御します。
参照
学習マニュアル: オブジェクトの可視性と色
| [ << デフォルトを変更する ] | [Top][Contents][Index] | [ 付表 >> ] |
| [ < break-visibility を用いる ] | [ Up: オブジェクトの可視性 ] | [ ライン スタイル > ] |
![[image of music]](../63/lily-33f58eb2.png)
![[image of music]](../13/lily-c3179a84.png)
![[image of music]](../c1/lily-dca20b8c.png)
![[image of music]](../bf/lily-3dce23fd.png)
![[image of music]](../19/lily-bc6f51d2.png)