lilypond-user
[Top][All Lists]
Advanced

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

Capo Chords (was: Re: Newbie Question -- verse and chorus)


From: Tim Rowe
Subject: Capo Chords (was: Re: Newbie Question -- verse and chorus)
Date: Tue, 12 May 2009 14:30:50 +0100

2009/5/12 Carl D. Sorensen <address@hidden>:

> To do this on double rows is not too hard.  I made it easier by developing a
> parenthesizeAll function.
>
> (I haven't put in the instrument name or the instrument_name_engraver that
> was in the archives, but I think you can do that).
>
> parenthesizeAll =
> #(define-music-function (parser loc myMusic) (ly:music?)
>  (music-map
>    (lambda (ev)
>      (if (or (memq 'note-event (ly:music-property ev 'types))
>              (memq 'rest-event (ly:music-property ev 'types)))
>          (set! (ly:music-property ev 'parenthesize) #t))
>      ev)
>    myMusic)
>  myMusic)
>
>
> mychords = \chordmode {
>  c1 g1 c1
> }
>
> <<
>  \new ChordNames {
>    \mychords
>  }
>  \new ChordNames {
>    \parenthesizeAll
>      \transpose c a {\mychords}
>  }

That's useful -- I'd prefer side-by-side, but two rows will have to
do, it seems.

> So I think the best way to go is to just mess with the chordNames function.
> If I recall correctly, in the last year or so somebody posted on the list a
> transposition function for chord names.  You might be able to make that work
> and to create a new chord name creation function that would create the chord
> name, transpose it, and then combine the two with the second one in
> parentheses.  This would require Scheme knowledge.

That was how I thought it would be done. Well, I'd already added
"Learn Scheme" to my to-do list!

> P.S.  It's generally a good idea to start a new thread when you change the
> topic; it helps in archive searches later.

I wasn't really expecting a reply (your helpfulness has exceded my
expectations!) but topic drift happens often enough on mailing lists
for it to be easily fixable ;-)


-- 
Tim Rowe




reply via email to

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