[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

5.2 内部リファレンスの説明

@translationof Explaining the Internals Reference


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

5.2.1 内部リファレンスを使いこなす

@translationof Navigating the program reference

以下の譜面の運指記号を移動させたいとします:

 
c''-2

[image of music]

運指指示のドキュメント (運指の指示) を見ると、以下のようなセクションがあることに気付くはずです:

参照

内部リファレンス: (internals)Fingering section ‘Fingering’ in Internals Reference

(internals)Fingering section ‘Fingering’ in Internals Reference へのリンクを辿ってください。ページの先頭に、以下のような記述があります:

Fingering objects are created by: (internals)Fingering_engraver section ‘Fingering_engraver’ in Internals Reference and (internals)New_fingering_engraver section ‘New_fingering_engraver’ in Internals Reference.

内部リファレンスの中にある関連リンクを辿っていくことで、プログラム内部の情報フローを追っていくことができます:

このパスは、プログラム内部での情報フローとは逆向きです: 出力からスタートして、入力イベントで終わっています。入力イベントからスタートして、情報フローを読み進め、最後は出力オブジェクトに辿り着くこともできます。

内部リファレンスを通常のドキュメントのように読むこともできます。内部リファレンスに含まれる章は、 (internals)Music definitions section ‘Music definitions’ in Internals Reference, (internals)Translation section ‘Translation’ in Internals Reference, それに (internals)Backend section ‘Backend’ in Internals Reference です。 各章は、使用されているすべての定義と調整可能なすべてのプロパティをリストアップしています。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

5.2.2 レイアウト インターフェイス

@translationof Layout interfaces

前のセクションで見た HTML ページには、 (internals)Fingering section ‘Fingering’ in Internals Reference と呼ばれるレイアウト オブジェクトについての記述がありました。そのようなオブジェクトは楽譜で記号となります。レイアウト オブジェクトは (太さや向きのような) 数値を保持するプロパティを持っていますが、関連オブジェクトへのポインタも持っています。レイアウト オブジェクトは Grob – これはグラフィカル オブジェクトを縮めたものです – とも呼ばれます。Grob についての詳細は、 (internals)grob-interface section ‘grob-interface’ in Internals Reference を参照してください。

Fingering のページは、Fingering オブジェクトの定義をリストアップしています。例えば、このページには以下のような記述があります:

padding (dimension, in staff space):

0.5

これは、この運指記号は少なくとも符頭の 0.5 倍の距離を保つということを意味します。

各レイアウト オブジェクトは、記譜要素あるいは写植要素としての機能をいくつか持つ場合があります。例えば、Fingering オブジェクトは以下の側面を持っています:

これらの側面はそれぞれ、いわゆる インターフェイス として捉えられます。それらは、 (internals)Fingering section ‘Fingering’ in Internals Reference ページの最下部でリストアップされています。

This object supports the following interfaces:

(このオブジェクトは以下のインターフェイスをサポートします:)

(internals)item-interface section ‘item-interface’ in Internals Reference, (internals)self-alignment-interface section ‘self-alignment-interface’ in Internals Reference, (internals)side-position-interface section ‘side-position-interface’ in Internals Reference, (internals)text-interface section ‘text-interface’ in Internals Reference, (internals)text-script-interface section ‘text-script-interface’ in Internals Reference, (internals)font-interface section ‘font-interface’ in Internals Reference, (internals)finger-interface section ‘finger-interface’ in Internals Reference, and (internals)grob-interface section ‘grob-interface’ in Internals Reference.

リンクのいずれかをクリックすると、それぞれのオブジェクト インターフェイスのページに行くことができます。各インターフェイスはいくつかのプロパティを持ちます。それらプロパティの中には、ユーザにとって役に立たないもの (‘内部プロパティ’) もありますが、それ以外は変更可能です。

これまで Fingering オブジェクトについて話してきましたが、これは実際にはそれほど多くのことをしているわけではありません。初期化ファイル ( (learning)その他の情報源 section ‘その他の情報源’ in Learning Manual を参照してください) ‘scm/define-grobs.scm’ がこの ‘オブジェクト’ の本質を示しています:

 
(Fingering
  . ((padding . 0.5)
     (avoid-slur . around)
     (slur-padding . 0.2)
     (staff-padding . 0.5)
     (self-alignment-X . 0)
     (self-alignment-Y . 0)
     (script-priority . 100)
     (stencil . ,ly:text-interface::print)
     (direction . ,ly:script-interface::calc-direction)
     (font-encoding . fetaText)
     (font-size . -5) 		; don't overlap when next to heads.
     (meta . ((class . Item)
     (interfaces . (finger-interface
                    font-interface
                    text-script-interface
                    text-interface
                    side-position-interface
                    self-alignment-interface
                    item-interface))))))

見て取ることができるように、Fingering オブジェクトは変数設定の塊に過ぎず、内部リファレンスの中にある Web ページは、この定義から直接生成されたに過ぎません。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

5.2.3 グラフィカル オブジェクト プロパティを決定する

@translationof Determining the grob property

以下の 2 の位置を変更しようとしていたことを思い出してください:

 
c''-2

[image of music]

垂直方向で見て、2 は元の音符の隣に配置されるのですから、この配置に関連するインターフェイスに干渉する必要があります。これは side-position-interface を用いて行います。このインターフェイスについてのページには、以下のように記述されています:

side-position-interface

Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)

(対象オブジェクトを他のオブジェクト (サポート オブジェクト) の隣に配置します。このプロパティ direction は、対象オブジェクトをどこに配置するかをサポート オブジェクトからの相対位置で示します (左あるいは右、上あるいは下?))

この記述の下に、以下のような変数 padding についての記述があります:

padding

(dimension, in staff space) (譜スペースを単位とする距離)

Add this much extra space between objects that are next to each other. (隣り合うオブジェクトの間にスペースを付け加えます)

padding の値を増やすことで、運指記号を符頭から離すことができます。以下のコマンドは、音符と運指記号の間に “3 譜スペース”分の距離を加えます:

 
\once \override Voice.Fingering.padding = #3

パディングを運指記号オブジェクトが作成される前に挿入すると、以下のようになります:

 
\once \override Voice.Fingering.padding = #3
c''-2

[image of music]

このケースでは、調整されるコンテキストは Voice です。 (internals)Fingering_engraver section ‘Fingering_engraver’ in Internals Reference プラグインを参照してください。以下のように説明されています:

Fingering_engraver is part of contexts: … (internals)Voice section ‘Voice’ in Internals Reference

(Fingering_engraver は次のコンテキストの一部です: … (internals)Voice section ‘Voice’ in Internals Reference)


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

5.2.4 命名規約

@translationof Naming conventions

内部リファレンスについて他に説明しておくべき事柄として、さまざまな命名規約についての概要があります:

このような疑問があります:


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]

This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.

他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.