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
}

[image of music]

小節線はまだ譜刻されています。何が間違っているのでしょうか?内部リファレンスに戻って、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
}

[image of music]

今度は小節線が消えました。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
}

[image of music]

しかしながら、stencil プロパティを #f にセットするのではなく、オブジェクトの大きさを修正する必要があるオブジェクトも存在するということに注意してください。そのようなオブジェクトの stencil プロパティを #f にセットするとエラーになります。 例えば、NoteHead オブジェクトの stencil プロパティを #f にセットするとエラーになります。この場合、point-stencil を使ってサイズが 0 のステンシル (型、型紙) をオブジェクトにセットします:

\relative {
  c''4 c
  \once \override NoteHead.stencil = #point-stencil
  c4 c
}

[image of music]


GNU LilyPond 学習マニュアル v2.25.22 (development-branch).