[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < オブジェクトの可視性と色 ] | [ Up : オブジェクトの可視性と色 ] | [ break-visibility property > ] |
stencil
プロパティ
このプロパティは譜刻すべきシンボル (図柄) を指定することによって小節線の見た目を制御します。他の多くのプロパティでも共通に言えますが、このプロパティの値に
#f
をセットすることによって何も譜刻させなくすることができます。ではやってみましょう。以前と同様に、暗黙のコンテキスト Voice
は省略します:
\relative { \time 12/16 \override BarLine.stencil = ##f c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
小節線はまだ譜刻されています。何が間違っているのでしょうか?内部リファレンスに戻って、BarLine
のプロパティを記述しているページを読み返してください。そのページの先頭に
“BarLine オブジェクトは Bar_engraver によって作成されます” と記述されています。Bar_engraver
ページに行ってください。そのページの最後で、Bar_engraver
を保持するコンテキストがリスト アップされています。それらのコンテキストのタイプはすべて Staff
です。ですから、\override
コマンドが予期したように機能しなかったのは、BarLine
はデフォルトの Voice
コンテキストの中にはいなかったからなのです。コンテキストが間違って指定された場合、そのコマンドは機能しません。エラー メッセージは生成されず、ログ ファイルには何もログが残りません。正しいコンテキストを付け加えることによってコマンドを修正してみましょう:
\relative { \time 12/16 \override Staff.BarLine.stencil = ##f c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
今度は小節線が消えました。stencil
プロパティに #f
をセットする操作は頻繁に行うので、短くしたコマンド \omit
が用意されています:
\relative { \time 12/16 \omit Staff.BarLine c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
しかしながら、stencil
プロパティを #f
にセットするのではなく、オブジェクトの大きさを修正する必要があるオブジェクトも存在するということに注意してください。そのようなオブジェクトの stencil
プロパティを #f
にセットするとエラーになります。
例えば、NoteHead
オブジェクトの stencil
プロパティを
#f
にセットするとエラーになります。この場合、point-stencil
を使ってサイズが 0 のステンシル (型、型紙) をオブジェクトにセットします:
\relative { c''4 c \once \override NoteHead.stencil = #point-stencil c4 c }
[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < オブジェクトの可視性と色 ] | [ Up : オブジェクトの可視性と色 ] | [ break-visibility property > ] |