Mats Bengtsson wrote:
> 
> > 1) Page 3, bar 20.  The hairpins and \p in Alto and Tenor goes below the
> > staves even though I have specified Voice.dynamicDirection = \up. Those
> > two staves have a second voice in them, while Soprano and Bass do not.
> > I wonder if the second voice is causing the problem.
> 
> The problem is that \stemboth sets voice.verticalDirection = \up,
> which seems to override all settings of dynamicDirection
> (bug!?). The easiest solution is to add the following
> redefinitions at the top of your file:
> stemup =        \property Voice.stemVerticalDirection = \up
> stemboth=       \property Voice.stemVerticalDirection = \center
> stemdown =      \property Voice.stemVerticalDirection = \down

Works like a charm! =)

I would say that is a bug.

> 
> > 2) Page 3, bar 19.  The spacing of the word "Tempo I" from the top of
> > each staff seems different, yet they have the same value for
> > Voice.textScriptPadding.
> 
> Yes, the padding is counted from the topmost item below
> the text, which is the stem in the soprano and bass parts
> and the top staff line in the two middle voices. (To be
> precise, the padding is measured from the 'p', which,
> itself gets its position as described above).

This time, I have included the previous two files and a new file (the
third section of my piece, partially complete).  I run them with this
command:

ly2dvi -P H*[123].ly

The version I am using is 1.3.45.

Please look at the same location again.  What I was talking about is
that the spacing between "Tempo I" and p in Soprano and Alto are
different.  When I magnify in gv, I see that the spacing in Alto and
Tenor are the same,  Bass has slightly more space, and Soprano has the
most.  More importantly, the space between the top staff line and the
bottom of p is pretty much the same (although I do sense that bass is
less than tenor by epsilon...)

Another example is page 2, the bar with the word "accel.".  The space
between "accel." and the top staff line in Soprano and Bass are
different.  Both notes are stem down, and I don't see anything else that
might push the word in Soprano further up.

> 
> > 3) Page 6, bar 20.  The hairpin in the Bass clashes with the tuplet
> > number.  By the way, are tuplet brackets supported?  I have never seen
> > them.
> 
> I guess the easiest solution is to set the dynamicPadding
> to get the hairpin above the tuplet number.

No good.  Doesn't work.  This problem has larger impact in page 9, last
bar in the second system, Bass staff, where the slur clashes with the
hairpin.

> 
> The default is to print tuplet brackets only if there isn't
> a beam. If you set Voice.tupletBracketVisibility = ##t,
> you always get brackets.

I have put that line in H*2.ly:17, but the brackets for the tuplets with
beams are not coming out.

> 
> > 4) Page 9, bar 46.  The \f in the Bass cannot be specified a height so
> > that it won't clash with the upper G.  You can see in the source that I
> > have specified a very large value for Voice.textScriptPadding in
> > attempting to push the \f upward.
> 
> Try dynamicPadding instead of textScriptPadding.

Thanks, it works now as you can verify in H*3.ly.  The reason I didn't
put f for the stemup note is that that note is shrinked, and the f will
will shrink too if I attach it to that note.

> 
> > 5) Processing HaveMercoOnMe_OGod_2.ly produces the following warning:
> >
> > HaveMercyOnMe_OGod_2.ly:657:53: warning: no one to print a tuplet start
> > bracket:
> >     _4 _8. A16 -- wake,2. __ harp8 and lyre! _ \times
> >                                                       2/3 {I8 will8 a8}
> > --
> >
> > I want to enter the lyrics matching the triplet rhythm in the voice.
> > Also, the duration "8" in the tuplet is not carried over, that is why I
> > have input an explicit "8" for each syllable.  Am I doing it right?
> 
> The warning is just a (misdirected) warning, nothing to worry about.
> \times 2/3 {I8 will a } should work, note the space before the
> right brace, otherwise you get a parse error (bug!?).

I think I got a parse error in 1.3.40 if I do {I8 will a}, and I thought
lily wants every syllable in the tuplet to be assigned a duration.

Yup, another vote for bug.

> > 1) Change time/key signatures in the middle of a piece.  I don't know
> > how to do this, so I have splitted the score into two files.  Even
> > though page number remains in a series, bar numbers do not.
> 
> What's the problem with \time 4/4; \key g \minor;
> at the correct spot? Don't you want the reminder
> (or whatever you'd call it) at the end of the previous
> bar?

I will update you (and others) on that when I finish my exams this
week.  Though I haven't tried, I would like to know if it is possible to
do this:

\partial 4;
\time 6/4;

% blast ahead

% no partial
\time 4/4;

% blast more

\partial 4;

% and continue

Specifically, my concern is about \partial  What if I have "\partial
2.;" instead of "% no partial"?

> 
> > 2) Change the starting number of bar numbering.
> 
> The weird thing is that I don't get any bar numbers
> printed when I run your file through 1.3.44 (except
> when I add the bar_number_engraver also the the
> StaffContext which gives far too many copies of the
> bar numbers).

