]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/accidentals.ly
*** empty log message ***
[lilypond.git] / input / regression / accidentals.ly
1 \version "2.1.22"
2
3 \header{
4 texidoc="
5 This shows how accidentals are handled.
6 "
7 }
8
9 #(define  (lo-octave p)
10   (let* ((a (ly:pitch-alteration p))
11          (n (ly:pitch-notename p)))
12     (ly:make-pitch -1 n a)))
13
14 #(define (no-octaves music)
15   (let* ((es (ly:get-mus-property music 'elements))
16          (e (ly:get-mus-property music 'element))
17          (p (ly:get-mus-property music 'pitch)))
18
19     (if (pair? es)
20         (ly:set-mus-property!
21          music 'elements
22          (map no-octaves es)))
23
24     (if (ly:music? e)
25         (ly:set-mus-property!
26          music 'element
27          (no-octaves e)))
28
29     (if (ly:pitch? p)
30         (begin
31           (set! p (lo-octave p))
32           (ly:set-mus-property! music 'pitch p)))
33
34
35     music))
36
37
38 mel = \notes { \key d \major \time 4/4
39  d4  dis dis8 dis, d4 | d dis disis8 d, dis4 | d des disis8 dis, d4 | dis deses d dis ~ | dis dis ~ dis8 d, dis4 ~ | \break
40  dis dis cis c | c cis cisis cis | c ces cisis c | cis ceses c cis ~ | cis cis ~ cis cis \bar "|."  | \break
41 }
42
43 \score { \notes
44  <<
45   \context Staff \transpose c c'' \mel
46   \context NoteNames  \apply #no-octaves \mel
47  >>
48 }
49