lilypond-user
[Top][All Lists]
Advanced

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

Re: how to avoid double sharps in \transpose?


From: David Kastrup
Subject: Re: how to avoid double sharps in \transpose?
Date: Sat, 04 Feb 2023 13:55:03 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Kenneth Flak <kennethflak@protonmail.com> writes:

> Hi list,
>
> I have this:
>
> \version "2.24.0"
>
> \language english
>
>
> patright = {
>      <b d' g'>2 <c' e' g'> |
> }
>
> patleft = {
>    g2 c
> }
>
> right = {
>    \patright
>    \transpose c df \patright
>    \transpose c d \patright
>    \transpose c ef \patright
>    \transpose c e \patright
>    \transpose c f \patright
>    \transpose c fs \patright
>    \transpose c g \patright
>    \transpose c gs \patright
>    \transpose c a \patright
>    \transpose c bf \patright
>    \transpose c b \patright
> }
>
> left = {
>    \clef bass
>    \patleft
>    \transpose c df \patleft
>    \transpose c d \patleft
>    \transpose c ef \patleft
>    \transpose c e \patleft
>    \transpose c f \patleft
>    \transpose c fs \patleft
>    \transpose c g \patleft
>    \transpose c gs \patleft
>    \transpose c a \patleft
>    \transpose c bf \patleft
>    \transpose c b \patleft
> }
>
> \score {
>    \new PianoStaff
>    <<
>      \new Staff = "right" \right
>      \new Staff = "left" \left
>    >>
> }
>
> It gives me a few instances of double sharps as well as some e
> sharps. How can I do that?

You mean, how can you avoid that?  Don't transpose to gs instead of af.

> Also, the programmer in me squeals upon seeing all these duplications,
> so I was curious how to reduce this to something a bit more sensible?

Try using

{
#@(map (lambda (p) #{ \transpose c #p \patleft #})
       (event-chord-pitches #{ <c df d ef e f fs g af a bf b> #}))
}

-- 
David Kastrup



reply via email to

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