I got the numbers in ScoreContext in 1.3.40, but not later versions.  If
I put numbers in StaffContext, then only are there too many copies on
the score, but the numbers appear after the key signature!  You can
check out the last few pages of the PS output generated by the command I
mentioned above; they all clash with the slurs and other stuff.  There
is no nice number for shifting them up/down without making the
appearence awkward.

> > 3) Is it possible to change the behaviour of certain properties to bind
> > to a system as opposed to the staff for the whole score?  For example,
> > the lyrics line for the Bass starting on page 4 have a larger spacing
> > from the staff when compared to other voices.  This is because it has to
> > avoid clashing the fermata in page 9.  It would be nice if I can defer
> > the change until bar 46 in page 9.  A few other properties are also
> > useful to have this behaviour, such as StaffVerticalExtent.
> 
> You could set the property in a certain bar and reset it
> some bars later. I guess the spacing is determined by the
> current property value at the line end (haven't tried).
> If you don't insert \break, it might be hard to know where
> the line breaking actually will occur, so it's hard to know
> exactly at what bars to set and reset the values.

Tried that, doesn't work.  In H*[12].ly, I have defined something called
LineBreaker that consists of solely \break and \skip commands, so I do
know where the music will line break.  I tried your approach by
commenting out H*2.ly:836 (so that in that StaffContext, the spacing
will be the global value for all staves), and inserting H*2.ly:338. 
Result: the spacing in line 338 is used for the whole score (in H*2.ly).

> Actually, I think the current word extension behaviour is wrong,
> the line should end at the end of the last note of the melisma,
> not at the beginning of the note after.

I agree.  I am faking it now so that the word extension ends a little
bit left of the last note of the melisma.  Not perfect, but better than
the default behaviour.

> I think ly2dvi doesn't take the header height into account when
> calculating the vertical margins. The intension is to give
> equal top and bottom margins. You could always set the margins
> manually, running ly2dvi -k, editing the generated <file>_ly*.tex
> LaTeX wrapper file and then processing it directly with LaTeX.
> I'll take a look at ly2dvi and try to fix the problem.

That's what I hate the most: look into latex source and hack it.  I am
not familiar with latex, and the only manual I have is The TeXbook,
which is more low level than latex.  Using the commands in TexBook may
break latex.

> Hope I managed to help with most of your problems, at least
> so you could get something printable before your deadline.
> 
>    /Mats

My prof is kind enough to let me finish my third section and hand in the
whole thing to him this week.  Now I have time to fix the glitches. =)

Here are new problems (as of 1.3.45) and questions:

1) Page 9.  The double barline is slightly off to the right.  I am sure
the output was right in the previous versions (at least 40).

2) Page 10, bar 10.  The spacing of the word "subito" and p is awful.  I
could not set them properly with textScriptPadding and dynamicPadding. 
I have a feeling that the dynamics have something to do with the
vertical position of the hairpins right before them (e.g. Alto); see
crescendo in page 3 as well.

3) Page 11, bar 19.  The bottom of f is touching the top staff line for
all 4 staves.  Usually, if the end of an up stem goes above the top
staff line, and there is a mf above it, the end of the stem will touch
the bottom of the "m" in mf.  I suppose mf should be shifted up so that
the end of the stem and the bottom of f should have some (vertical)
space between them?  I mean this:

 bottom of m
_____________  bottom of f
              _____________
                |  <- Space
------------------------  <- Top of stemp
     |
     |  <- Stem
     |

4) Now I have to move \tempo into \midi {} so that the generated midi
file will have the correct tempo.  In the past, I can put it in Staff
context, and it worked.  It this behaviour changed?  If yes, then I
suppose putting \tempo in Staff context is not only useless, but
incorrect.  How come lily doesn't flag it as an error?

5) \tempo command does not accept dotted (and presumably) d*n notation
(e.g. 4*17).  It would be useful if I can specify tempo in dotted
notation (and possibly d*n), e.g. in a piece with 12/8 time, I specify
tempo as 4. = xxx.

6) Where can I find all the property names for all contexts?  Is there
such a collection of files in a lilypond installation?

7) I don't know scheme very much (I only remember cons and cdr).  I see
that sometimes a # is used as a prefix before some values, and sometimes
a ##.  How do I know which to use?  Are there any other such symbols for
assigning values to properties?

8) Why is the horizontal position of the bar numbers defined in
ScoreContext and StaffContext different?  ScoreContext has numbers right
of the brackets and left of the clefs, while StaffContext has numbers
right of the key signatures.

Thank you very much for you time.

Desmond Lam
[EMAIL PROTECTED]

mercy.tar.gz

Reply via email to