lilypond-user
[Top][All Lists]
Advanced

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

\partcombine (and grace notes)


From: Maurizio Tomasi
Subject: \partcombine (and grace notes)
Date: Tue, 18 Jun 2002 10:24:04 +0200 (MET DST)

Hello to everybody!

I am trying to write an orchestral score with Lilypond 1.5.61, and I
have some problem with the \partcombine command.  If I compile the
following code:

----------------------------------------------------------------------
\score {
    \context StaffGroup = group <
        \context Staff = instrument <
            \context Voice=one \partcombine Voice
            \context Thread=one \notes \relative c'' {
                c4( d e f | )g1
            }
            \context Thread=two \notes \relative c' {
                c4( d e f | )g1
            }
        >
    >
}
----------------------------------------------------------------------

then I get this warning:

----------------------------------------------------------------------
GNU LilyPond 1.5.61
Now processing: `/home/ziotom/musica/test.ly'
Parsing...
Interpreting music...
/home/ziotom/musica/test.ly:9:5: warning: Junking request: `Span_req':
                c4(
                    d e f | )g1

warning: can't find start of slur
[3]
Preprocessing elements...
Calculating column positions...
paper output to `test.tex'...
-------------------------------------------------------------------

Lilypond wants (correctly) to remove slurs on the second voice when
combining parts.  I do not know why, but it prints a warning for each
slur to be removed.

This would not be a big problem, since the .dvi file looks right.  But
I am writing a long piece (concerto KV.459 for piano, by Mozart), and
I have to use the part combiner with a lot of paired instruments: 2
oboi, 2 fagotti (bassoons), 2 corni (horns) and celli & bassi.  So I
get a very long list of these useless warnings.

I have another problem with the part combiner, and this is quite
severe!  It seems the part combiner cannot handle grace notes very
well.  Consider this simple example:

----------------------------------------------------------------------
\score {
    \context StaffGroup = group <
        \context Staff = instrument <
            \context Voice=one \partcombine Voice
            \context Thread=one \notes \relative c'' {
                c4 d e f | \grace f16 g1
            }
            \context Thread=two \notes \relative c' {
                c4 d e f | g1
            }
        >
    >
}
----------------------------------------------------------------------

Lilypond output is:

----------------------------------------------------------------------
GNU LilyPond 1.5.61
Now processing: `/home/ziotom/musica/test.ly'
Parsing...
Interpreting music...programming error: Skipped something ?!
(Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
[3]
Preprocessing elements...
Calculating column positions...
paper output to `test.tex'...
----------------------------------------------------------------------

I cannot understand what Lily is saying: what is it skipping?  And the
output is not correct, since the grace note in the first thread is
above the g1 of the second one, while it should come before it.
Consider this example as well:

----------------------------------------------------------------------
cue = \property Voice.Stem \override #'flag-style = #'()

\score {
    \context StaffGroup = group <
        \context Staff = instrument1 <
            \context Voice=one \partcombine Voice
            \context Thread=one \notes \relative c'' {
                c4 d e f |
                \grace { \cue [f16 g a] }
                g1 ~ | g1
            }
            \context Thread=two \notes \relative c' {
                c4 d e f | g1 ~ | g1
            }
        >

        \context Staff = instrument2 \notes \relative c' {
                c4 d e f |
                \grace { \cue [f16 g a] }
                g1 ~ | g1
        }
    >
}
----------------------------------------------------------------------

The output is:

----------------------------------------------------------------------
GNU LilyPond 1.5.61
Now processing: `/home/ziotom/musica/test.ly'
Parsing...
Interpreting music...
/home/ziotom/musica/test.ly:9:17: warning: unbound spanner `Beam':
                \grace { \cue [
                               f16 g a] }
programming error: Skipped something ?! (Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
programming error: Skipped something ?! (Continuing; cross thumbs)
[4]
Preprocessing elements...
/home/ziotom/musica/test.ly:9:17: warning: beam has less than two
visible stems:
                \grace { \cue [
                               f16 g a] }

/home/ziotom/musica/test.ly:9:17: warning: Beam has less than two
stems. Removing beam.:
                \grace { \cue [
                               f16 g a] }

Calculating column positions... programming error: No StaffSpacing
wishes found (Continuing; cross thumbs)
[3][4]
paper output to `test.tex'...
----------------------------------------------------------------------

First of all, message `beam has less than two visible stems' is quite
strange: the second instrument has the same construct, but Lily
complains only about the first one!

Note that the .dvi file that lilypond outputs looks a bit ugly: while
the grace notes in the second instrument are perfect, the ones in the
first instrument are not joined by a beam, and are out of place.

Lily prints another error messages: `No StaffSpacing wishes found'.
What does it mean?  When compiling my big Mozart score, Lily prints a
lot of these `No StaffSpacing' errors (68 for a score made by 410
bars, I think one per staff line).

Maybe I should have said "Lily printed": listen what happened.  Last
Sunday I added the oboi parts to the score (see the attachment); now,
if I try to compile it, I get the same error messages you saw above
("Junking request...", "No StaffSpacing..." and so on), but then
Lilypond stops the execution printing:

----------------------------------------------------------------------
lilypond: sequential-music-iterator.cc:157: void
Sequential_music_iterator::next_element (): Assertion !grace_fixups_ ||
grace_fixups_->start_ >= here_mom_' failed.
warning: lilypond: command exited with value 6 (ignored)
warning: no lilypond output found for /home/ziotom/k459/k459-score
Running LaTeX...
Running dvips...
error: dvips: command exited with value 256
Traceback (most recent call last):
  File "/usr/local/bin/ly2dvi", line 943, in ?
    run_dvips (outbase, extra_init)
  File "/usr/local/bin/ly2dvi", line 709, in run_dvips
    quiet_system (cmd, 'dvips')
  File "/usr/local/bin/ly2dvi", line 442, in quiet_system
    return system (cmd)
  File "/usr/local/bin/ly2dvi", line 247, in system
    error (msg)
  File "/usr/local/bin/ly2dvi", line 144, in error
    raise _ ("Exiting ... ")
Exiting ...
----------------------------------------------------------------------

I do not know why this assertion check does not fail with the examples
I wrote above.  But my score too contains some grace notes in the oboi
parts.  Actually, if I comment out every bar that contains a `\grace'
command, it compiles well.

Could somebody help me, please?  I am getting a bit frustrated!

Thanks
Maurizio

Note: in order to get the error message I mentioned above, uncompress the
attached tarball in some empty directory, then issue a `make score'
command.  Note that `make oboe1' and `make oboe2' will correctly print the
oboe1/2 part.


Attachment: k459.tar.gz
Description: Binary data


reply via email to

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