lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: opus migration


From: Jean Abou Samra
Subject: Re: opus migration
Date: Wed, 10 Nov 2021 09:13:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1



Le 09/11/2021 à 19:41, Mark Stephen Mrotek a écrit :

Hello,

.

A piano piece I am engraving has several sections. Each has different meters, keys, and number of voices. Each is coded in a separate score for ease of future editing.

The entire piece is structured

\header {

title = ‘’title’’

composer = ‘’composer’’

opus = ‘’opus’’

}

\include “section1.ly’’

\include ‘’section2.ly’’

\include ‘’section3ly’’

\include ‘’section4.ly’’            Yes the quote marks are not the correct style here.

When compiled the opus appears before each section.

Reading

https://lilypond.org/doc/v2.22/Documentation/notation/creating-titles-headers-and-footers

“Note, though, that only piece and opus fields are printed by default in Score Titles unless the \paper variable, print-all-headers, is set to #t.”

Would someone please provide a functioning explanation has to how this apply this to my current piece?

Thank you for your kind attention..

Mark



Mark,

Let me take an example illustrating your problem:

\version "2.22.1"

\header {
  title = "title"
  composer = "composer"
  opus = "opus"
}

{ c'1 }

{ c'1 }

The documentation is consistent here. opus is meant as a per-score field. The intended usage is something like

\version "2.22.1"

\header {
  title = "title"
  composer = "composer"
}

\score {
  \header {
    opus = "opus 1"
  }
  { c'1 }
}

\score {
  \header {
    opus = "opus 2"
  }
  { c'1 }
}

When you put it in a top-level \header block, all scores inherit the field. print-all-headers makes scores inherit more fields, and you want the exact opposite.

You could turn opus off in all scores but the first.

\version "2.22.1"

\header {
  title = "title"
  composer = "composer"
}

\score {
  \header {
    opus = "opus 1"
  }
  { c'1 }
}

\score {
  \header {
    opus = ##f
  }
  { c'1 }
}

Or, likely simplest, you could use another header field intended for usage in book-level titles.

\version "2.22.1"

\header {
  title = "title"
  composer = "composer"
  arranger = "opus"
}

{ c'1 }

{ c'1 }


Best regards,
Jean



reply via email to

[Prev in Thread] Current Thread [Next in Thread]