[ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
[ < プロパティ変更の概要 ] | [ 上へ : プロパティを変更する ] | [ override コマンド > ] |
5.3.2 \set
コマンド
各コンテキストは プロパティ の集合を持ちます。プロパティとは、コンテキストの中に保持されている変数です。コンテキスト プロパティは、\set
コマンドによって変更されます。\set
コマンドは以下のような構文を持ちます:
\set context.property = #value
value は Scheme オブジェクトですので、#
文字を前に置く必要があります。
通常、コンテキスト プロパティの名前は、小文字で始まる単語に大文字で始まる単語をつなげたものです。これらはたいてい音楽から記譜への翻訳を制御します
– 例えば、localAlterations
(臨時記号を表示するかどうかを決定します)
や、measurePosition
(小節線を表示するタイミングを決定します) です。コンテキスト プロパティは、楽曲の解釈をしている間、ずっと値を変更しておくことができます。measurePosition
がその良い例です。コンテキスト プロパティは \set
で変更されます。
例えば、コンテキスト プロパティ skipBars
が
#t
にセットされていれば、複小節休符は 1 つの小節に統合されます
(空の小節を圧縮する で説明されています):
R1*2 \set Score.skipBars = ##t R1*2
context 引数が省略されている場合、プロパティはカレントの最下位のコンテキストにセットされます
(一般に、ChordNames
, Voice
, TabVoice
,
あるいは Lyrics
です)。
\set Score.autoBeaming = ##f \relative { e''8 e e e \set autoBeaming = ##t e8 e e e } \\ \relative { c''8 c c c c8 c c c }
変更は ‘オンザフライ’ (その場、その時々) で適用されるため、設定 \set autoBeaming = ##t
は 2 番目の 8 分音符グループだけに効果を持ちます。
最下位コンテキストが常に変更しようとしているプロパティを持っているとは限らないということに注意してください
– 例えば、skipBars
プロパティをデフォルトの最下位コンテキスト
(この場合は、Voice
です) にセットしようと試みても、効果はありません。なぜなら、skipBars
は Score
コンテキストのプロパティだからです。
R1*2 \set skipBars = ##t R1*2
コンテキストは階層構造をとるため、音楽表記を囲っているコンテキスト
– 例えば、Staff
– が指定された場合、変更は現在の Staff
の中にあるすべての Voice
に適用されます。
\unset
コマンド:
\unset context.property
は、context から property の定義を削除するために使用されます。このコマンドは、context の中にセットされた場合にのみ、定義を削除します。音楽表記を囲っているコンテキストにセットされたプロパティは、囲まれているコンテキストの中にある \unset
では変更されません:
\set Score.autoBeaming = ##t \relative { \unset autoBeaming e''8 e e e \unset Score.autoBeaming e8 e e e } \\ \relative { c''8 c c c c8 c c c }
\set
と同様に、
最下位コンテキストに対しては context 引数を指定する必要はありません。ですから、以下の 2 つの記述:
\set Voice.autoBeaming = ##t \set autoBeaming = ##t
は、カレントの最下位コンテキストが Voice
であれば、等価です。
\set
や \unset
の前に \once
を置くと、その設定は単一の時間ステップにだけ適用されます:
c''4 \once \set fontSize = #4.7 c''4 c''4
利用可能なすべてのコンテキスト プロパティについての完全な記述は、内部リファレンスにあります。以下を参照してください: Tunable context properties.
参照
内部リファレンス: Tunable context properties
[ << デフォルトを変更する ] | [トップ][目次][インデックス] | [ 付表 >> ] |
[ < プロパティ変更の概要 ] | [ 上へ : プロパティを変更する ] | [ override コマンド > ] |