lilypond-user
[Top][All Lists]
Advanced

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

Re: Ambitus with shape notes


From: Lukas-Fabian Moser
Subject: Re: Ambitus with shape notes
Date: Fri, 11 Aug 2017 11:07:16 +0200

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 <address@hidden>:
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 <address@hidden>:
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
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user




reply via email to

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