LEFT | RIGHT |
1 \version "2.19.60" | 1 \version "2.19.60" |
2 | 2 |
3 \header { | 3 \header { |
4 texidoc = "Test for merging rests in different voices." | 4 texidoc = "Test for merging rests in different voices." |
5 } | 5 } |
6 | 6 |
7 \paper { | 7 \paper { |
8 ragged-right = ##f | 8 ragged-right = ##f |
9 } | 9 } |
10 | 10 |
11 voiceA = \relative { | 11 voiceA = \relative { |
12 % no rest merges | 12 % no rest merges |
13 c''4 r c c | | 13 c''4 r c c | |
14 | 14 |
15 % does not combine differently written rests | 15 % does not combine differently written rests |
16 c4 r r2 | | 16 c4 r r2 | |
17 | 17 |
18 % all rests merged | 18 % all rests merged |
19 r2 r4 r8 r16 r32 r64 r128 r | | 19 r2^"Up" r4 r8 r16 r32 r64 r128 r | |
20 | 20 |
21 % multi-measure rests are combined | 21 % multi-measure rests are combined |
22 R1 | | 22 R1^"Upper text" | |
23 | 23 |
24 % compressed multi-measure rests are combined | 24 % compressed multi-measure rests are combined |
25 R1*3 | | 25 R1*3 | |
26 | 26 |
27 % combining between beams, slurs | 27 % combining between beams, slurs |
28 c8[( r c]) r c16[( r c] r c[ r c]) r | | 28 c8[( r c]) r c16[( r c] r c[ r c]) r | |
29 | 29 |
30 % combining in tuplets | 30 % combining in tuplets |
31 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | | 31 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | |
32 | 32 |
33 % accents on rest, dynamics still aligned | 33 % accents on rest, dynamics still aligned |
34 r4->\f\> r-. r r\! | | 34 r4->\f\> r-. r r\! | |
| 35 |
| 36 % Non-multimeasure whole rests merged at the correct vertical position |
| 37 \time 8/4 |
| 38 r1 r1 |
| 39 |
| 40 % Ensure when suspending merging rests are in their usual positions |
| 41 \time 4/4 |
| 42 \set Staff.suspendRestMerging = ##t |
| 43 r4 r8 |
| 44 \set Staff.suspendRestMerging = ##f |
| 45 r8 r2 | |
35 } | 46 } |
36 | 47 |
37 voiceB = \relative { | 48 voiceB = \relative { |
38 r2 c'4 r | | 49 r2 c'4 r | |
39 c4 r r r | | 50 c4 r r r | |
40 r2 r4 r8 r16 r32 r64 r128 r | | 51 r2_"Down" r4 r8 r16 r32 r64 r128 r | |
41 R1 | | 52 R1_"Lower text" | |
42 R1*3 | | 53 R1*3 | |
43 c8[( r c]) r c16[( r c] r c[ r c]) r | | 54 c8[( r c]) r c16[( r c] r c[ r c]) r | |
44 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | | 55 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | |
45 r4-> r-. r r | | 56 r4-> r-. r r | |
| 57 r1 r1 | |
| 58 r4 r8 r r2 | |
46 } | 59 } |
47 | 60 |
48 voiceC = \relative { | 61 voiceC = \relative { |
49 s1*2 | | 62 s1*2 | |
50 r2 r4 r8 r16 r32 r64 r128 r | % Combines rests from more than 2 voices | 63 r2 r4 r8 r16 r32 r64 r128 r | % Combines rests from more than 2 voices |
51 } | 64 } |
52 | 65 |
53 \score { | 66 \score { |
54 \new Staff \with { | 67 \new Staff \with { |
55 \consists #merge-rests-engraver | 68 \consists #Merge_rests_engraver |
56 \consists #merge-mmrests-engraver | |
57 } << | 69 } << |
58 \compressFullBarRests | 70 \compressFullBarRests |
59 \new Voice { \voiceOne \voiceA } | 71 \new Voice { \voiceOne \voiceA } |
60 \new Voice { \voiceTwo \voiceB } | 72 \new Voice { \voiceTwo \voiceB } |
61 \new Voice { \voiceThree \voiceC } | 73 \new Voice { \voiceThree \voiceC } |
62 >> | 74 >> |
63 } | 75 } |
LEFT | RIGHT |