]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/accidental-octave.ly
54ba4fb976eb0fc93d413266e0e56a29111fa879
[lilypond.git] / input / regression / accidental-octave.ly
1 \version "1.5.24.rz2"
2
3 \header {
4 texidoc="
5 This shows how accidentals in different octaves are handled.
6 "
7 }
8
9 #(define  (central-octave p)
10   (let* ((a (pitch-alteration p))
11          (n (pitch-notename p)))
12     (make-pitch 0 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 (central-octave p))
32           (ly-set-mus-property music 'pitch p)))
33
34
35     music))
36
37
38 \include "paper16.ly"
39
40 mel = \notes \transpose c'' {
41   \time 4/4 \key d \major
42   gis4 g' g gis' | gis2 g' | g1 | gis | g | gis | g' |
43   fis4 f' f fis' | fis2 f' | f1 | fis | f | fis | f' |
44   \bar "|." \break
45 }
46
47 mus = \notes {
48   \mel
49    \property Score.oneMeasureLazy = ##t
50    \property Score.autoAccidentals = #'(same-octave)
51    < s1^"$\\backslash$property Score.autoAccidentals = \\#'(same-octave)" \mel >
52    \property Score.autoAccidentals = #'(lazy-same-octave)
53    < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-same-octave)" \mel >
54    \property Score.autoAccidentals = #'(any-octave)
55    < s1^"$\\backslash$property Score.autoAccidentals = \\#'(any-octave)" \mel >
56    \property Score.autoAccidentals = #'(lazy-any-octave)
57    < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-any-octave)" \mel >
58   \modernAccidentals
59   < s1^"$\\backslash$modernAccidentals" \mel >
60   \modernCautionaries
61   < s1^"$\\backslash$modernCautionaries" \mel >
62   \noResetKey
63   < s1^"$\\backslash$noResetKey" \mel >
64 }
65
66
67 \score {
68   < \context Staff \mus
69     \context NoteNames \apply #no-octaves \mus
70   >
71   \paper {
72     indent=0.0
73   }
74 }