Manual rest placement doesn't seem to work

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Manual rest placement doesn't seem to work

Father Geoffrey Horton
I've been trying to use the manual placement mechanism and it doesn't
seem to work. Before I file it as a bug, though, I want to be sure I'm
doing it right. Code follows, output attached. Basically, I want the
rests of the center line of each staff.

world = {
  \key d \major
  \time 3/2
}

melody = \relative c'' {
  \world
  b2\rest fs2 fs |
}


alto = \relative c' {
  \world
  s2 d2 d |
}

tenor = \relative c {
  \world
  d2\rest a' a |
 }

bass = \relative c, {
  \world
  d2 d' d |
}

\score {
  \context ChoirStaff <<
    \context Staff = upper <<
      \context Voice =
         sopranos { \voiceOne << \melody >> }
      \context Voice =
         altos { \voiceTwo << \alto >> }
    >>
    \context Staff = lower <<
      \clef bass
      \context Voice =
        tenors { \voiceOne << \tenor >> }
      \context Voice =
      basses { \voiceTwo << \bass >> }
    >>
  >>
  \layout {
    ragged-right = ##t
  }
}

==========================

Am I doing something wrong, or is this really broken?

Geoff

_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user

manualrests.png (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Graham Percival-2

On 2-Apr-06, at 4:40 PM, Geoff Horton wrote:

> I've been trying to use the manual placement mechanism and it doesn't
> seem to work. Before I file it as a bug, though, I want to be sure I'm
> doing it right. Code follows, output attached. Basically, I want the
> rests of the center line of each staff.

Please remember to check a minimal example:
\version "2.9.1"
{
   c2\rest a'2
}
works perfectly.


There may be some issue with manual rests within polyphony... but it
looks fine here:
\version "2.9.1"
{
   << {
   f''2\rest a'2
   f''2\rest a'2
   } \\ {
   d'2\rest f'2
   s2  f'2
   } >>
}


Try these simple examples on your system.  If they work, then try to
figure out exactly what the difference is between these examples and
your situation.

Cheers,
- Graham



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Father Geoffrey Horton
> Try these simple examples on your system.  If they work, then try to
> figure out exactly what the difference is between these examples and
> your situation.

It's the \voiceOne etc. that does it.

This does not work:

melody = \relative c'' {
  b2\rest
}


alto = \relative c' {
  s2
}

\score {
 \context Staff = upper <<
      \context Voice =
         sopranos { << \voiceOne \melody >> }
      \context Voice =
         altos { << \voiceTwo \alto >> }
    >>
  \layout {
    ragged-right = ##t
  }
}

===========

But strip out the \voiceOne and \voiceTwo and it works fine. Changing
\voiceTwo to \voiceThree made no difference (I figured it was worth a
shot).

Geoff


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Father Geoffrey Horton
In reply to this post by Graham Percival-2
Combining the voices with \partcombine also produces a misplaced rest.

Geoff


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Father Geoffrey Horton
> Combining the voices with \partcombine also produces a misplaced rest.

Sigh. No, it doesn't. Sorry about that. The other example really is
broken, though.

Geoff


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Father Geoffrey Horton
A solution (or at least a workaround): Use \oneVoice before the rest
and then \voice[whatever] after it. I don't like it because it makes
the input file busier, but I suspect that a real fix would involve
fairly extensive recoding.

http://www.geoffhorton.com/lilypond.html#placerests

Geoff


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Bertalan Fodor
Well, I think this is a bug, because \rest should have higher priority
than \voiceX, so I would make a report to bug-lilypond

Bert

Geoff Horton wrote:

>A solution (or at least a workaround): Use \oneVoice before the rest
>and then \voice[whatever] after it. I don't like it because it makes
>the input file busier, but I suspect that a real fix would involve
>fairly extensive recoding.
>
>http://www.geoffhorton.com/lilypond.html#placerests
>
>Geoff
>
>
>_______________________________________________
>lilypond-user mailing list
>[hidden email]
>http://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
>
>  
>




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Manual rest placement doesn't seem to work

Mats Bengtsson-4
In reply to this post by Father Geoffrey Horton
This bug was reported on bug-lilypond some weeks ago and according to
the ChangeLog file, it was fixed 2006-03-16, i.e. before version 2.8.
However, it seems that the fix didn't solve the problem.

   /Mats

Quoting Geoff Horton <[hidden email]>:

>> Try these simple examples on your system.  If they work, then try to
>> figure out exactly what the difference is between these examples and
>> your situation.
>
> It's the \voiceOne etc. that does it.
>
> This does not work:
>
> melody = \relative c'' {
>  b2\rest
> }
>
>
> alto = \relative c' {
>  s2
> }
>
> \score {
> \context Staff = upper <<
>      \context Voice =
>         sopranos { << \voiceOne \melody >> }
>      \context Voice =
>         altos { << \voiceTwo \alto >> }
>    >>
>  \layout {
>    ragged-right = ##t
>  }
> }
>
> ===========
>
> But strip out the \voiceOne and \voiceTwo and it works fine. Changing
> \voiceTwo to \voiceThree made no difference (I figured it was worth a
> shot).
>
> Geoff
>
>
> _______________________________________________
> lilypond-user mailing list
> [hidden email]
> http://lists.gnu.org/mailman/listinfo/lilypond-user
>





_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user