outside-staff-priority プロパティ (GNU LilyPond 学習マニュアル)

#### `outside-staff-priority` プロパティ

小さな値の `outside-staff-priority` プロパティを持つオブジェクトは譜の近くに配置され、他の譜外部オブジェクトは衝突を避けるのに必要な分だけ離されます。`outside-staff-priority` は `grob-interface` の中で定義されているため、すべてのレイアウト オブジェクトのプロパティです。デフォルトでは、すべての譜内部オブジェクトの `outside-staff-priority` は `#f` にセットされていて、譜外部オブジェクトが作成されたときにその譜外部オブジェクトの `outside-staff-priority` に適当な数値がセットされます。以下の表はいくつかの一般的な譜外部オブジェクトのデフォルトの `outside-staff-priority` 値を示しています。

レイアウト オブジェクト | 優先度 | 以下のオブジェクトの配置を制御する:
--- | --- | ---
`RehearsalMark` | `1500` | リハーサル記号
`MetronomeMark` | `1000` | メトロノーム記号
`SostenutoPedalLineSpanner` | `1000` | ペダル記号
`SustainPedalLineSpanner` | `1000` |
`UnaCordaPedalLineSpanner` | `1000` |
`MeasureCounter` | `750` | 小節番号
`VoltaBracketSpanner` | `600` | Volta (番号付きのリピート) の囲み
`InstrumentSwitch` | `500` | 楽器を変更するテキスト
`TextScript` | `450` | マークアップ テキスト
`MultiMeasureRestText` | `450` | 複数小節にわたる休符上のテキスト
`CombineTextScript` | `450` | パート結合のテキスト
`OttavaBracket` | `400` | オッターバ (オクターブを上下させる記号) の囲み
`TextSpanner` | `350` | テキスト スパナ
`DynamicLineSpanner` | `250` | すべての強弱記号
`BarNumber` | `100` | 小節番号
`TrillSpanner` | `50` | トリル記号
`AccidentalSuggestion` | `0` | 注釈的な臨時記号 (音符の上に付く臨時記号、ムジカ・フィクタ)

これらのうちのいくつかのデフォルトでの配置を示している例を挙げます。

>     % 以降のテキスト スパナの詳細を設定します
>     \override TextSpanner.bound-details.left.text
>         = \markup { \small \bold Slower }
>     % 強弱記号を譜の上に配置します
>     \dynamicUp
>     % オッターバ囲みの開始
>     \ottava #1
>     c''4 \startTextSpan
>     % 強弱テキストとヘアピンを付け加えます
>     c''4\pp\<
>     c''4
>     % テキスト スクリプトを付け加えます
>     c''4^Text |
>     c''4 c''
>     % 強弱テキストを付け加え、強弱ヘアピンを終わらせます
>     c''4\ff c'' \stopTextSpan |
>     % オッターバ囲みを終わらせます
>     \ottava #0
>     c'4 c' c' c' |

この例はテキスト スパナ – 音楽の上に置かれる延長線付きのテキスト – の作成方法についても示しています。スパナは `\startTextSpan` コマンドから `\stopTextSpan` コマンドまで延び、テキストのフォーマットは `\override TextSpanner` コマンドによって定義されます。詳細は テキスト スパナ を参照してください。

この例はさらにオッターバ囲みを作成する方法についても示しています。

`outside-staff-priority` のデフォルト値による配置があなたの望みに合わない場合、いずれかのオブジェクトの優先度をオーバライドすることになるかもしれません。上記の例で、オッターバ囲みをテキスト スパナの下に配置したいとします。すべきことは、`OttavaBracket` は `Staff` コンテキストの中に作成されるということを思い出し、`OttavaBracket` の優先度を内部リファレンスか上記の表で調べて、それを `TextSpanner` の値よりも小さくすることです:

>     % 以降のテキスト スパナの詳細を設定します
>     \override TextSpanner.bound-details.left.text
>         = \markup { \small \bold Slower }
>     % 強弱記号を譜の上に配置します
>     \dynamicUp
>     % 以降のオッターバ囲みをテキスト スパナの下に配置します
>     \once \override Staff.OttavaBracket.outside-staff-priority = #340
>     % オッターバ囲みの開始
>     \ottava #1
>     c''4 \startTextSpan
>     % 強弱テキストを付け加えます
>     c''4\pp
>     % 強弱の線スパナを付け加えます
>     c''4\<
>     % テキスト スクリプトを付け加えます
>     c''4^Text |
>     c''4 c''
>     % 強弱テキストを付け加えます
>     c''4\ff c'' \stopTextSpan |
>     % オッターバ囲みを終わらせます
>     \ottava #0
>     c'4 c' c' c' |

これらのオブジェクトのいくつか – 特に、小節番号、メトロノーム記号、それにリハーサル記号 – はデフォルトでは `Score` コンテキストの中にあるため、それらのプロパティをオーバライドする場合は適切なコンテキストを指定する必要があることに注意してください。

