]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/accidental-octave.ly
e0593b7e4fef66e9f9402eec8b4eb011706ca370
[lilypond.git] / input / regression / accidental-octave.ly
1
2 \version "1.5.68"
3
4 \header {
5 texidoc="
6 This shows how accidentals in different octaves are handled.
7 Fixme: Shorten and docu
8 "
9 }
10
11 #(define  (lo-octave p)
12   (let* ((a (pitch-alteration p))
13          (n (pitch-notename p)))
14     (make-pitch -1 n a)))
15
16 #(define (no-octaves music)
17   (let* ((es (ly-get-mus-property music 'elements))
18          (e (ly-get-mus-property music 'element))
19          (p (ly-get-mus-property music 'pitch)))
20
21     (if (pair? es)
22         (ly-set-mus-property!
23          music 'elements
24          (map no-octaves es)))
25
26     (if (music? e)
27         (ly-set-mus-property!
28          music 'element
29          (no-octaves e)))
30
31     (if (pitch? p)
32         (begin
33           (set! p (lo-octave p))
34           (ly-set-mus-property! music 'pitch p)))
35
36
37     music))
38
39
40 \include "paper16.ly"
41
42 mel = \notes \transpose c'' {
43   \time 4/4 \key d \major
44   gis4 g' g gis' | gis2 g' | g1 | gis | g | gis' | g |
45   fis4 f' f fis' | fis2 f' | f1 | fis | f | fis' | f |
46   \bar "|." \break
47 }
48
49 mus = \notes {
50    \mel
51    \property Score.oneMeasureLazy = ##t
52    \property Score.autoAccidentals = #'(Staff (same-octave . 0))
53    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'(Staff (same-octave . 0))" \mel >
54    \property Score.autoAccidentals = #'(Staff (same-octave . 1))
55    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'(Staff (same-octave . 1))" \mel >
56    \property Score.autoAccidentals = #'(Staff (any-octave . 0))
57    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'(Staff (any-octave . 0))" \mel >
58    \property Score.autoAccidentals = #'(Staff (any-octave . 1))
59    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'(Staff (any-octave . 1))" \mel >
60    \modernAccidentals
61    < s1^""^""^"$\\backslash$modernAccidentals" \mel >
62    \modernCautionaries
63    < s1^""^""^"$\\backslash$modernCautionaries" \mel >
64    \noResetKey
65    < s1^""^""^"$\\backslash$noResetKey" \mel >
66    \forgetAccidentals
67    < s1^""^""^"$\\backslash$forgetAccidentals" \mel >
68 }
69
70
71 \score {
72   < \context Staff \mus
73     \context NoteNames \apply #no-octaves \mus
74   >
75   \paper {
76     indent=0.0
77   }
78 }