Hi David,
What you can do if you want to is to write (cdr elts)
instead of elts everywhere in the body of the cond. If you do that, the
key is not actually included in the resulting music. You can then write
smartglobal = {
\smartkey c \minor { \key c \minor s1 }
\smartkey cis \major { \key cis \major s1 }
\smartkey es \minor { \key es \minor s1 }
}
smartnotes = \relative c' {
\smartkey c \minor { c4 es g <c, es g> }
\smartkey cis \major { cis eis gis <cis, eis gis> }
\smartkey es \minor { es ges bes <es, ges bes> }
}
this seems like a rather awkward interface prone to user error.
Agreed. =(
you don't get around telling every music how to enharmonize, and
that won't happen if it is merely in parallel with some enharmonization
construct.
Understood — thanks for the clear explanation.
I was hoping there might be an [easy] way for a function to split parallel music into
moments "in the same key" (i.e., split points defined by key changes), and then
apply enharmonization to those chunks on a per-staff basis.