スラーはデフォルトでは譜内部オブジェクトに分類されています。しかしながら、譜の上部に配置された音符に付くスラーはしばしば譜の上に表示されます。このことは、スラーがまず最初に配置されるため、アーティキュレーションなどの譜外部オブジェクトをあまりにも高い位置に押し上げる可能性があります。アーティキュレーションの `avoid-slur` プロパティに `'inside` をセットすることでアーティキュレーションをスラーよりも内側に配置することができます。しかし、`avoid-slur` プロパティはアーティキュレーションの `outside-staff-priority` が `#f` にセットされている場合にのみ効果を持ちます。代替手段として、スラーの `outside-staff-priority` に数値をセットすることによって、スラーを他の譜外部オブジェクトとともに `outside-staff-priority` 値に従って配置することができます。ここで、2 つの方法の効果を示す例を挙げます:

>     \relative c'' {
>       c4( c^\markup { \tiny \sharp } d4.) c8 |
>       c4(
>         \once \override TextScript.avoid-slur = #'inside
>         \once \override TextScript.outside-staff-priority = ##f
>         c4^\markup { \tiny \sharp } d4.) c8 |
>       \once \override Slur.outside-staff-priority = #500
>         c4( c^\markup { \tiny \sharp } d4.) c8 |
>     }

`outside-staff-priority` は、個々のオブジェクトの垂直方向の配置を制御するために使用することもできます。しかしながら、その結果は常に望み通りになるわけではありません。自動配置 にある例で “Text3” を “Text4” の上に配置したいとします。すべきことは `TextScript` の優先度を内部リファレンスか上記の表で調べて、“Text3” の優先度を大きくすることです:

>     c''2^"Text1"
>     c''2^"Text2" |
>     \once \override TextScript.outside-staff-priority = #500
>     c''2^"Text3"
>     c''2^"Text4" |

これはたしかに “Text3” を “Text4” の上に配置しています。しかし、“Text3”を “Text2” の上に配置して、“Text4” を押し下げてもいます。おそらく、これはそれほど望ましい結果ではないでしょう。本当に望んでいることは、すべての注釈を譜の上に譜から同じ距離だけ離して配置することです。そうするには明らかに、テキストのためにもっと広いスペースを確保するために、音符を水平方向に広げる必要があります。これは `\textLengthOn` コマンドを用いることで達成できます。

#### GNU LilyPond 学習マニュアル v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 チュートリアル
  - 2.1 ファイルをコンパイルする
  - 2.2 入力ファイルの書き方
    - 2.2.1 簡単な記譜法
      - ピッチ
      - 演奏時間 (リズム)
      - 休符
      - 拍子記号
      - テンポ記号
      - 音部記号
      - すべてをまとめて
    - 2.2.2 入力ファイルに取り組む
  - 2.3 エラーに対処する
    - 2.3.1 一般的なトラブルシュート Tips
    - 2.3.2 いくつかの一般的なエラー
  - 2.4 このマニュアルの読み方
    - 2.4.1 省略された構成要素
    - 2.4.2 クリック可能な例
    - 2.4.3 マニュアルの概要
- 3 一般的な記譜法
  - 3.1 単一譜表表記
    - 3.1.1 小節線と小節チェック
      - 小節線
      - 小節チェック
    - 3.1.2 ピッチと調号
      - ピッチ変更
      - 調号
      - 警告: 調号とピッチ
    - 3.1.3 タイとスラー
      - タイ
      - スラー
      - フレージング スラー
      - 警告: スラー vs. タイ
    - 3.1.4 アーティキュレーションと強弱記号
      - アーティキュレーション
      - 運指法記号
      - 強弱記号
    - 3.1.5 テキストを追加する
    - 3.1.6 自動連桁と手動連桁
    - 3.1.7 高度なリズム コマンド
      - 部分小節
      - 連符
      - 装飾小音符
  - 3.2 同時に演奏する複数の音符
    - 3.2.1 音楽表記についての説明
      - 数学的表記との類似
      - 同時進行する音楽表記: 複数の譜
      - 同時進行する音楽表記: 単一の譜表
    - 3.2.2 複数の譜
    - 3.2.3 譜表グループ
    - 3.2.4 音符を組み合わせて和音にする
    - 3.2.5 単一譜表での多声
  - 3.3 歌曲
    - 3.3.1 簡単な歌曲を作成する
    - 3.3.2 歌詞を旋律に揃える
    - 3.3.3 複数の譜への歌詞
  - 3.4 仕上げ
    - 3.4.1 変数を用いて楽曲を編成する
    - 3.4.2 タイトルを付け加える
    - 3.4.3 絶対音符名
    - 3.4.4 このチュートリアルの後にすべきこと
