Mark,

I try as suggested.  The print seems to suggest no voice two.   When I just 
extract voice two (the bass) there is no midi sound for the s1~ s1.   This is 
not what I want.

 
Blessing in+,


>________________________________
> From: Mark Mathias <d8val...@gmail.com>
>To: MING TSANG <tsan...@rogers.com> 
>Cc: lilypond-usermailinglist <lilypond-user@gnu.org> 
>Sent: Wednesday, April 4, 2012 1:35:23 AM
>Subject: Re: partcombine - whole note : slash on grace note
> 
>
>Sorry, meant to include this:
>%{TB65-66%} ef4~ ef16 f16) g8 f4. af8 | %new TBk doesn't have the whole note.
>\new Voice = "Tenor"   { 
>\voiceOne  {                    \TTj  \TBk g1~ | g1  } }
>\new Voice = "Bass"  { 
>\voiceTwo  {             \BBj  \TBk s1~ | s1  } }
>
>
> 
>On Wed, Apr 4, 2012 at 1:29 AM, Mark Mathias <d8val...@gmail.com> wrote:
>
>(1) Try altering your TBk variable to not include the tied whole note, then 
>add the whole note to one Voice and add a space instead of a whole note to the 
>other Voice.
>>(2) Someone else will have to help you with your second question.
>>May I suggest that you carve your sample down to a Very Tiny Example? It will 
>>make it easier for someone to help you.
>>Best Wishes,
>>Mark
>>
>>
>>On Tue, Apr 3, 2012 at 11:50 PM, MING TSANG <tsan...@rogers.com> wrote:
>>
>>Two questions:
>>>(1) how can I have partcombine works on whole note - refer to bar #6 of png 
>>>file?
>>>(2) how can I have slash on the grace notes beam - refer to piano RH - bar 
>>>#4?
>>>
>>>
>>>Appreciate the help.
>>>
>>>
>>>
>>><><><><>snippet
>>>\version "2.14.2" 
>>>\include "english.ly"
>>>#(define (rest-score r)
>>>(let ((score 0)
>>>(yoff (ly:grob-property-data r 'Y-offset))
>>>(sp (ly:grob-property-data r 'staff-position)))
>>>(if (number? yoff)
>>>(set! score (+ score 2))
>>>(if (eq? yoff 'calculation-in-progress)
>>>(set! score (- score 3))))
>>>(and (number? sp)
>>>(<= 0 2 sp)
>>>(set! score (+ score 2))
>>>(set! score (- score (abs (- 1 sp)))))
>>>score))
>>>#(define (merge-rests-on-positioning grob)
>>>(let* ((can-merge #f)
>>>(elts (ly:grob-object grob 'elements))
>>>(num-elts (and (ly:grob-array? elts)
>>>(ly:grob-array-length elts)))
>>>(two-voice? (= num-elts 2)))
>>>(if two-voice?
>>>(let* ((v1-grob (ly:grob-array-ref elts 0))
>>>(v2-grob (ly:grob-array-ref elts 1))
>>>(v1-rest (ly:grob-object v1-grob 'rest))
>>>(v2-rest (ly:grob-object v2-grob 'rest)))
>>>(and
>>>(ly:grob? v1-rest)
>>>(ly:grob? v2-rest) 
>>>(let* ((v1-duration-log (ly:grob-property v1-rest 'duration-log))
>>>(v2-duration-log (ly:grob-property v2-rest 'duration-log))
>>>(v1-dot (ly:grob-object v1-rest 'dot))
>>>(v2-dot (ly:grob-object v2-rest 'dot))
>>>(v1-dot-count (and (ly:grob? v1-dot)
>>>(ly:grob-property v1-dot 'dot-count -1)))
>>>(v2-dot-count (and (ly:grob? v2-dot)
>>>(ly:grob-property v2-dot 'dot-count -1))))
>>>(set! can-merge
>>>(and 
>>>(number? v1-duration-log)
>>>(number? v2-duration-log)
>>>(= v1-duration-log v2-duration-log)
>>>(eq? v1-dot-count v2-dot-count)))
>>>(if can-merge
>>>;; keep the rest that looks best:
>>>(let* ((keep-v1? (>= (rest-score v1-rest)
>>>(rest-score v2-rest)))
>>>(rest-to-keep (if keep-v1? v1-rest v2-rest))
>>>(dot-to-kill (if keep-v1? v2-dot v1-dot)))
>>>;; uncomment if you're curious of which rest was chosen:
>>>;;(ly:grob-set-property! v1-rest 'color green)
>>>;;(ly:grob-set-property! v2-rest 'color blue)
>>>(ly:grob-suicide! (if keep-v1? v2-rest v1-rest))
>>>(if (ly:grob? dot-to-kill)
>>>(ly:grob-suicide! dot-to-kill))
>>>(ly:grob-set-property! rest-to-keep 'direction 0)
>>>(ly:rest::y-offset-callback rest-to-keep)))))))
>>>(if can-merge
>>>#t
>>>(ly:rest-collision::calc-positioning-done grob))))
>>>global = {\key c\major  \time 4/4  \tempo 4 = 63} 
>>>TTj = \relative c { 
>>>%{TT61-62%} ef2 r8. bf16 ef8 ef8 | ef4( c4 d8) d16 d16 b8 b8 |
>>>%{TT63   %} c2~ c2 |
>>>}
>>>BBj = \relative c { 
>>>%{BB61-62%} bf2 r8. g16 g8 g8 | af2( g8) g16 g16 g8 g8 |
>>>%{BB63   %} c2( c2) |
>>>}
>>>%------------------------------------------------------------------------------
>>>TBk = \relative c { 
>>>%{TB64   %} r2 r4 ef8 d16 ef(~ | 
>>>%{TB65-66%} ef4~ ef16 f16) g8 f4. af8 | g1~ | g1 
>>>}
>>>PianoRH = \relative c' { \global 
>>>%{rh61   %} <ef g bf>4~ q8 <g bf ef g>16 <af ef' af>16 <bf ef bf'>8. ef16 
>>><ef g bf ef>8 <d g bf d>8 
>>>%{rh62   %} <c ef af c>4 c,16 g16 af16 c16 <f, a c d>4 <d' f d'>8 <d g d'>8 
>>>%{rh63   %} <<{ <g c ef>4~ q4 <af ef'>2 }\\{ ef4~ ef8 ef16 r8 af,8 <c~ g'>8 
>>><c f>8 }>> 
>>>%{rh64   %} <<{ r8 bf''16 af16 ef16 df16 bf16 af16 ef8[ \grace{ bf16[ ef16] 
>>>} bf8] <ef, af ef'>4 }\\{ <f bf ef>2. s4 }>> 
>>>%{rh65   %} <g bf ef>2\stemUp <af c f>2 
>>>%{rh66   %} <g bf ef g>2 <c ef f af>2  r1
>>>}
>>>%------------------------------------------------------------------------------
>>>PianoLH = \relative c { \global \clef bass 
>>>%{lh61   %} <<{ r16 bf16 ef16 f16 s2 r16 ef16 bf'8 }\\{ ef,,4 g'8 <ef bf' 
>>>ef>16 <f f'>16 <g bf ef g>4 g,4 }>>
>>>%{lh62   %} <<{ s4 <af, af'>4 <g g'>4 s4 }\\{ <af' ef' c'>4\arpeggio s2 <g 
>>>d' b'>4\arpeggio }>> 
>>>%{lh63   %} <<{ r16 g16 c16 d16 ef16 g16 c8 <f, c'>2 }\\{c,2 r4 c'4 }>> 
>>>%{lh64   %} <df, af'>2. <cf gf'>4_- 
>>>%{lh65   %} <<{ bf'2 bf2 }\\{ bf,4 bf4 bf4 bf4 }>>
>>>%{lh66   %} <<{ bf'2 bf2 }\\{ bf,4 bf4 bf4 bf4 }>>  r1
>>>}
>>>%%%%%%%%%%%%%%%%% SA_TB seperate + piano staff
>>>% {
>>>\score {
>>>\new GrandStaff = "GrandStaff_score" <<
>>>\new ChoirStaff <<
>>>\new Staff \with {  \override RestCollision #'positioning-done = 
>>>#merge-rests-on-positioning 
>>>}<<
>>>\clef "bass"
>>>\global \partcombine 
>>>\new Voice = "Tenor"         { 
>>>\voiceOne  {                  \TTj  \TBk          }}
>>>\new Voice = "Bass"  { 
>>>\voiceTwo  {                   \BBj  \TBk         }}
>>>>>
>>>>>
>>>\new PianoStaff <<
>>>\set PianoStaff.connectArpeggios = ##t
>>>\new Staff = "RH" { \global            \PianoRH   }
>>>\new Staff = "LH" { \global \clef bass \PianoLH   }
>>>>> 
>>>>>
>>>\layout {  indent = #'0 
>>>\context {          \RemoveEmptyStaffContext  }
>>>\context {
>>>\Staff 
>>>\override TimeSignature #'style = #'() 
>>>}
>>>}
>>>\midi {
>>>\context {    }
>>>\context { \Staff \remove "Dynamic_performer" }
>>>}
>>>}
>>>
>>><><><>end 
>>> 
>>>Blessing in+,
>>>Ming.
>>>
>>>_______________________________________________
>>>lilypond-user mailing list
>>>lilypond-user@gnu.org
>>>https://lists.gnu.org/mailman/listinfo/lilypond-user
>>>
>>>
>>
>
>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to