Hi Barry,
nevertheless, here is a working solution (derived from
http://lilypond.org/doc/v2.18/Documentation/learning/advanced-tweaks-with-scheme).
Beware though: The notehead style is chosen here on a by-sounding-pitch
basis, so it has to be adapted for pieces in another key. But for the
reasons I explained, I'm not sure that this is not basically "right".
Of course, there certainly is a way to write a routine in such a way that
you can give the desired style and desired key signature once while issuing
\override AmbitusNoteHead.style = ... - the routine then rotate the note
heads around accordingly - but this exceeds both my scheme skills and
available time :-).
\version "2.19.44"
#(define (style-sacredHarp-notehead grob)
"Change the notehead style according to pitch class."
(let ((mod-position (modulo (ly:grob-property grob 'staff-position)
7)))
(case mod-position
;; Return styles
((1) 'fa) ; for C
((2) 'sol) ; for D
((3) 'la) ; for E
((4) 'fa) ; for F
((5) 'sol) ; for G
((6) 'la) ; for A
((0) 'mi) ; for B
)))
% Standard definitions for \aikenHeads or \sacredHarpHeads may be
% found in lilypond/usr/share/lilypond/current/ly/property-init.ly:
%
%
% aikenHeads = \set shapeNoteStyles = ##(do re miMirror fa sol la ti)
% aikenHeadsMinor = \set shapeNoteStyles = ##(la ti do re miMirror fa sol)
% funkHeads = \set shapeNoteStyles = ##(doFunk reFunk miFunk faFunk
solFunk laFunk tiFunk)
% funkHeadsMinor = \set shapeNoteStyles = ##(laFunk tiFunk doFunk reFunk
miFunk faFunk solFunk)
% sacredHarpHeads = \set shapeNoteStyles = ##(fa sol la fa sol la mi)
% sacredHarpHeadsMinor = \set shapeNoteStyles = ##(la mi fa sol la fa sol)
% southernHarmonyHeads = \set shapeNoteStyles = ##(faThin sol laThin
faThin sol laThin miThin)
% southernHarmonyHeadsMinor = \set shapeNoteStyles = ##(laThin miThin
faThin sol laThin faThin sol)
% walkerHeads = \set shapeNoteStyles = ##(doWalker reWalker miWalker
faWalker solFunk laWalker tiWalker)
% walkerHeadsMinor = \set shapeNoteStyles = ##(laWalker tiWalker doWalker
reWalker miWalker faWalker solFunk)
\layout {
\context {
\Voice
\consists "Ambitus_engraver"
}
\override AmbitusNoteHead.style = #style-sacredHarp-notehead
}
\relative {
\sacredHarpHeads
c'4 d e b'
}
2017-08-11 10:47 GMT+02:00 Lukas-Fabian Moser <[email protected]>:
> Hi Barry,
>
> unfortunately I do not have a ready-made solution - while it's possible to
> change the ambitus note heads to a single specific sign by issuing (for
> example) \override AmbitusNoteHead.style = #'do in the \layout block, this
> is not a solution since it changes both ambitus note heads at the same time
> -, I just want to point out an inherent problem:
> As far as I understand, \sacredHarpHeads and \aikenHeads depend on the key
> signature chosen (in much the same way that movable do syllables do). So,
> it's a bit dodgy to issue ambitus information using these signs since the
> key signature might change in the course of the piece. (Strictly speaking,
> the ambitus signs occur at a place before a key signature is issued - but
> this slight inconsistency applies to ambitus marks in general since they
> show note heads *left* to the first clef ever encountered by the singer.)
>
> Best
> Lukas
>
>
> 2017-08-11 10:02 GMT+02:00 Barry Parsons <[email protected]>:
>
>> Hi all,
>>
>> As a newbie to this wonderful software I have a slightly odd request.
>>
>> I set vocal music using shape notes (\sacredHarpHeads or \aikenHeads).
>> I've recently discovered the ambitus function, which is really useful.
>>
>> I wonder, is it possible to add the correct shaped noteheads to the
>> ambitus at the start of a score, instead of ordinary round noteheads?
>>
>> Thanks in advance,
>> Barry
>>
>>
>> _______________________________________________
>> lilypond-user mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user