- 4 基礎となるコンセプト
  - 4.1 LilyPond 入力ファイルの仕組み
    - 4.1.1 LilyPond ファイル構造の紹介
    - 4.1.2 Score は (単一の) 複合的な音楽表記
    - 4.1.3 音楽表記をネストする
    - 4.1.4 入力音符の構造
    - 4.1.5 ネストされない括弧とタイ
  - 4.2 音楽を保持するボイス
    - 4.2.1 私はボイスを聴いている
    - 4.2.2 ボイスを明示的にインスタンス化する
    - 4.2.3 ボイスとボーカル
  - 4.3 コンテキストとエングラーバ
    - 4.3.1 コンテキストの説明
    - 4.3.2 コンテキストを作成する
    - 4.3.3 エングラーバの説明
    - 4.3.4 コンテキスト プロパティを変更する
    - 4.3.5 エングラーバを追加 / 削除する
  - 4.4 テンプレートを拡張する
    - 4.4.1 ソプラノとチェロ
    - 4.4.2 4 パート SATB ボーカル譜
    - 4.4.3 ゼロから楽譜を構築する
    - 4.4.4 変数と関数を用いて入力の手間を省く
    - 4.4.5 楽譜とパート
- 5 出力を調整する
  - 5.1 調整の基本
    - 5.1.1 調整の紹介
    - 5.1.2 オブジェクトとインタフェイス
    - 5.1.3 オブジェクトとプロパティの命名規則
    - 5.1.4 調整手段
      - `\override` コマンド
      - `\revert` コマンド
      - `\once` 接頭辞
      - `\overrideProperty` コマンド
      - `\tweak` コマンド
      - `\single` 接頭辞
  - 5.2 内部リファレンス マニュアル
    - 5.2.1 レイアウト オブジェクトのプロパティ
    - 5.2.2 インタフェイスの中で見つかるプロパティ
    - 5.2.3 プロパティのタイプ
  - 5.3 オブジェクトの見た目
    - 5.3.1 オブジェクトの可視性と色
      - `stencil` プロパティ
      - `break-visibility` property
      - `transparent` プロパティ
      - `color` プロパティ
    - 5.3.2 オブジェクトのサイズ
    - 5.3.3 オブジェクトの長さと太さ
  - 5.4 オブジェクトの配置
    - 5.4.1 自動配置
    - 5.4.2 譜内部オブジェクト
      - `direction` プロパティ
      - 運指
    - 5.4.3 譜外部オブジェクト
      - `outside-staff-priority` プロパティ
      - `\textLengthOn` コマンド
      - 強弱記号の配置
      - グラフィカル オブジェクトのサイズ
  - 5.5 垂直方向のスペース
  - 5.6 オブジェクトの衝突
    - 5.6.1 オブジェクトを移動させる
    - 5.6.2 表記の重なりを修正する
      - `padding` プロパティ
      - `right-padding` プロパティ
      - `staff-padding` プロパティ
      - `self-alignment-X` プロパティ
      - `staff-position` プロパティ
      - `extra-offset` プロパティ
      - `positions` プロパティ
      - `force-hshift` プロパティ
    - 5.6.3 実際の音楽からの例
  - 5.7 更なる調整
    - 5.7.1 調整のその他の使用方法
      - 異なるボイスの中にある音符をタイで結ぶ
      - MIDI でフェルマータをシミュレートする
    - 5.7.2 レイアウトの調整のために変数を使用する
    - 5.7.3 スタイル シート
    - 5.7.4 その他の情報源
    - 5.7.5 Scheme を用いた高度な調整
- Appendix A テンプレート
  - A.1 組み込まれているテンプレート
    - A.1.1 SATB テンプレート
    - A.1.2 SSAATTBB テンプレート
  - A.2 単一譜テンプレート
    - A.2.1 音符のみ
    - A.2.2 音符と歌詞
    - A.2.3 音符とコード
    - A.2.4 音符、歌詞それにコード
  - A.3 ピアノ テンプレート
    - A.3.1 ソロ ピアノ
    - A.3.2 ピアノと歌詞を持つ旋律
    - A.3.3 歌詞が中央に配置されたピアノ譜
  - A.4 弦楽四重奏テンプレート
    - A.4.1 弦楽四重奏
    - A.4.2 弦楽四重奏パート
  - A.5 合唱テンプレート
    - A.5.1 SATB ボーカル譜
    - A.5.2 SATB ボーカル譜と自動ピアノ譜
    - A.5.3 整列されたコンテキストを持つ SATB
    - A.5.4 4 つの譜に配置された SATB
    - A.5.5 ソロと 2 パートのリフレイン
    - A.5.6 賛美歌
    - A.5.7 聖歌
  - A.6 オーケストラ テンプレート
    - A.6.1 オーケストラ、合唱それにピアノ
  - A.7 古代の記譜法テンプレート
    - A.7.1 計量記譜法のテンプレート
    - A.7.2 グレゴリア聖歌のテンプレート
  - A.8 その他のテンプレート
    - A.8.1 ジャズ バンド
- Appendix B GNU Free Documentation License
- Appendix C インデックス