Autor Thema: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?  (Gelesen 1844 mal)

martinmagtenor

  • Member
Hallo,

ich will an einer Instrumentbezeichnung eine Fußnote anbringen. Jetzt habe ich verstanden, dass der Befehl

\footnote Zeichen Verschiebung Grob-Bezeichnung Fußnote

das grundsätzlich erlaubt, in dem man als Zeichen (erstes Argument) \default angibt. Dann muss man aber den Grob-Bezeichner angeben.

Konkrete Frage zu meinem Fall: wie heißt der Grob für Staff.instrumentName?

Und verallgemeinert: woher bekomme bzw. wie finde ich diese Bezeichner selber?

Grüße
  Martin

Pierre

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #1 am: Sonntag, 15. Juni 2014, 11:51 »
Hallo Martin,
Hier gibts einen Workaround : http://lsr.di.unimi.it/LSR/Item?id=918
Grüße,
Pierre

martinmagtenor

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #2 am: Montag, 16. Juni 2014, 21:39 »
Hallo Pierre,

Danke, der Beitrag ist ja brandneu.

Hier gibts einen Workaround : http://lsr.di.unimi.it/LSR/Item?id=918

Da sind die Pixel sozusagen noch nicht richtig trocken.   ;)

Mal schauen, ob ich damit weiterkomme.

Grüße
  Martin

martinmagtenor

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #3 am: Freitag, 20. Juni 2014, 22:54 »
Hallo,

ich wende mich nochmal der eigentlichen Frage zu.

[...]

Konkrete Frage zu meinem Fall: wie heißt der Grob für Staff.instrumentName?

[...]

Nach einigem Lesen und Nachdenken habe ich diese Spur aufgenommen:

Nachdem ich gefunden hatte, dass Grob eigentlich nur die Verkürzung von GRafisches OBjekt ist, ist mir aufgefallen, dass für den instrument_name_engraver dokumentiert ist, dass zu seinen Schnittstellen auch das grob_interface gehört. Beim Herumsuchen war ich auch auf den LSR-Beitrag 622 mit dem Titel Displaying grob ancestry gestoßen. Das brachte mich auf die Idee, diesen Ansatz zu verwenden, um zu prüfen, ob InstrumentName ein Grob ist.

Gesagt getan: Ich lasse den Scheme-Vorspann aus dem LSR-Beitrag weg und zeige nur den modifizierten Notentext (noch in der Schreibweise für 2.16.2):

#(set-default-paper-size "a6")

\relative c' {
  \once \override NoteHead #'before-line-breaking = #display-ancestry
  f4
  \once \override Accidental #'before-line-breaking = #display-ancestry
  \once \override Arpeggio #'before-line-breaking = #display-ancestry
  % \once \override InstrumentName #'before-line-breaking = #display-ancestry
  <f as c>4\arpeggio
}

\layout {
  \context {
    \Staff
    instrumentName = "x"
    \override InstrumentName #'before-line-breaking = #display-ancestry
  }
}

Das  (für mich) interessante Ergebnis ist, dass in der Ausgabe nun zusätzlich dieser Schnippsel erscheint:

------------------------------------

InstrumentName
X: NonMusicalPaperColumn
   X,Y: System
Y: System


------------------------------------

Ich deute das, als Beleg dafür, dass auch das InstrumentName-Ding ein Grob ist und dass der Name dieses Grob "InstrumentName" ist und hiermit gefunden ist.

Richtig?

Grüße
  Martin

Pierre

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #4 am: Freitag, 20. Juni 2014, 23:35 »
[...] Da sind die Pixel sozusagen noch nicht richtig trocken.   ;) [...]
... habe ich speziell für dich erstellt  ;)

harm6

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #5 am: Samstag, 21. Juni 2014, 12:21 »
Hallo,

Zitat von: martinmagtenor
ich wende mich nochmal der eigentlichen Frage zu.

Zitat von: martinmagtenor am Juni 14, 2014, 18:43:28
    [...]
    Konkrete Frage zu meinem Fall: wie heißt der Grob für Staff.instrumentName?
    [...]

Nachdem ich gefunden hatte, dass Grob eigentlich nur die Verkürzung von GRafisches OBjekt ist, ist mir aufgefallen, dass für den instrument_name_engraver dokumentiert ist, dass zu seinen Schnittstellen auch das grob_interface gehört. Beim Herumsuchen war ich auch auf den LSR-Beitrag 622 mit dem Titel Displaying grob ancestry gestoßen. Das brachte mich auf die Idee, diesen Ansatz zu verwenden, um zu prüfen, ob InstrumentName ein Grob ist.
[...]
Das  (für mich) interessante Ergebnis ist, dass in der Ausgabe nun zusätzlich dieser Schnippsel erscheint:

------------------------------------
InstrumentName
X: NonMusicalPaperColumn
   X,Y: System
Y: System
------------------------------------

Ich deute das, als Beleg dafür, dass auch das InstrumentName-Ding ein Grob ist und dass der Name dieses Grob "InstrumentName" ist und hiermit gefunden ist.

Richtig?

das LSR-snippet ist ja ganz nett, ich wäre allerdings anders vorgegangen.

Auch auf die Gefahr hin Dir schon bekanntes zu erzählen, so ist es doch sinnvoll sich nochmal die "naming conventions" zu verdeutlichen:
http://lilypond.org/doc/v2.19/Documentation/learning/naming-conventions-of-objects-and-properties.html

Im konkreten Fall geht es ja um instrumentName, ein context-property.
Den Eintrag in der IR zum Instrument_name_engraver hattest Du ja schon gefunden.
http://www.lilypond.org/doc/v2.19/Documentation/internals/instrument_005fname_005fengraver
Dort ist unter anderem zu lesen:
Zitat
This engraver creates the following layout object(s):

InstrumentName.

"Layout object" ist ein Synonym für "grob":
http://www.lilypond.org/doc/v2.19/Documentation/internals/backend
Zitat
3. Backend
3.1 All layout objects        Description and defaults for all graphical objects (grobs).

Dann kommst Du schnell zu IR 3.1.54 InstrumentName
http://www.lilypond.org/doc/v2.19/Documentation/internals/instrumentname

Et voilà.

Tatsächlich benutze ich meistens die big-page Fassung der Manuals, um auch mit der browser-Suchfunktion suchen zu können und gehe meistens von IR 3.1 All layout objects aus.
http://www.lilypond.org/doc/v2.19/Documentation/internals-big-page#all-layout-objects
Gruß,
  Harm
« Letzte Änderung: Samstag, 21. Juni 2014, 14:53 von harm6 »

martinmagtenor

  • Member
Re: Fußnote an Staff.instrumentName oder wie finde ich Grob-Bezeichner?
« Antwort #6 am: Montag, 23. Juni 2014, 22:01 »
Hallo Harm,

danke, das sind sehr nützliche Hinweise. Vor allem

[...]
"Layout object" ist ein Synonym für "grob":
[...]

Grüße
   Martin