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