First of all, thanks to Simon for answering my previous question about how
to get a split centered title in the running header.  My adaptation of his
solution is included below.

Next, I am trying to use bookpart to separate songs in a multi-song book.
The title of the piece remains the same, and I am using subtitle to
identify each song.

The problem I now have is in subsequent book parts, the headers are
printing twice:
  1) Once is the running header, which works as intended.
  2) Then the header for the song (bookpart) is printed, which includes
title, subtitle, poet, composer and arranger.

Really, all I want is to print from the normal header is the subtitle.

Here is what I have tried:
  o Setting arranger to "" is fine that does not need to get printed again.
  o Setting title to "" is fine since the value used in the running header
uses fixed variables (not the dynamic context variables like \fromproperty
#'header:title)
  o But for poet and composer, I either get the double printing, or if I
set poet and composer to "", they do not get printed in either the running
header nor the bookpart header.

So, my question boils down to: Is there a way to suppress printing of the
poet and composer in a bookpart header (without setting the values to "")?

Thanks.  Here is my example:



\version "2.19.11"
\include "english.ly"

emDash = \markup \char ##x2014
titleKern = "   "
pageNumberKern = " "

titleLeft = "Indal"
titleRight = "Haran"

\header {
    poet = "Concert Pitch"
    copyright = \markup { \tiny "copyright © 2014 D. Elaine Alt" }
    title = \markup { \fontsize #4 \bold \line { \titleLeft " " \titleRight
} }
    composer = "Traditional"
    arranger = "transcribed by D. Elaine Alt"
}

\paper {
    print-page-number = ##t
    print-first-page-number = ##f
    oddHeaderMarkup = \markup {
        \on-the-fly #print-page-number-check-first
        \fill-line {
            \fromproperty #'header:poet
            \line {
                \titleLeft
                \titleKern
                \emDash
                \pageNumberKern
                \lower #0.55 \fontsize #6 \fromproperty
#'page:page-number-string
                \pageNumberKern
                \emDash
                \titleKern
                \titleRight
            }
            \fromproperty #'header:composer
        }
    }
    evenHeaderMarkup = \oddHeaderMarkup
    oddFooterMarkup = \markup { \fill-line { \fromproperty
#'header:copyright } }
    evenFooterMarkup = \oddFooterMarkup
}

dohaChaubolaDaud = \relative c'' {
    \key bf \major
    \numericTimeSignature
    \once \override Staff.TimeSignature #'stencil = ##f
    \time 4/4
    \mark \markup { "part 1" }
    bf8 bf bf a16 g bf2 |
    a8 a f g16 a g8 f4. |
    r8 bf ~ bf bf16 c af8. g16 f4 |
    r4 f16 g f g ef8. d16 c4 |
    r8 ef ~ ef ef16 f d4 c |
    bf1 \bar "||" \break
    \mark \markup {" part 2" }
    bf'8 bf16 bf bf8 a16 c bf2 |
    bf16 bf bf8 a a g8. f16 g8 a |
    g8 f2.. |
    r8 bf ~ bf bf16 c af8. g16 f4 |
    r4 f16 g f g ef8. d16 c4 |
    r8 ef ~ ef ef16 f d4 c \bar "||" \break
    \mark \markup { "part 3" }
    ef8 ef16 ef ef8 ef16 g f2 |
    bf8. af16 af4 g8 g16 g g8 g16 a |
    g8 f2.. |
    r8 bf ~ bf bf16 c af8. g16 f4 |
    f8 bf ~ bf f16 g ef8. d16 c4 |
    r8 ef ~ ef ef16 f d4 c |
    bf1  \bar "||" \break
}

dohaChand = \relative c' {
    \key bf \minor
    \numericTimeSignature
    \once \override Staff.TimeSignature #'stencil = ##f
    \time 4/4
    \grace c16 (  df8 ) df df [ c16 bf ] c4 af8  bf16 c |
    df c bf c  af bf8. ~ bf4 r |
    ef4 c ef8 ef16 ef f4 |
    bf8 bf16 bf bf8 af16 g af8 g16 f ~ f4 |
    r4 r8 ef16 f gf?8 f16 ef df8 c16 bf |
    bf2 r2 \bar "||"
}

%%%%%

\book {
    \bookpart {
        \header {
            subtitle = "Doha - Chaubola - Daud"
        }
        \score {
            \new StaffGroup <<
                \new Staff {
                    \set Staff.instrumentName = #""
                    \clef treble
                    \transpose c c { \dohaChaubolaDaud } \pageBreak
                }
            >>
        }
    }

    \bookpart {
        \header {
            title = ""
            subtitle = "Doha - Chand"
            arranger = ""
            % If these are set to "", then they are not printed in the
running header.
            % If these are left with pre-existing values, then the names
are printed twice,
            %     once in the running header then once again above the
score.
            % How can I get them to print in the running header, but not
above the score?
            %composer = ""
            %poet = ""
        }
        \score {
            \new StaffGroup <<
                \new Staff {
                    \set Staff.instrumentName = #""
                    \clef treble
                    \transpose c c { \dohaChand }
                }
            >>
        }
    }
}



David Elaine Alt
415 . 341 .4954                                           "*Confusion is
highly underrated*"
ela...@flaminghakama.com
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to