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