[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
partManager.ly
Description: Text Data
signature.asc
Description: This is a digitally signed message part.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Separating content and form for pieces with many movements (e.g. masses),
Valentin Petzel <=