lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Notes in voiceone corrupt voicethree after voice splitting?


From: Simon Albrecht
Subject: Re: Notes in voiceone corrupt voicethree after voice splitting?
Date: Tue, 24 Mar 2015 21:36:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0



Am 24.03.2015 um 21:15 schrieb address@hidden:
      Ok,

           I reduced the problem to one bar, and the black harmonics..
          Everything works except the notes are changed in voicethree and
voicesix to black harmonics.
Well, basically you’re asking for it. \H is defined as an override on Staff level, so it will naturally affect all voices. Just delete the Staff. in your variable definition and that’s it.

Yours, Simon
  This is the simplest reduction I can produce...


  http://gooeytar.com/projects/test/test.ly
  http://gooeytar.com/projects/test/test.pdf


\version "2.18.2"

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
voiceSix = #(context-spec-music (make-voice-props-set 5) 'Voice)
(here comes the mistake: use \override NoteHead etc.)
H = \once \override Staff.NoteHead.style = #'harmonic-black

voiceone = \relative c'' {
     \clef "G_8"
     \time 4/4
     \key g \major
     b4 b \H b b |
}

voicetwo = \relative c {
     \set harmonicDots = ##t
     e'8\rest d2..\harmonic |
}

voicethree = \relative c' {
         \override NoteColumn.force-hshift = #0.0
         s4 g4^~ g2 |
}

voicefour = \relative c {
     c1 |
}

voicefive = \relative c {
}

voicesix = \relative c' {
          g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
          fis2 |
}

  guitar = << \voiceone \\ \voicetwo \\ \voicethree \\ \voicefour \\
\voicefive \\ \voicesix >>

#(set-global-staff-size 19)

\score { \new Staff \guitar }


   Howdy!

              I have reduced a multivoice structure that is part of a
composition to a simple five bar example of voice splitting.
I need 4 voices, and then I need one voice to split.
          I managed to improve it by adding voices, but the black harmonics
still corrupt the other voice

     http://gooeytar.com/projects/test/test.ly
     http://gooeytar.com/projects/test/test.pdf

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
voiceSix = #(context-spec-music (make-voice-props-set 4) 'Voice)

        and   changing voice three

voicethree = \relative c' {
     <<
        \new Voice
         {
          \voiceFive
         \override NoteColumn.force-hshift = #0.0
         s4 g4^~ g2 | s4 g4^~ g2 |
         s4 g4^~ g2 | s4 g4^~ g2 | s4 g4^~ g2 |
        }
        \\
         \new Voice
        {
         \voiceSix
         \stemDown
         g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
          fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
         fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
          fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
         fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #1.0
         fis2 |
        }
     >>
}


          -steve

             Each bar shows a different behaviour depending on the first
voice

        bar 1 -   seems ok
        bar 2 -  seems ok and NoteColumn.force-hshift   works in
voicethree
        bar 3 -  a quarter note on beat 3 in voiceone causes a collision
in
voicethree and NoteColumn.force-hshift doesn't work

        bar 4 - a simple white harmonic in voiceone creates the same
condition as bar 3
        bar 5 - use of     Staff.NoteHead.style = #'harmonic-black  in
voiceone  causes
                   notes in voicethree to change to black harmonics

http://www.gooeytar.com/projects/test/test.pdf

         Obviously, voiceone is messing with the "new voice" in voice
three.

         What is the correct way to do this in LilyPond??

      thanx - steve




\version "2.18.2"

H = \once \override Staff.NoteHead.style = #'harmonic-black

voiceone = \relative c'' {
     \clef "G_8"
     \time 4/4
     \key g \major
     b4 b2 r4 |
     b4 b4 r r |
     b4 b b b |
     b4 b b\harmonic b |
     b4 b \H b b |
}

voicetwo = \relative c {
     \set harmonicDots = ##t
     e'8\rest d2..\harmonic |
     e8\rest d2..\harmonic |
     e8\rest d2..\harmonic |
     e8\rest d2..\harmonic |
     e8\rest d2..\harmonic |
}

voicethree = \relative c' {
     <<
        \new Voice  % needed or voiceone and three are fused
         {
         s4 g4^~ g2 | s4 g4^~ g2 |
         s4 g4^~ g2 | s4 g4^~ g2 | s4 g4^~ g2 |
        }
    %   \\
         \new Voice
        {
         \stemDown
         g4\rest g4 fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #2.0      % to prove it
works
here
         fis2 |
         g4\rest g4
         \once \override NoteColumn.force-hshift = #2.0       %  doesn't work
here
          fis2 |
         g4\rest g4 fis2 |
         g4\rest g4 fis2 |
        }
     >>
}

voicefour = \relative c {
     c1 | c1 | c1 | c1 | c1
}

  guitar = << \voiceone \\ \voicetwo \\ \voicethree \\ \voicefour >>

#(set-global-staff-size 19)

\score { \new Staff \guitar }



_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user




_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user




reply via email to

[Prev in Thread] Current Thread [Next in Thread]