Autor Thema: keine Instrumentenangabe auf der ersten Seite einer Stimme?  (Gelesen 2642 mal)

juppes

  • Member
keine Instrumentenangabe auf der ersten Seite einer Stimme?
« am: Donnerstag, 18. Oktober 2012, 23:26 »
liebe Forumsmitglieder,

wie erreiche ich es, daß in einer Stimme das im Header definierte Instrument nicht zweimal angezeigt wird? Definiere ich das Instrument im Header, steht es immer in der Kopfzeile, aber leider eben auch auf der ersten Seite, wo es ohnehin schon im Header steht.

Danke für Eure Hilfe

Be-3

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #1 am: Donnerstag, 18. Oktober 2012, 23:41 »
Hallo Juppes,

dann liegt das wohl an Deiner Definition der Kopfzeile...
Der Standard enthält an der entsprechenden Stelle nämlich

\on-the-fly #not-first-page \fromproperty #'header:instrument

das dafür sorgt, daß in der Kopfzeile der ersten Seite das Instrument nicht angezeigt wird.

Viele Grüße
Torsten

juppes

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #2 am: Donnerstag, 18. Oktober 2012, 23:57 »
Ja, stimmt! Dann muß ich die Frage besser anders stellen: wie erreiche ich, daß die Instrumentenbezeichnung auf einer bestimmten Seite nicht angezeigt wird?

In meinem Projekt stehen vor der ersten Notenseite nämlich schon das Vorwort und das Inhaltsverzeichnis. Andererseits sind diese beiden Teile Bookparts.

Der Header steht aber über der ersten Notenseite, die in meinem Fall dann die Seite 8 wäre. An der Standard-Kopfzeilen-Definition habe ich nichts geändert.
« Letzte Änderung: Freitag, 19. Oktober 2012, 00:14 von juppes »

Be-3

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #3 am: Freitag, 19. Oktober 2012, 00:53 »
Hallo Juppes,

ach so...
Wenn Du Bookparts verwendest (das hätte ich auch vorgeschlagen), kannst Du

\on-the-fly #not-first-page \fromproperty #'header:instrument
ersetzen durch
\on-the-fly #not-part-first-page \fromproperty #'header:instrument

Allerdings müßtest Du dann eigene oddHeaderMarkup- und evenHeaderMarkup-Definitionen (im \paper-Block) einfügen.

Kopiert aus dem Standard und wie oben beschrieben geändert hätte man dann:
oddHeaderMarkup = \markup
\fill-line {
  %% force the header to take some space, otherwise the
  %% page layout becomes a complete mess.
  " "
  \on-the-fly #not-part-first-page \fromproperty #'header:instrument
  \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string
}

%% evenHeaderMarkup would inherit the value of
%% oddHeaderMarkup if it were not defined here
evenHeaderMarkup = \markup
\fill-line {
  \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string
  \on-the-fly #not-part-first-page \fromproperty #'header:instrument
  " "
}

Viele Grüße
Torsten

juppes

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #4 am: Freitag, 19. Oktober 2012, 10:42 »
lieber Torsten,

das war ein toller Hinweis! Es hat allerdings noch etwas gefehlt, weil diese Definitionen, von denen Du sprachst, auch noch in den Paper-Block hineinmüssen:

#(define (not-part-first-page layout props arg)
(if (not (= (chain-assoc-get 'page:page-number props -1)
(ly:output-def-lookup layout 'first-page-number)))
(interpret-markup layout props arg)
empty-stencil))

#(define (print-page-number-check-part-first layout props arg)
(if (or (not (= (chain-assoc-get 'page:page-number props -1)
(ly:output-def-lookup layout 'first-page-number)))
(eq? (ly:output-def-lookup layout 'print-first-page-number) #t))
(create-page-number-stencil layout props arg)
empty-stencil))

Aber das Stichwort
Zitat
\on-the-fly #not-part-first-page \fromproperty #'header:instrument

hat mich auf die richtige Fährte zu diesem Link geführt, wo die komplette Problemlösung steht, die bei mir hier unter Lilypond 2.14.2 perfekt funktioniert:

http://osdir.com/ml/lilypond-user-gnu/2012-06/msg00247.html

Wieder was Praktisches gelernt. Ganz herzlichen Dank  :)

Be-3

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #5 am: Freitag, 19. Oktober 2012, 12:38 »
das war ein toller Hinweis! Es hat allerdings noch etwas gefehlt, weil diese Definitionen, von denen Du sprachst, auch noch in den Paper-Block hineinmüssen:

Hallo Juppes,

oh, tatsächlich, wieder in die "Versions-Falle" getappt...
Ab 2.17 ist #not-part-first-page im Standard enthalten - ich hatte schlicht und ergreifend nicht daran gedacht, daß Du eine ältere Lilypond-Version benutzt!

Die Definition muß übrigens nicht in den \paper-Block, sie kann auch "frei" stehen.

Viele Grüße
Torsten

juppes

  • Member
Re: keine Instrumentenangabe auf der ersten Seite einer Stimme?
« Antwort #6 am: Freitag, 19. Oktober 2012, 19:36 »
ja, es ändert sich immer wieder was in der Syntax, so daß man wirklich die Versionsnummer braucht, damit man richtig zu Werke gehen kann. Werde versuchen, das immer in meine Fragen hier einzubauen.