[Top][All Lists]

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

Bugtesting, non-existent?

From: Heikki Johannes Junes
Subject: Bugtesting, non-existent?
Date: Thu, 11 Apr 2002 02:23:38 +0300 (EET DST)

On Wed, 10 Apr 2002, Han-Wen Nienhuys wrote:

> module. Also 1.5 doesn't get much bugtesting now -- releasing 1.6 is a
> much more effective way of testing the program :-)

Why should I have a personal bug-collection? I will share them! Maybe a
more talented person could fix them in LilyPond and the music written by
me would work then all right.

Below are 6 bugs, i.e., 6 challenges:

1) Here is the first (it worked some time before). If I have (1.5.51)
multiple scores in a single ly, as in the following sketch:

\score {
   ... notes ...
\score {
   ... notes ...
(many scores)
\score {
   ... notes ...

the header-field are not bound to the first score-line in the notes. As a
result there are single header-lines concerning the next score, a page
break (in a wrong place, BUG! should be before the header) and the
corresponding score in the next page. The header should always be bound to
the first line of the score. This has been broken at some point of time.

2) Grace-output broken: \grace a8 ~ a2 \grace a8 ~ a2

Expected : a8( )a2 a8( )a2
BUG-here : a8( )a2( a8 )a2

3) Vertical aligns of lines, i.e., line height incorrect:

c^#'(lines (finger "1" ""))  % upper 1,       lower 1
c^#'(lines (finger "1" "1")) % upper 1,       lower 1
c_#'(lines (finger "" "1"))  % upper 1/2 ?!?, lower 1 <- BUG IN UPPER LINE
c_#'(lines (finger "1" "1")) % upper 1,       lower 1

4) As a first thing in the following, tie is broken both visually and

<e>~<e>~<c e fis>~<b e f>

Expected : e( )e( <c )e( fis> <b )e f>
BUG-here : e   e( <c )e( fis> <b )e f>

Test bugs 2-4 with the following source:
\score { 
    \notes \transpose c''
    \context Staff {
        <e>~<e>~<c e fis>~<b e f>   % paper & midi broken
        <e>~<e>~<c e fis>~<b e f>   % here both are ok.
        c^#'(lines (finger "1" ""))
        c^#'(lines (finger "1" "1"))
        c_#'(lines (finger "" "1"))  % wrong line height of an empty line
        c_#'(lines (finger "1" "1")) 

        \grace a8 ~ a2 \grace a8 ~ a2 a8
        % produces: a8( )a2( a8 )a2   and midi: a1 (a2 \grace a a -> a2)
        % should be: a8( )a2 a8( )a2  should be: a2 a2 

5) In the following \grace{....}-block should be somehow encapsulated
   in order to prevent midi to broke. The idea to get the following
   source to work is to :
      A) count the entire duration of the grace-block,
      B) speed up the notes in the grace-block some arbitrary way
         Ex. in "\grace{ a8 a a a } a2" play a8-notes N-times faster,
      C) since "\grace a8 a2" works fine already, play just a bigger
         block of graces as fast as "\grace a8" is played, for example.
         It is better to get the graphical output ok, at least, and 
         give a possibility to continue proof-listening.

\score {
    \context PianoStaff <
        \context Staff = upper <
            \clef treble
            \context Voice = i { \notes \relative c' { e1 e4 e4 e2 } }
        \context Staff = lower <
            \clef bass
            \context Voice = ii { \notes \relative c' { c1 \grace {[<a,,32
s s> <s a' s> <a s s>~<a a' s>~]~<a''16 a, a,>} % needs to be encapsulated
                                  c4 c4 c2 } }
    \paper {  }
    \midi { \tempo 2 = 56 }

6) Midi (I would like to try to fix these, if I could, but it is hard to
   find out how this is coded.) should not care about if a note is
   playing already in the same Staff-contex and with the same pitch. 
   Three 'g'-notes should be played in the midi of the following source:

\score {
    \context PianoStaff <
        \context Staff = upper <
            \context Voice = i { \notes \relative c'' { e4 g, e' } }
            \context Voice = ii { \notes \relative c'' { g2  g } }

I'm sorry that some of these bugs (not 1st, at least) are already
published. However, I tried to make the analysis of the bugs more
complete. Please, comment anything. 

Of course, I expect that everybody will rush and say: 
     "I'll take bug number #. I try to get it fixed ASAP."
Or even better :
     "The bug number # was taken by me. It is already fixed and waits just
      to be merged in CVS." 
Or at best: 
     "It's fixed and merged already. Update just your CVS."

      Heikki Johannes Junes

reply via email to

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