]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/accidentals.ly
patch::: 1.5.43.rz1: 1.5.43.rz1
[lilypond.git] / input / regression / accidentals.ly
1 \version "1.5.43.rz1"
2
3 \header{
4 texidoc="
5 This shows how accidentals are handled.
6 "
7 }
8
9 #(define  (lo-octave p)
10   (let* ((a (pitch-alteration p))
11          (n (pitch-notename p)))
12     (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 (music? e)
25         (ly-set-mus-property
26          music 'element
27          (no-octaves e)))
28
29     (if (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''' {
46    \mel
47    \property Score.oneMeasureLazy = ##t
48    \property Score.autoAccidentals = #'(Staff (same-octave . 0))
49    < s1^"$\\backslash$property Score.autoAccidentals = \\#'((same-octave . 0))" \mel >
50    \property Score.autoAccidentals = #'(Staff (same-octave . 1))
51    < s1^"$\\backslash$property Score.autoAccidentals = \\#'((same-octave . 1))" \mel >
52    \property Score.autoAccidentals = #'(Staff (any-octave . 0))
53    < s1^"$\\backslash$property Score.autoAccidentals = \\#'((any-octave . 0))" \mel >
54    \property Score.autoAccidentals = #'(Staff (any-octave . 1))
55    < s1^"$\\backslash$property Score.autoAccidentals = \\#'((any-octave . 1))" \mel >
56    \modernAccidentals
57    < s1^"$\\backslash$modernAccidentals" \mel >
58    \modernCautionaries
59    < s1^"$\\backslash$modernCautionaries" \mel >
60    \noResetKey
61    < s1^"$\\backslash$noResetKey" \mel >
62    \forgetAccidentals
63    < s1^"$\\backslash$forgetAccidentals" \mel >
64   }
65   \context NoteNames \repeat unfold 9 \apply #no-octaves \mel
66  >
67  \paper {
68   indent = 0.0
69  }
70 }
71