OLD | NEW |
(Empty) | |
| 1 \version "2.19.60" |
| 2 |
| 3 \header { |
| 4 texidoc = "Test for merging rests in different voices." |
| 5 } |
| 6 |
| 7 \paper { |
| 8 ragged-right = ##f |
| 9 } |
| 10 |
| 11 voiceA = \relative { |
| 12 % no rest merges |
| 13 c''4 r c c | |
| 14 |
| 15 % does not combine differently written rests |
| 16 c4 r r2 | |
| 17 |
| 18 % all rests merged |
| 19 r2^"Up" r4 r8 r16 r32 r64 r128 r | |
| 20 |
| 21 % multi-measure rests are combined |
| 22 R1^"Upper text" | |
| 23 |
| 24 % compressed multi-measure rests are combined |
| 25 R1*3 | |
| 26 |
| 27 % combining between beams, slurs |
| 28 c8[( r c]) r c16[( r c] r c[ r c]) r | |
| 29 |
| 30 % combining in tuplets |
| 31 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | |
| 32 |
| 33 % accents on rest, dynamics still aligned |
| 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 | |
| 46 } |
| 47 |
| 48 voiceB = \relative { |
| 49 r2 c'4 r | |
| 50 c4 r r r | |
| 51 r2_"Down" r4 r8 r16 r32 r64 r128 r | |
| 52 R1_"Lower text" | |
| 53 R1*3 | |
| 54 c8[( r c]) r c16[( r c] r c[ r c]) r | |
| 55 \tuplet 3/2 { c8 r r } r4 \tuplet 3/2 { c4 r r } | |
| 56 r4-> r-. r r | |
| 57 r1 r1 | |
| 58 r4 r8 r r2 | |
| 59 } |
| 60 |
| 61 voiceC = \relative { |
| 62 s1*2 | |
| 63 r2 r4 r8 r16 r32 r64 r128 r | % Combines rests from more than 2 voices |
| 64 } |
| 65 |
| 66 \score { |
| 67 \new Staff \with { |
| 68 \consists #Merge_rests_engraver |
| 69 } << |
| 70 \compressFullBarRests |
| 71 \new Voice { \voiceOne \voiceA } |
| 72 \new Voice { \voiceTwo \voiceB } |
| 73 \new Voice { \voiceThree \voiceC } |
| 74 >> |
| 75 } |
OLD | NEW |