lilypond-user
[Top][All Lists]
Advanced

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

Separating content and form for pieces with many movements (e.g. masses)


From: Valentin Petzel
Subject: Separating content and form for pieces with many movements (e.g. masses)
Date: Thu, 23 Feb 2023 23:04:43 +0100

Hello Pondmates,

as I am going to engrave a small mass for a friend I’ve sketched a small set 
of functions that should make engraving pieces with many movements of very 
similar structure much more fun.

Previously when doing such things I would have files for each movement defining 
namesspaced variables, providing different parts, and then combine them in a 
master using \includes.

This sketch here replaces this by a registering interface. Suppose we have a 
mass. Then this allows us to do for each part (possibly in an included file or 
even multiple included files):

\registerPart #'kyrie
\partSetTitle #'kyrie "Kyrie"

\partSetGlobal #'kyrie {  ... global block ... }
\partSetCGlobal #'kyrie { \dynamicUp }

\partSetStaff #'gloria #'flute {
  music
}

... the same for all instruments and voices ...

\partAddLyrics #'kyrie #'soprano \lyricmode { lyrics }

... the same for all lyrics ...

This then registers the content of each part. If we want to print the score we 
can do

\printParts layout

where layout is a function turning a part into a score. These layout functions 
could be defined in included files, allowing us to fully separate content and 
form. Creating instrument parts is then nothing but using a specific layout 
function.

This is something just sketched up now. It works, but it surely could be 
expanded to fit more needs (but it can easily be expanded, modified and 
adapted).

I still hope this might prove useful or educational for some of you.

Cheers,
Valentin

Attachment: partManager.ly
Description: Text Data

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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