On Sunday, 26 April 1998, Anthony Fok writes:

> > Hrmmmf - I am still not able to compile it. Even less than before.

Han-Wen seems to be off for a few days, i'll soon have to take a look at
this release.

> BTW, I noticed that the MIDI problem is solved now in 0.1.58.  Timidity n=
> o
> longer complains about the wrong header format!  :-) Could you guys tell =
> me
> which files I should change to fix the MIDI problem in 0.1.48?  You see,
> Debian 2.0 is currently "frozen", i.e. no new features (usually that mean=
> s
> no new upstream version is allowed in), only bug-fixes, and 0.1.48 is one
> currently installed in Debian 2.0, so I would really like to get the MIDI
> problem fixed before Debian 2.0 is out.  :-)

Oops, yes, that's a shame.
I only found-out it wasn't working in pl52!

We introduced our own (int based) Rational class in pl48 that
had a small bug, and there was a small midi fix; see patches
below.

As it turned-out, i made a stable branch off pl48, that's now obsolete
from my point of view, but this is what the NEWS file says:

    Stable branch pl48.x
    As of pl 48.jcn*, development has become quite unstable.  Because i really
    need to produce some nice sheet music, i'm branching a stable tree and 
    will include certain fixes from the development tree.

It includes a few really nice typsetting fixes.  You may have a look,
i put a patch up on pcnov:

    pcnov095:/ftp/pub/lilypond/development/patch-0.1.48.2.gz

Greetings,

Jan.

Jan Nieuwenhuizen <[EMAIL PROTECTED]> | LilyPond - The GNU music typesetter
http://www.digicash.com/~jan | http://www.cs.ruu.nl/people/hanwen/lilypond


--- ../lilypond-0.1.48/lily/midi-item.cc        Tue Mar  3 20:36:03 1998
+++ ./lily/midi-item.cc Tue Apr  7 13:15:59 1998
@@ -55,11 +55,17 @@
 Midi_chunk::str () const
 {
   String str = header_str_;
+  String dat = data_str ();
+#if 1 
+  String length_str = String_convert::i2hex_str (dat.length_i () 
+#else
+  // huh, huh??
   String length_str = String_convert::i2hex_str (data_str_.length_i () 
+#endif
     + footer_str_.length_i (), 8, '0');
   length_str = String_convert::hex2bin_str (length_str);
   str += length_str;
-  str += data_str ();
+  str += dat;
   str += footer_str_;
   return str;
 }

diff -urN ../lilypond-0.1.48/flower/include/rational.hh ./flower/include/rationa
l.hh
--- ../lilypond-0.1.48/flower/include/rational.hh       Wed Mar 11 21:31:30 1998
+++ ./flower/include/rational.hh        Tue Apr  7 11:29:10 1998
@@ -34,6 +34,8 @@
   Rational truncated () const;
   void negate ();
   operator bool () const;
+  operator int () const;
+  operator double () const;
   operator String () const;
   Rational operator - () const;
   Rational ();
diff -urN ../lilypond-0.1.48/flower/rational.cc ./flower/rational.cc
--- ../lilypond-0.1.48/flower/rational.cc       Thu Mar 12 02:25:14 1998
+++ ./flower/rational.cc        Tue Apr  7 11:28:58 1998
@@ -11,10 +11,19 @@
 #include "string-convert.hh"  
 #include "libc-extension.hh"
 
-
 Rational::operator bool () const
 {
   return sign_;
+}
+
+Rational::operator int () const
+{
+  return sign_ * num_ / den_;
+}
+
+Rational::operator double () const
+{
+  return (double)sign_ * num_ / den_;
 }
 
 ostream &

Reply via email to