]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/beam-concave.ly
* scm/beam.scm (check-slope-callbacks): check sign of slope.
[lilypond.git] / input / regression / beam-concave.ly
1
2 \version "2.3.4"
3 \header{
4
5 texidoc = "Concave beams should be horizontal. Informally spoken,
6   concave refers to the shape of the notes that are opposite a
7   beam. If an up-beam has high notes on its center stems, then we call
8   it concave. If a beam is fails a test, the desired slope is printed
9   next to it."
10
11
12 }
13
14
15 #(ly:set-option 'debug-beam #t)
16 resetMeasure = \set Score.measurePosition = #(ly:make-moment 0 1)
17
18 % examples from 
19 rossFourBeams =\relative c'' {
20   \time 2/4
21   c8[ e b c]
22   b[ c d b]
23   c[ f b, c]
24
25   a[ f a f] a[ a' a, a']
26   a[ d, e g] a[ f f g]
27   c,[ b f' e]
28   b[ e g, e']
29   g[ d a' b]
30   c[ c, c c]
31   c[ c c c']
32   f,,[ b a g]
33   f[g g e]
34   a[ d, b' g]
35   }
36 rossThreeBeams = \relative c'' {
37   \time 6/8
38   e[ a, c] f[ d g]
39   f,[ b g] a[ b f]
40   d'[ c b a b e]
41   c[ b a c b a]
42   d,[ g a g f e ]
43   a[ g f a g f]
44   d'[ g, a b c d]
45   f[ e d c b f']
46 }
47
48 rossBeams = \relative c'' {
49   \rossFourBeams
50   \rossThreeBeams
51   }
52
53 nonHorizBeams = \relative c'' {
54    \time 3/4
55    f[ e d c g b]
56    b,16[ f' g a]
57    \stemUp b,8[  \stemDown d'8 bes8]  
58 }
59
60
61
62 #(define (<> x y) (not (= x  y)))
63 \score{
64    \new Voice {
65      \override Beam #'position-callbacks = #(check-slope-callbacks =)
66      \rossBeams
67      \override Beam #'position-callbacks = #(check-slope-callbacks <>)
68   \resetMeasure
69      \nonHorizBeams
70      
71    }
72   \paper{
73     raggedright = ##t
74   }
75 }
76
77 #(ly:set-option 'debug-beam #f)
78