lilypond-user
[Top][All Lists]
Advanced

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

Re: Using other NoteHeads with \harmonicByFret?


From: Thomas Morley
Subject: Re: Using other NoteHeads with \harmonicByFret?
Date: Fri, 3 Feb 2012 10:13:14 +0100

Hi Peter,

2012/2/3 Peter Crighton <address@hidden>:
> Thanks, that fixed the issue with the accidentals, but it's now
> harmonic again and not harmonic-mixed… the "\override NoteHead" line
> seems to just be ignored. (I also don't see how overriding
> after-line-breaking should alter the noteheads…)

sorry, I concentrated on accidentals and dots and I simply overlooked
that the NoteHeads were'nt changed any more.

Try:

\version "2.14.2"

\paper {
        ragged-right = ##t
}

mixedHarmonicByFret = #(define-music-function (parser location fret
music) (number? ly:music?)
 (_i "Convert @var{music} into mixed harmonics; the resulting notes resemble
harmonics played on a fretted instrument by touching the strings above @var{fret
}.")
 (let* ((fret (number->string fret))
        (pitch (fret->pitch fret)))
       (make-sequential-music
        (list
         #{
           \override TabNoteHead #'stencil =
#(tab-note-head::print-custom-fret-label $fret)
           \override NoteHead #'minimum-Y-extent = #'(-0.1 . 0.1)
           \override NoteHead #'stencil = #(lambda (grob)
                        (ly:grob-set-property! grob 'style 'harmonic-mixed)
                        (ly:note-head::print grob))
         #}
         (make-harmonic
           (calc-harmonic-pitch pitch music))
         #{
           \revert TabNoteHead #'stencil
           \revert NoteHead #'stencil
           \revert NoteHead #'minimum-Y-extent
         #}))))

music = {
 \override StringNumber #'transparent = ##t
 \set harmonicDots = ##t
 \ottava #1
 \mixedHarmonicByFret #12 <e,\6>8
 \mixedHarmonicByFret #12 <e g\3 b\2 e'\1>8.
 \mixedHarmonicByFret #7 <g\3 b\2 e'\1>
 \mixedHarmonicByFret #5 <g\3 b\2 e'\1>
 \mixedHarmonicByFret #7 <g\3 b\2 e'\1>
 \mixedHarmonicByFret #12 <g\3 b\2 e'\1>8 |
  c'4 d' e' f' g'1
}
\score {
 <<
   \new Staff { \clef "G_8" \key e\major \music }
   \new TabStaff { \tabFullNotation \music }
 >>
}

Cheers,
  Harm



reply via email to

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