]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/accidental-octave.ly
patch::: 1.5.25.rz1: accidentals 1.5.25.rz1
[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  (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 \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 = #'((measure-same-octave . 0))
51    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'((measure-same-octave . 0))" \mel >
52    \property Score.autoAccidentals = #'((measure-same-octave . 1))
53    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'((measure-same-octave . 1))" \mel >
54    \property Score.autoAccidentals = #'((measure-any-octave . 0))
55    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'((measure-any-octave . 0))" \mel >
56    \property Score.autoAccidentals = #'((measure-any-octave . 1))
57    < s1^""^""^"$\\backslash$property Score.autoAccidentals = \\#'((measure-any-octave . 1))" \mel >
58    \modernAccidentals
59    < s1^""^""^"$\\backslash$modernAccidentals" \mel >
60    \modernCautionaries
61    < s1^""^""^"$\\backslash$modernCautionaries" \mel >
62    \noResetKey
63    < s1^""^""^"$\\backslash$noResetKey" \mel >
64    \forgetAccidentals
65    < s1^""^""^"$\\backslash$forgetAccidentals" \mel >
66 }
67
68
69 \score {
70   < \context Staff \mus
71     \context NoteNames \apply #no-octaves \mus
72   >
73   \paper {
74     indent=0.0
75   }
76 }