Joel Ebel <jbe...@mybox.org> writes:

> Hi. I'm curious if there's a way to re-use a variable containing
> chords entered in \chordmode to create strumming patterns with
> Pitch_squash_engraver and \improvisationOn. I like only having to
> enter the chords once, so if I change something, I only need to do it
> in one place, and I also would like the strumming patterns in the midi
> output. But the issue is that handing multiple notes to the
> Pitch_squash_engraver gives it a double note-head. Is there a way to
> maybe extract the root of the chord, or get a single head from the
> Pitch_squash_engraver?
>
> Thanks!
> Joel
>
> Example:
>
> \version "2.19.25"
>
> chordNames = \chordmode {
>   c4 c8 c~ c c c c
>   g4 g8 g~ g g g g
>
> }
>
> <<
>   \new ChordNames {
>     \set chordChanges = ##t
>     \chordNames }
>   \new Voice \with {
>     \consists "Pitch_squash_engraver"
>   } { \improvisationOn
>       % Would like some option here like:
>       % \chordRoot
>       \chordNames
>   }
>>>

Try

chordRoot =
#(define-music-function (m) (ly:music?) (event-chord-reduce m))

I don't like the name.  Once we come up with a nice bike shed color, we
probably should provide that function in LilyPond proper and document it
along with Pitch_squash_engraver.

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to