]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.0 release/0.1.0
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 31 Jul 1997 22:09:49 +0000 (00:09 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 31 Jul 1997 22:09:49 +0000 (00:09 +0200)
48 files changed:
.dstreamrc
ANNOUNCE
AUTHORS.text
BUGS
Documentation/CodingStyle.pod
Documentation/INSTALL.pod
Documentation/MANIFESTO.pod
Documentation/error.pod [deleted file]
Documentation/faq.pod
Documentation/index.pod
Documentation/lilypond.pod
Documentation/mi2mu.pod
INSTALL.text
NEWS
README
TODO
VERSION
bin/conflily
bin/make-website.in
configure
configure.in
input/cadenza.ly
input/kortjakje.ly
lily/VERSION
lily/break.cc
lily/colhpos.cc
lily/include/const.hh
lily/include/music-list.hh
lily/include/music.hh
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/staff-performer.hh
lily/ineq-constrained-qp.cc
lily/music-iterator.cc
lily/music-list.cc
lily/music.cc
lily/note-performer.cc
lily/performer-group-performer.cc
lily/performer.cc
lily/score-performer.cc
lily/score.cc
lily/spring-spacer.cc
lily/staff-performer.cc
lily/template5.cc
lily/wordwrap.cc
make/lilypond.lsm
make/lilypond.lsm.in
make/lilypond.spec

index 0bf620df03cf9a9fbd476c2c727d9483192ed1ed..bb39c57afda46be32fef9f4b9d40fe2f82ce8c8b 100644 (file)
@@ -1,3 +1,5 @@
+#This file controls which classes produce debugging output
+
 # class name           silence?
 Dstream                        1
 
index a904214579af0ec325016dadd6f3dec5891d4857..8cabfbcdeff08d9d55ffba3ecbc4ae2bd027fd0b 100644 (file)
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,4 @@
-Subject: LilyPond 0.1 released - GNU Project music typesetter
-
+Subject: LilyPond 0.1 released - The GNU Project music typesetter
 
        BORN
 
@@ -12,12 +11,12 @@ Subject: LilyPond 0.1 released - GNU Project music typesetter
        daughter to Jan 'Janneke' Nieuwenhuizen and Han-Wen 'Wendy'
        Nienhuys
 
-Lily is a healthy, bouncing baby weighing 340 kilobytes
+Lily is a healthy, bouncing baby weighing 345 kilobytes
 
-Visiting hours: 24hrs a day at
+Visiting hours: 24 hours a day at
 
        ftp://pcnov095.win.tue.nl/pub/lilypond/lilypond-0.1.0.tar.gz (Europe)
-       ftp://alpha.gnu.ai.mit.edu/pub/lilypond/lilypond-0.1.0.tar.gz (US)
+       ftp://alpha.gnu.ai.mit.edu/gnu/lilypond-0.1.0.tar.gz (US)
 
 You can see some babyfood, diapers and pictures at
 
@@ -26,63 +25,54 @@ You can see some babyfood, diapers and pictures at
 You can send your congratulations to Janneke (jan@digicash.com) and
 Wendy (hanwen@stack.nl)
 
-[ And now the serious part ]
 
-       Announcing
-                       
-       GNU LilyPond
+GNU LilyPond - The GNU Project Music Typesetter
 
-       The Music Typesetter
 
-Do you pine for the nice days of Linux 0.95, when men were men and
-wrote their own applications? Are you without a nice project and just
-dying to cut your teeth into a bleeding edge application you can
-modify for your needs?  Do you find it frustrating that everything
-works in LaTeX?  No more all-nighters to get a nifty program working?
-Then this post might be just for you!
 
-I have been working very hard on a music typesetting system (called
-GNU LilyPond) the past half year, and I finally think it is ready to be
-used and hacked at by a larger public than me and my co-developer.
+``WHAT IS GNU LilyPond?''
 
-Sources for this project are on:
+Well Mike, GNU LilyPond is a program which converts music definition
+files into visual or auditive output: it can typeset formatted sheet
+music to a TeX file and (mechanical) performances to MIDI files.
 
-       ftp://pcnov095.win.tue.nl/pub/lilypond/
 
-detailed info and examples can be found on the webpage at:
+We have been working very hard on this system for the past year, and
+we finally think that it is ready to be used and hacked at by a larger
+public than us. 
 
-       http://www.stack.nl/~hanwen/lilypond/index.html
 
-It isn't flashy, but then I wasn't born to be a webartist.
+WHY ?
 
+We want to create tools to produce production quality scores and parts
+of public domain music.
 
-[DETAILED DESCRIPTION]
 
-WHAT IS GNU LilyPond?
+BUT ..
 
-GNU LilyPond is a program which converts music definition files into
-visual or auditive output: it can typeset formatted sheet music to a
-TeX file and and (mechanical) performances to MIDI files.
+We haven't yet reached that goal:
 
-WHY?
+* The quality of the output isn't good enough yet due to some
+unsophisticated algorithms
 
-We want to create tools which can produce production quality scores
-and parts of public music. We haven't quite reached that goal:
+* Some features haven't been implemented, due to lack of time; most of
+them can be done quite simply
 
-* The quality of the output isn't good enough yet due to
-some (still) unsophisticated algorithms
+This is why we don't consider this software stable yet. It generally
+does what it is supposed to, but we reserve the right to make
+(incompatible) changes to the input format.  We consider it
+of BETA quality.
 
-* A number of features haven't been implemented (although they can be
-quite simple)
 
-WE WANT YOU!  
+WE WANT YOU!
 
-You can become a user, but we'd really appreciate it you would start 
+You can become a user, but we'd really appreciate it if you would start 
 hacking at Lily, and help us advance our project more quickly.
 
-WHAT IS NEEDED?
 
-for compilation you need
+``YES, IT IS FANTASTIC! WHAT DO I NEED?''
+
+For compilation you need
 
        Unix. (windows32 is known to work, too)
        GNU C++ v2.7 or better, with libg++ installed.
@@ -90,18 +80,19 @@ for compilation you need
        Flex (2.5.1 or better). 
        Bison. (1.25 or better)
 
-for running you need
+For running you need
 
        TeX
-       MusiXTeX fonts 
+       MusiXTeX fonts
 
 The MusiXTeX fonts are part of the MusiXTeX package version T.73,
 available at any CTAN mirror, or http://www.gmd.de/Misc/Music/ 
 
-WHAT CAN LILYPOND DO?
+
+``WHAT CAN LILYPOND DO?''
 
 ASCII script input (mudela), with identifiers (for music reuse),
-customizable notenames
+customizable notenames.
 
 MIDI output lets you check if you have entered the correct notes.
 MIDI to Mudela conversion through the mi2mu program.
@@ -112,11 +103,26 @@ beams optionally shared between voices.  Multiple scores within one
 input file. Each score is output to a different file.
 
 Beams, slurs, chords, super/subscripts (accents and text), 
-general n-plet (triplet, quadruplets, etc.), lyrics, transposition
+general n-plet (triplet, quadruplets, etc.), lyrics, transposition,
 dynamics (both absolute and hairpin style), clef changes, meter
-changes, cadenza-mode, key changes, repeat bars
+changes, cadenza-mode, key changes, repeat bars.
+
+Integration with LaTeX through Perl scripts.
+
 
-Integration with LaTeX through scripts.
+``WHERE CAN I FIND MORE INFO?''
+
+Sources for this project are on
+
+       ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
+       ftp://alpha.gnu.ai.mit.edu/gnu/ (US)
+
+More detailed info and examples can be found on the webpage at
+
+       http://www.stack.nl/~hanwen/lilypond/index.html
 
 
+THANK YOU,
 
+Thanks go out to Mats Bengtsson, Werner Lemberg and Richard Stallman
+for comments and contributions.
index 5670db31ae600f44307d39495630d91a3d223c23..8ebc36383a140ccec2e30dabc902adf9c597d131 100644 (file)
@@ -61,6 +61,6 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNT\bT\bT\bTR\bR\bR\bRI\bI\bI\bIB\bB\bB\bBU\bU\bU\bUT\bT\bT\bTO\bO\bO\bOR\bR\bR\bRS\bS
 
 
 
-30/Jul/97                LilyPond 0.0.77                        1
+30/Jul/97                 LilyPond 0.1.0                        1
 
 
diff --git a/BUGS b/BUGS
index 4743ac694333310e377e46a10628cb74733b7a28..e0f534ec8e2c9e50e9fba6e15e9f1d5d6500d2d6 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,20 +1,11 @@
 
 [document reintroduced deficiencies.]
 
-wrong instrument:
-
-cad = \melodic { \id "Staff" "fr horn"; c4 }
-
-\score { 
-       \melodic {\cad}
-}
-
 *******************
  '.' -> lilypond: lexer.l:258: int My_lily_lexer::yylex(): Assertion `cnv == 1' failed.
 
 ***********************
 
-2nd staff takes too long.
 
 \score { < 
        \melodic { \id "Staff" ""; c'4 g'4 }
index 7fe901c18650f84b83b5c696a5360dcdd61e2386..9f87b123bcbe218f6b542b4d98079ba0d73edb7b 100644 (file)
@@ -99,7 +99,10 @@ the C<type> is a Hungarian notation postfix for C<Type>. See below
 
 =head2 MACROS
 
+The code should not be compilable if proper macro declarations are not
+included. 
 
+Don't laugh. It took us a whole figure out one of these bugs.
 
 =head2 BROKEN CODE
 
index 7d7ee4127d6a33040680f735d9cd3af133b771ba..60100908e85551365021b09432b8099be4458eb7 100644 (file)
@@ -4,7 +4,18 @@ INSTALL - installing GNU LilyPond
 
 =head1 DESCRIPTION
 
-This page documents installation  and compilation of GNU LilyPond
+This page documents installation and compilation of GNU LilyPond
+
+=head1 ABSTRACT
+
+You do something which looks remotely like
+
+       configure
+       make
+       make install
+       tar -C /usr/lib/texmf/fonts/source/ -zxf musixtex-T73.tgz 'mf/*'
+       
+The detailed instructions follow here.
 
 =head1 PREREQUISITES
 
@@ -18,7 +29,7 @@ A Unix system with GNU tools. GNU LilyPond is known to run on these
 unices: Linux, AIX, Digital Unix and Solaris.
 
 If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
-work in Windows NT/95, but don't promise to support it.
+work in Windows NT/95, but we don't promise to support it.
 
 =item *
 
@@ -61,7 +72,7 @@ MusixTeX (T73 or better), which can be had from any CTAN site, e.g. at
 
 =item ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
 
-=item  ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
+=item ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
 
 =item ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
 
@@ -71,6 +82,11 @@ You only need the contents of the F<mf/> subdirectory of the
 package. The primary site of the Taupin version is
 ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
 
+Andreas Egler's version of MusixTeX, now called OpusTeX, will also
+work. Andreas moved some characters around in the fonts, so you have
+to edit the definitions in tex/eglerdefs.tex (patch appreciated)
+
+
 =head1 RECOMMENDED
 
 Although not strictly necessary, these are recommended to have.
@@ -79,12 +95,12 @@ Although not strictly necessary, these are recommended to have.
 
 =item *
 
-Perl.  Most scripts are written in Perl. The documentation was created
+Perl.  Most scripts are written in Perl. Most  documentation was created
 with the perl's Plain Old Documentation.
 
 =item *
 
-(GNU) find
+GNU find
 
 =item *
 
@@ -105,7 +121,8 @@ to install GNU LilyPond, simply type:
 This will install the following files:
 
        /usr/local/man/man1/mi2mu.1
-       /usr/local/man/man5/mudela.5
+       /usr/local/man/man1/convert-mudela.1
+       /usr/local/man/man1/mudela-book.1
        /usr/local/man/man1/lilypond.1
        /usr/local/lib/libflower.{so,a}
        /usr/local/bin/lilypond
@@ -115,8 +132,8 @@ This will install the following files:
 
 The TeX include directory is detected dynamically, but it can be
 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
-above assumes that you are root and have the gnu development tools,
-and your make is gnu make.  If this is not the case, you can adjust
+above assumes that you are root and have the GNU development tools,
+and your make is GNU make.  If this is not the case, you can adjust
 your environment variables to your taste:
 
        export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
@@ -149,29 +166,29 @@ other options include:
 
 Make a shared library (gnu/linux, solaris (?) only ) 
 
-=item  --enable-printing
+=item --enable-printing
 
 Enable debugging print routines (lilypond B<-d> option)
 
-=item  --enable-optimise
+=item --enable-optimise
 
-Set maximum optimisation
+Set maximum optimisation: compile with B<-O2>
 
-=item  --enable-profiling
+=item --enable-profiling
 
 Compile with support for profiling
 
-=item  --enable-tex-prefix
+=item --enable-tex-prefix
 
-Set the directory where texmf lives
+Set the directory where TeX and Metafont live
 
 =item --enable-tex-dir
 
-Set then directory tex input is in (detected as a subdir of tex-prefix)
+Set then directory TeX input is in (detected as a subdir of tex-prefix)
 
 =item --enable-mf-dir
 
-Set then directory mf input is in (idem)
+Set then directory mf input is in (idem) [obsolete]
 
 =back
 
@@ -208,8 +225,6 @@ files, I ran "texhash"
 
 =head1 CAVEATS
 
-
-
 =over 5
 
 =item *
@@ -229,23 +244,17 @@ This is what I type in my xterm:
 
 This is what the output looks like over here:
 
-       hw:~/musix/spacer$ lilypond input/kortjakje.ly
-       GNU LilyPond 0.0.71 #20/FlowerLib 1.1.20 #0
-       Parsing ... [/home/hw/share/lilypond/init//symbol.ini  <..snip..>
-       ..      .ini]][input/kortjakje.ly]
-       Creating elements ...
+       GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
+       Parsing ... [/home/hw/share/lilypond/init//
+               <..etc..>
+               init//performer.ly]]][input/kortjakje.ly]
+       Creating elements ...[8][16][24][25]
        Preprocessing elements... 
-       Calculating column positions ... [3][8][13][17][21][25]
+       Calculating column positions ... [14][25]
        Postprocessing elements...
        TeX output to lelie.tex ...
+       Creating MIDI elements ...MIDI output to lelie.midi ...
 
-       hw:~/musix/spacer$ tex lelie
-       This is TeX, Version 3.14159 (C version 6.1)
-       (lelie.tex
-       Hyphenation patterns for english, dutch, german, loaded.
-       (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
-       Output written on lelie.dvi (1 page, 8944 bytes).
-       Transcript written on lelie.log.
 
        hw:~/musix/spacer$ xdvi lelie&
        [1] 855
@@ -269,7 +278,8 @@ Windows NT:
 you need the cygnus windows32 gnu port development stuff; have a look
 at http://www.cygnus.com/gnu-win32.
 
-to make GNU LilyPond under, brr, aargh, well, simply type:
+to make GNU LilyPond under, brr, aargh, shudder.. windows32, well,
+simply type:
 
        bash configure
        make windows32
index e14cc67f199c273b3225dbb04733f461df5389f8..9f28246c030b6cdc8b5cc387bf065e5b2ba60b0b 100644 (file)
@@ -19,7 +19,7 @@ TeX file.
 
 =item *
 
-We want to provide an easy-to-use interface for typesetting music in
+Providing an easy-to-use interface for typesetting music in
 its broadest sense. This interface should be intuitive from a musical
 point of view. By broadest sense we mean: it is designed for music
 printed left to right in staffs, using notes to designate rythm and
@@ -27,13 +27,13 @@ pitch.
 
 =item  *
 
-Generate high-quality output. Ideally it should be of a professional
+Generating high-quality output. Ideally it should be of a professional
 quality. We'd like to render Herbert Chlapiks words, "Fine music
 setting is not possible without a knowledgeable printer,"  untrue.
 
 =item *
 
-Make a system which is fully tweakable. It should be possible to
+Making a system which is fully tweakable. It should be possible to
 typeset a book on how not to typeset music.
 
 =back 
diff --git a/Documentation/error.pod b/Documentation/error.pod
deleted file mode 100644 (file)
index 371b73b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-=head1 NAME
-
-LilyError - LilyPond error messages
-
-=head1 DESCRIPTION
-
-This page documents error messages.
-
-A correctly parsed F<input.ly> does not guarantuee output. A lot
-(most) of the checking is done B<after> parsing (some checks even are
-done after the break calc!); I'm sorry.
-
-Most errors come with a context of the Mudela element that originated
-it. This context may be slightly wrong: the parser sometimes reads a
-few tokens ahead to determine the syntax.
-
-[yep.. has to be written..]
index 2eeced82b323911ce27ff8b4727c5a146526a45e..ac6aa0637fbb71423a8a53ec8a581fb03aa1ae33 100644 (file)
@@ -155,13 +155,15 @@ important data-structures are to be found in:
 
        - p-col.hh
        - *request.hh
-       - register.hh
+       - engraver.hh
+       - performer.hh
+       - translator.hh
        - score-elem.hh
-       - input-music.hh
-       - linespace.hh
+       - music.hh
+       - music-list.hh
+       - music-iterator.hh
        - item.hh
        - spanner.hh
-       - voice.hh
 
 
 Q: Why GPL?
@@ -173,7 +175,7 @@ the syntax to allow YYYY!
 
 A: If it is reasonable, I'll add XXXX to the TODO list. In general
 finding a cute syntax (such as YYYY) isn't very hard. The complicated
-issue how to adapt the internals to do XXXX. The parser is really  a
+issue how to adapt the internals to do XXXX. The parser is really a
 simple front end to the complicated internals. 
 
 Q: Why do I need g++ >= 2.7?
@@ -205,7 +207,7 @@ C<make $OSTYPE>. (I am not promising to maintain this platform, it is just
 that when having to use doze, i-m sometimes too lazy to reboot.)
 
 A.2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
-libg++, mind you) to DOS/win (in rpm, please :).
+libg++, mind you) to DOS/win (in rpm, please :-)
 
 
 Q: I-m dozed enough to run the (sometimes bit stale) .exe-s you distribute. 
index cc50a8b5955dd6686f85e3edb65cf55c53bf26ab..43f6c2b1e0f517a3beaa37bfd4d4c1e521b2f1ea 100644 (file)
@@ -70,13 +70,6 @@ mudela in TeX: mudela-book
 </a
 >
 
-=item *
-<a href=error.html
->
-errors
-</a
->
-
 
 =back
 
@@ -113,7 +106,7 @@ The GNU Music project
 </a
 >
 
-=item * 
+=item *
 <a href=ANNOUNCE.txt
 >
 The announce of 0.1
index e479ff5c19b112a7c60c6673b710e3b9eeeb9f6d..faa26928e4363234050abdb7608c4d73bbf6c7e5 100644 (file)
@@ -149,12 +149,25 @@ if the bug has been found earlier, consult F<TODO> and F<BUGS>
 
 If you have found a bug, then you should send a bugreport.
 
-       - send a copy of the input which causes the error
-       - send a description of the platform you use
-       - send a description of the LilyPond version you use (with
-       compile/config options please)
-       - send a description of the bug itself.
-       - send it to bug-gnu-music@vuse.vanderbilt.edu
+=over 4
+
+=item *
+send a copy of the input which causes the error
+
+=item *
+send a description of the platform you use
+
+=item *
+send a description of the LilyPond version you use (with
+compile/config options please)
+
+=item *
+send a description of the bug itself.
+
+=item *
+send it to bug-gnu-music@vuse.vanderbilt.edu
+
+=back
 
 It does help if you can find out where the bug comes from: if GNU
 LilyPond bombs out, then please recompile using with debugging info
@@ -221,7 +234,9 @@ LilyPond documentation
 
 GNU LilyPond is
 updated very frequently, the latest version is always available at:
-ftp://pcnov095.win.tue.nl/pub/lilypond.
+ftp://pcnov095.win.tue.nl/pub/lilypond and
+ftp://alpha.gnu.ai.mit.edu/gnu/
+
 
 For programs which are part of the GNU music project, the following
 mailing list have been setup:
@@ -289,5 +304,7 @@ details on spacing; it was downloaded approximately 4 times.  Then I
 got the hang of it, and in the subsequent two months, I coded until it
 had doubled in size (pl 23).
 
-The first large scale release (0.1) was planned after approximately 80
-patchlevels on August 1, 1997.
+Most the other history is described in the NEWS file. The first large
+scale release (0.1) was done after approximately 78 patchlevels on
+August 1, 1997.
+
index faf125bbfe015aa78998f6a93203729bfcc4a7c9..77a68f1f529298443a8749f02655eb21d825b5b2 100644 (file)
@@ -107,10 +107,6 @@ Jan Nieuwenhuizen <jan@digicash.com>,  http://www.digicash.com/~jan.
 
 The GNU LilyPond music typesetter.
 
-=item mudela(5)
-
-On the LilyPond input format.
-
 =item mudela-man
 
 On the input format. This is a LilyPond-enhanced LaTeX document.
index c4b84339f127f8a9ad92a07ea5ff8c303e61f0c6..485136c65905b3a8c0c626645e0fbe16b3eb0787 100644 (file)
@@ -8,9 +8,20 @@ N\bN\bN\bNA\bA\bA\bAM\bM\bM\bME\bE\bE\bE
        INSTALL - installing GNU LilyPond
 
 D\bD\bD\bDE\bE\bE\bES\bS\bS\bSC\bC\bC\bCR\bR\bR\bRI\bI\bI\bIP\bP\bP\bPT\bT\bT\bTI\bI\bI\bIO\bO\bO\bON\bN\bN\bN
-       This page documents installation  and compilation of GNU
+       This page documents installation and compilation of GNU
        LilyPond
 
+A\bA\bA\bAB\bB\bB\bBS\bS\bS\bST\bT\bT\bTR\bR\bR\bRA\bA\bA\bAC\bC\bC\bCT\bT\bT\bT
+       You do something which looks remotely like
+
+               configure
+               make
+               make install
+               tar -C /usr/lib/texmf/fonts/source/ -zxf musixtex-T73.tgz 'mf/*'
+
+       The detailed instructions follow here.
+
+
 P\bP\bP\bPR\bR\bR\bRE\bE\bE\bER\bR\bR\bRE\bE\bE\bEQ\bQ\bQ\bQU\bU\bU\bUI\bI\bI\bIS\bS\bS\bSI\bI\bI\bIT\bT\bT\bTE\bE\bE\bES\bS\bS\bS
        For compilation you need.
 
@@ -19,8 +30,8 @@ P\bP\bP\bPR\bR\bR\bRE\bE\bE\bER\bR\bR\bRE\bE\bE\bEQ\bQ\bQ\bQU\bU\bU\bUI\bI\bI\bIS\bS\bS\bSI\bI\bI\bIT\bT\bT\bTE\bE
             Solaris.
 
             If you have the Cygnus WINDOWS32 port of the GNU
-            utils, it will even work in Windows NT/95, but don't
-            promise to support it.
+            utils, it will even work in Windows NT/95, but we
+            don't promise to support it.
 
        +\bo    GNU C++ v2.7 or better, with libg++ installed.
             Version 2.7.2 or better recommended.
@@ -46,35 +57,43 @@ R\bR\bR\bRU\bU\bU\bUN\bN\bN\bNN\bN\bN\bNI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
        ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
 
-       ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
 
-       ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
 
-                You only need the contents of the _\bm_\bf_\b/
-                subdirectory of the package. The primary site of
-                the Taupin version is ftp://hprib.lps.u-
-                psud.fr/pub/music_zips/musixtex.zip
 
-R\bR\bR\bRE\bE\bE\bEC\bC\bC\bCO\bO\bO\bOM\bM\bM\bMM\bM\bM\bME\bE\bE\bEN\bN\bN\bND\bD\bD\bDE\bE\bE\bED\bD\bD\bD
-       Although not strictly necessary, these are recommended to
-       have.
+
+1/Aug/97                  LilyPond 0.1.0                        1
 
 
 
-29/Jul/97                LilyPond 0.0.77                        1
 
 
+INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+       ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
 
-INSTALL(1)            LilyPond documentation           INSTALL(1)
+       ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
+
+                You only need the contents of the _\bm_\bf_\b/
+                subdirectory of the package. The primary site of
+                the Taupin version is ftp://hprib.lps.u-
+                psud.fr/pub/music_zips/musixtex.zip
+
+                Andreas Egler's version of MusixTeX, now called
+                OpusTeX, will also work. Andreas moved some
+                characters around in the fonts, so you have to
+                edit the definitions in tex/eglerdefs.tex (patch
+                appreciated)
 
+R\bR\bR\bRE\bE\bE\bEC\bC\bC\bCO\bO\bO\bOM\bM\bM\bMM\bM\bM\bME\bE\bE\bEN\bN\bN\bND\bD\bD\bDE\bE\bE\bED\bD\bD\bD
+       Although not strictly necessary, these are recommended to
+       have.
 
-       +\bo         Perl.  Most scripts are written in Perl. The
+       +\bo         Perl.  Most scripts are written in Perl. Most
                  documentation was created with the perl's Plain
                  Old Documentation.
 
-       +\bo         (GNU) find
+       +\bo         GNU find
 
        +\bo         A fast computer (a full page of music typically
                  takes 1 minute on my 486/133, using the
@@ -90,7 +109,8 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
        This will install the following files:
 
                /usr/local/man/man1/mi2mu.1
-               /usr/local/man/man5/mudela.5
+               /usr/local/man/man1/convert-mudela.1
+               /usr/local/man/man1/mudela-book.1
                /usr/local/man/man1/lilypond.1
                /usr/local/lib/libflower.{so,a}
                /usr/local/bin/lilypond
@@ -100,11 +120,22 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
 
        The TeX include directory is detected dynamically, but it
        can be adjusted with -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-t\bt\bt\bte\be\be\bex\bx\bx\bx-\b-\b-\b-p\bp\bp\bpr\br\br\bre\be\be\bef\bf\bf\bfi\bi\bi\bix\bx\bx\bx and -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-t\bt\bt\bte\be\be\bex\bx\bx\bx-\b-\b-\b-
-       d\bd\bd\bdi\bi\bi\bir\br\br\br. The above assumes that you are root and have the gnu
-       development tools, and your make is gnu make.  If this is
+       d\bd\bd\bdi\bi\bi\bir\br\br\br. The above assumes that you are root and have the GNU
+       development tools, and your make is GNU make.  If this is
        not the case, you can adjust your environment variables to
        your taste:
 
+
+
+1/Aug/97                  LilyPond 0.1.0                        2
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
                export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
                configure
 
@@ -125,17 +156,6 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
 
                configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
 
-
-
-29/Jul/97                LilyPond 0.0.77                        2
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
        Since GNU LilyPond currently is beta, you are advised to
        also use
 
@@ -153,22 +173,35 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
                 option)
 
        --enable-optimise
-                Set maximum optimisation
+                Set maximum optimisation: compile with -\b-\b-\b-O\bO\bO\bO2\b2\b2\b2
 
        --enable-profiling
                 Compile with support for profiling
 
        --enable-tex-prefix
-                Set the directory where texmf lives
+                Set the directory where TeX and Metafont live
 
        --enable-tex-dir
-                Set then directory tex input is in (detected as a
+                Set then directory TeX input is in (detected as a
                 subdir of tex-prefix)
 
        --enable-mf-dir
                 Set then directory mf input is in (idem)
+                [obsolete]
 
                 All options are documented in the _\bc_\bo_\bn_\bf_\bi_\bg_\bu_\br_\be help
+
+
+
+1/Aug/97                  LilyPond 0.1.0                        3
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
                 The option -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-o\bo\bo\bop\bp\bp\bpt\bt\bt\bti\bi\bi\bim\bm\bm\bmi\bi\bi\bis\bs\bs\bse\be\be\be is recommended for
                 Real Life usage.
 
@@ -190,18 +223,6 @@ I\bI\bI\bIN\bN\bN\bNS\bS\bS\bST\bT\bT\bTA\bA\bA\bAL\bL\bL\bLL\bL\bL\bLI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
        Install the musixtex fonts in a directory which TeX and MF
        knows (if you are root, look for a directory which
-
-
-
-29/Jul/97                LilyPond 0.0.77                        3
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
        contains the directories with AMS and CM source (*.mf)
        files. Create a subdir lilypond or musixtex and copy the
        fonts into that). Do not forget to rehash TeX (if
@@ -227,39 +248,18 @@ E\bE\bE\bEX\bX\bX\bXA\bA\bA\bAM\bM\bM\bMP\bP\bP\bPL\bL\bL\bLE\bE\bE\bE
 
        This is what the output looks like over here:
 
-               hw:~/musix/spacer$ lilypond input/kortjakje.ly
-               GNU LilyPond 0.0.71 #20/FlowerLib 1.1.20 #0
-               Parsing ... [/home/hw/share/lilypond/init//symbol.ini  <..snip..>
-               ..      .ini]][input/kortjakje.ly]
-               Creating elements ...
-               Preprocessing elements...
-               Calculating column positions ... [3][8][13][17][21][25]
-               Postprocessing elements...
-               TeX output to lelie.tex ...
 
-               hw:~/musix/spacer$ tex lelie
-               This is TeX, Version 3.14159 (C version 6.1)
-               (lelie.tex
-               Hyphenation patterns for english, dutch, german, loaded.
-               (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
-               Output written on lelie.dvi (1 page, 8944 bytes).
-               Transcript written on lelie.log.
 
-               hw:~/musix/spacer$ xdvi lelie&
-               [1] 855
 
-       Check out the input files, some of them have comments
-       Please refer to the man page for more information.
 
-R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
-       RedHat Linux users should be able to get a RPM. A spec
-       file is in _\bm_\ba_\bk_\be_\b/_\bo_\bu_\bt_\b/_\bl_\bi_\bl_\by_\bp_\bo_\bn_\bd_\b._\bs_\bp_\be_\bc. You should be able to
-       create an rpm as a normal user. Be sure you have a
-       ~/.rpmrc, and edit the RPM-dir in _\bV_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b._\bm_\ba_\bk_\be. (If you
 
 
 
-29/Jul/97                LilyPond 0.0.77                        4
+
+
+
+
+1/Aug/97                  LilyPond 0.1.0                        4
 
 
 
@@ -268,6 +268,28 @@ R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
 INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+               GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
+               Parsing ... [/home/hw/share/lilypond/init//
+                       <..etc..>
+                       init//performer.ly]]][input/kortjakje.ly]
+               Creating elements ...[8][16][24][25]
+               Preprocessing elements...
+               Calculating column positions ... [14][25]
+               Postprocessing elements...
+               TeX output to lelie.tex ...
+               Creating MIDI elements ...MIDI output to lelie.midi ...
+
+               hw:~/musix/spacer$ xdvi lelie&
+               [1] 855
+
+       Check out the input files, some of them have comments
+       Please refer to the man page for more information.
+
+R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
+       RedHat Linux users should be able to get a RPM. A spec
+       file is in _\bm_\ba_\bk_\be_\b/_\bo_\bu_\bt_\b/_\bl_\bi_\bl_\by_\bp_\bo_\bn_\bd_\b._\bs_\bp_\be_\bc. You should be able to
+       create an rpm as a normal user. Be sure you have a
+       ~/.rpmrc, and edit the RPM-dir in _\bV_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b._\bm_\ba_\bk_\be. (If you
        create the RPM as a normal user the permissions will not
        be set correctly, unfortunately)
 
@@ -277,7 +299,8 @@ W\bW\bW\bWI\bI\bI\bIN\bN\bN\bND\bD\bD\bDO\bO\bO\bOZ\bZ\bZ\bZE\bE\bE\bE
        you need the cygnus windows32 gnu port development stuff;
        have a look at http://www.cygnus.com/gnu-win32.
 
-       to make GNU LilyPond under, brr, aargh, well, simply type:
+       to make GNU LilyPond under, brr, aargh, shudder..
+       windows32, well, simply type:
 
                bash configure
                make windows32
@@ -302,29 +325,6 @@ A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-29/Jul/97                LilyPond 0.0.77                        5
+1/Aug/97                  LilyPond 0.1.0                        5
 
 
diff --git a/NEWS b/NEWS
index 2d7ff005fb79769f5069ca5f0e7513b6c1b50090..a06bb286319a54b3059ece426984b3280e93a7c5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,17 @@
 
+august 1
+
+VERSION 0.1.0
+       
+       - bf: output tempo to track 0 too
+       - bf: don't forget to copy id_str_, so moved  into Music
+
+pl 78.jcn1
+       - fix for multi-staff midi: wohltemperirt.ly, standchen.ly
+       - doze fixes
+       - bf: conflily, configure (text)
+*****
+july 31
 pl 78
        - bf: Midi_instrument 
        - added  enable/disable defaults to help.
diff --git a/README b/README
index 20c2ad72aabc9881af0f37408d32f46f93d5f592..39909a29c39d082eb62ea60e671435a36910acff 100644 (file)
--- a/README
+++ b/README
@@ -5,6 +5,15 @@ GNU LilyPond which converts music definition files into visual or
 audio output: it can typeset formatted sheet music in TeX and 
 and (mechanical) perfomances to MIDI files.
 
+0.
+
+LilyPond is known to have a minor bug if  you use glibc; we will look into it
+Please download 0.1.1 when it's available.
+
+LilyPond exhibits a g++ bug on Solaris 2.5 (The stack frame gets corrupted by
+a constructor) if you compile with -O2. We don't know workarounds 
+
+
 1. VERSIONING
 
 if you have downloaded a
@@ -57,3 +66,20 @@ to us: hanwen@stack.nl, jan@digicash.com.
 
 Have fun!
 
+6. DOZE
+
+If you have received this file as part of a DOS/Window32 distribution
+(lilypond-*.zip ), then it is advisable to also download the source
+package, since it contains the complete documentation
+
+       ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
+       ftp://alpha.gnu.ai.mit.edu/gnu/ (US)
+
+The website also contains the complete documentation
+
+       http://www.stack.nl/~hanwen/lilypond/index.html
+
+
+
+
+
diff --git a/TODO b/TODO
index 8a0802b5ef522ff7c077da2020459c803d739513..78cecc175ec03229882fe049cd19edfba904f3a3 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,3 @@
-0.1:
-
-       * versioning stuff (cvt mudela, mudela, etc.)
-
 Features you cannot find in the doco as working, should be mentioned here.
        
 This is an assorted collection of stuff that will be done, might be
@@ -10,22 +6,22 @@ done, or is an idea that I want to think about
 Most of the items are marked in the code as well, with full explanation. 
 grep for TODO and ugh/ugr
 
+       * versioning stuff (cvt mudela, mudela, etc.)
+
+       * get rid of gif files.
+
+       * set_midi_channel/staff() out of performer.
+
        * dots into separate item.
 
        * use String iso Text_def for lyrics.
 
        * use position 0 for center of staff iso bottom.
 
-       * return status
+       * return status on exit
 
        * lyrics in chords still fuck up.
 
-       * add to MIDI output:
-       - tempo change
-       - repeat
-       - slurs
-       - dynamics etc.
-
        * rewire acknowledge_element() logic with a process_acknowledged()
 
        * progress when creating MIDI elts.
@@ -42,12 +38,16 @@ grep for TODO and ugh/ugr
 
        * decent TeX page layout
 
-       * enter script priority
-
-       * a hands on tutorial
+       * a tutorial
 
 PROJECTS
 
+       * add to MIDI output:
+       - tempo change
+       - repeat
+       - slurs
+       - dynamics etc.
+
        * grace notes
        - adapt for multiple font sizes.
        - make separate class for Grace_*_engravers 
diff --git a/VERSION b/VERSION
index 85b19ba5497e6174423cc7c58818242494871c17..e014f462b8c18ae9d2eed09f879faf0693221c1b 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,8 @@
 TOPLEVEL_MAJOR_VERSION = 0
-TOPLEVEL_MINOR_VERSION = 0
-TOPLEVEL_PATCH_LEVEL = 78
-# use to send patches, always empty for released version:
-# include separator: ".postfix", "-pl" makes rpm barf
+TOPLEVEL_MINOR_VERSION = 1
+TOPLEVEL_PATCH_LEVEL = 0
 
+# use to send patches, always empty for released version:
+# include separator: ".postfix", don't use -,
+# it makes rpm barf
 TOPLEVEL_MY_PATCH_LEVEL = 
index 2a495a1308a0c20f6e3576b0285c3c753b315b55..f63f8e972ff90e480363836e59e41905cab5826f 100755 (executable)
@@ -31,5 +31,5 @@ if [ "x$LILYINCLUDE" = "x" ]; then
        echo "export PATH=$PATH:$lelie/current/bin/out/"
 fi
 
-configure --prefix=$root --enable-debugging --enable-printing --enable-checking
+configure --prefix=/usr --enable-debugging --enable-printing --enable-checking
 
index 218b94dc325d444abac61cd4868c5eaaf0144d18..28f85f79bad9f5f3a3b18b7d3f5a5204574ffd6e 100644 (file)
@@ -104,14 +104,17 @@ sub gen_manuals
 {
     print "generating TeX doco list\n";
     open HTMLLIST, ">tex_manuals.html";
-    print HTMLLIST "<html><body><title>LilyPond manuals in TeX</title>\n" .
-       "<ul>\n";
+    print HTMLLIST "<HTML><TITLE>LilyPond manuals</title>\n" ;
+    print HTMLLIST "<BODY><h1>LilyPond manuals (in PostScript)</h1>";
+    print HTMLLIST "<ul>\n";
     my @todo=();
     foreach $a (@texstuff) {
        push @todo , "out/$a.ps.gz";
        print HTMLLIST "<li><a href=$a.ps.gz>$a.ps.gz</a>";
     }
     print HTMLLIST "</ul>";
+    
+    print HTMLLIST "</BODY></HTML>";
     close HTMLLIST;
 
     my_system( "$MAKE -C .. " .  join(' ', @todo));
index 53b21410e9f8d18a25bb3b379f91fcb4ab73ba9e..d2c4808da791628f7a108f90aa205d687269669b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1793,11 +1793,13 @@ END
 if test $warn_b = "yes" ; then
 cat <<EOF
     
-    *******************************
-    Warning: configure found errors. 
-    Please resolve these and rerun configure
-    before sending any bugreports.
-    *******************************
+    **************************************************
+    Warning: configure encountered warnings or errors.
+    Please try to resolve these, and rerun configure 
+    before sending a bugreport.
+    If you cannot resolve some warnings, the make 
+    process may still be succesful, but be warned.
+    **************************************************
     
 EOF
 fi
index f209a26110e4e409ff05c6b7040d2d12fd1e8aef..4df3d11ff70293866c1b4382ae11a555e0b0dbfc 100644 (file)
@@ -315,11 +315,13 @@ END
 if test $warn_b = "yes" ; then
 cat <<EOF
     
-    *******************************
-    Warning: configure found errors. 
-    Please resolve these and rerun configure
-    before sending any bugreports.
-    *******************************
+    **************************************************
+    Warning: configure encountered warnings or errors.
+    Please try to resolve these, and rerun configure 
+    before sending a bugreport.
+    If you cannot resolve some warnings, the make 
+    process may still be succesful, but be warned.
+    **************************************************
     
 EOF
 fi
index 23b94fce90bb3dd92612e0d82e3a2de5afe987a2..2201747c62849df8cbc84ccc813658297e96dcaa 100644 (file)
@@ -13,8 +13,7 @@ EndMudelaHeader
 \version "0.1.0";
 
 
-\score {
-       \melodic  {\id "Staff" "french horn";
+cad = \melodic  {\id "Staff" "french horn";
                \cadenza 1;
                \grouping 1*4;\duration  8;\octave c';
 
@@ -55,7 +54,8 @@ EndMudelaHeader
        'g2 d2^"tr"
        c4
        }
-
+\score {
+       \melodic { \cad }
        \paper {
        
                unitspace= 14.0\mm;
index ab408c9f2f181ba0113232de63e69d9120d9022a..0ba3de2f7806dee3b6f480924ee4398e332650d9 100644 (file)
@@ -62,5 +62,7 @@ begeleiding = \melodic{
                \melodie
                \begeleiding 
        >
+       \paper{}
+       \midi{}
 }
 
index 21c1e02238247e3b649fddcd39ac90a5ad1794ce..a31769b185e03d3e1203386bb157e3f12a601654 100644 (file)
@@ -1,7 +1,7 @@
 MAJOR_VERSION = 0
-MINOR_VERSION = 0
-PATCH_LEVEL = 78
+MINOR_VERSION = 1
+PATCH_LEVEL = 0
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
-MY_PATCH_LEVEL = 
+MY_PATCH_LEVEL =
index fbda8d4279553612647bc2f734cfacf5ac71c254..8d3779e4da1eb7bdf842b343b9b2e4164e30d657 100644 (file)
@@ -53,7 +53,7 @@ Break_algorithm::stupid_solution(Line_of_cols curline)const
     Line_spacer *sp =generate_spacing_problem(curline);
     Col_hpositions colhpos;
     colhpos.cols = curline;
-    colhpos.energy = INFTY;
+    colhpos.energy = INFTY_f;
     colhpos.ugh_b_ = true;
     colhpos.config = sp->default_solution();
     delete sp;
index e96b3f99ad19c6d5d6a2ad5a50ad3622c8932a93..e87c22f3c56bea77f51258cf4fc1bbd5c4d4a88f 100644 (file)
@@ -6,7 +6,7 @@
 
 Col_hpositions::Col_hpositions()
 {
-    energy = INFTY;
+    energy = INFTY_f;
     ugh_b_ = false;
 }
 
index 80342a4450e77026b52d48c382b8bca2920648c5..4b45edc5972ee604ae64b673aa75a38a0c1fc754 100644 (file)
@@ -3,8 +3,11 @@
     */
 #ifndef CONST_HH
 #define CONST_HH
+#include <limits.h>
 #include <math.h>
 #include "real.hh"
 
 const Real INFTY=HUGE_VAL;
+const Real INFTY_f=(Real)INT_MAX;
+
 #endif
index dda2f568adc98a5c62bf667c1940e6e2db2a9984..8b26d3ee18f815c1f64f6984055d251b006319a6 100644 (file)
@@ -22,11 +22,6 @@ class Music_list : public Music {
 public:
     int multi_level_i_;
   
-    /// what kind of iterator needed to walk this music?
-    String type_str_;
-
-    /// what name (or look for this name)
-    String id_str_;    
     Music_list(Music_list const&);    
     Music_list();
     DECLARE_MY_RUNTIME_TYPEINFO;
index 196f461eeb6bd290bdf9a62539f01488ab51e4f8..41531a790218770701f6aa02855a7bc039e2b38b 100644 (file)
 class Music:public Input {
 public:
     Music_list * parent_music_l_;
+    
+    /** what kind of iterator needed to walk this music?  This doesn't
+      make sense for simple (ie non-list) music, but it does no harm
+      here. Yes, it did harm Music_list: you can forget to copy it.
+      
+      */
+    String type_str_;
+
+    /// what name (or look for this name)
+    String id_str_;    
 
     virtual MInterval time_int()const;
     virtual ~Music(){}
index ae87b68b197a07e1af96c2cf6a83fdc49e528670..fdca52a576725745d6a4dca6f1348806921c1a4b 100644 (file)
@@ -32,6 +32,11 @@ public:
     virtual bool do_try_request( Request* req_l );
     virtual bool try_request(Request*r) { return Performer::try_request(r) ; }
 
+    // <ugh>
+    virtual void set_track( int& track_i_r );
+    virtual int get_track_i() const;
+    // </ugh>
+
 protected:
 
     virtual Translator* find_get_translator_l( String name, String id );
@@ -46,8 +51,8 @@ protected:
 
     bool is_bottom_performer_b() const;
     virtual Performer_group_performer* find_performer_l( String name, String id );
-    
     virtual void do_print()const;
+
 private:
     Pointer_list<Performer*> perf_p_list_;
     
index f9b47a6f8452f0da5dd751cb741057b90c411cb3..35911605d9b795eddbd992c933246d906aac62a9 100644 (file)
@@ -28,6 +28,11 @@ public:
     virtual void process_requests();
 
     virtual void set( Moment mom );
+    // <ugh>
+    virtual void set_track( int& track_i_r );
+    virtual int get_track_i() const;
+    // </ugh>
+
     virtual bool try_request( Request* req_l );
 
     virtual void do_removal_processing();
index 9161c6322434d1db3de354d81ae0ea1d3d20b981..95c8721da8f69bf927aa040e678d7a22813a9fe7 100644 (file)
@@ -24,12 +24,18 @@ protected:
     virtual void play_event( Midi_item* l );
     virtual void do_removal_processing();
     virtual void do_creation_processing();
+    // <ugh>
+    virtual void set_track( int& track_i_r );
+    virtual int get_track_i() const;
+    // </ugh>
 
 private:
     void header();
 
     Moment midi_mom_;
     Midi_track* midi_track_p_;
+
+    int track_i_;
 };
 
 #endif // STAFF_PERFORMER_HH
index 8fed5146237da7d4db9902e4d59fa6613873c9e8..56d9a555ad90d7547e89aa214b6da800fcb16a52 100644 (file)
@@ -75,13 +75,14 @@ Ineq_constrained_qp::eval (Vector v)
 int
 min_elt_index(Vector v)
 {
-    Real m=INFTY; int idx=-1;
+    Real m=INFTY_f; 
+    int idx=-1;
     for (int i = 0; i < v.dim(); i++){
        if (v(i) < m) {
            idx = i;
            m = v(i);
        }
-       assert(v(i) <= INFTY);
+       assert(v(i) <= INFTY_f);
     }
     return idx;
 }
@@ -130,7 +131,7 @@ Ineq_constrained_qp::solve(Vector start) const
        if (direction.norm() > EPS) {
            mtor << act.status() << '\n';
            
-           Real minalf = INFTY;
+           Real minalf = INFTY_f;
 
            Inactive_iter minidx(act);
 
index 99b942b91ea2eaeed4c6f39b5b4d3b6863a42c21..09ee833db0ed22dc3295e198e1d3daf9c13939b4 100644 (file)
@@ -128,18 +128,14 @@ Music_iterator::static_get_iterator_p(Music *m,
     else if (m->is_type_b( Voice::static_name())) 
        p =  new Voice_iterator(  (Voice*) m);
     
-     if ( m->is_type_b( Music_list::static_name())) {
-       Music_list* ml = (Music_list*) m;
-       if (ml -> type_str_ != "") {
-           Translator * a =report_l->
-               find_get_translator_l(ml-> type_str_, ml->id_str_);
-
-               
+    if (m -> type_str_ != "") {
+       Translator * a =report_l->
+           find_get_translator_l(m-> type_str_, m->id_str_);
            p->set_translator( a);
-           
-       } 
-     } 
-     if (! p->report_to_l() )
+    } 
+
+
+    if (! p->report_to_l() )
         p ->set_translator(report_l);
     
     return p;
@@ -214,7 +210,7 @@ IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator);
 Moment
 Chord_iterator::next_moment()const
 {
-    Moment next_ = INFTY;
+    Moment next_ = INFTY_f;
     for (PCursor<Music_iterator*> i(children_p_list_.top()); i.ok(); i++)
        next_ = next_ <? i->next_moment() ;
     return next_;
index b169a74727cbdde085b07488de8312f99ca78e04..49520966975a4796b953688357e7b18d2328a539 100644 (file)
@@ -7,20 +7,19 @@
 */
 
 
+#include <limits.h>
 #include "music.hh"
 #include "debug.hh"
 #include "music-list.hh"
 
 Music_list::Music_list(Music_list const&s)
+    : Music(s)
 {
     multi_level_i_ = s.multi_level_i_;   
     for (iter(s.music_p_list_.top(), i); i.ok(); i++)
        add(i->clone());
 }
 
-
-
-
 IMPLEMENT_IS_TYPE_B1(Music_list, Music);
 IMPLEMENT_IS_TYPE_B1(Voice,Music_list);
 IMPLEMENT_IS_TYPE_B1(Chord,Music_list);
@@ -28,7 +27,8 @@ IMPLEMENT_IS_TYPE_B1(Chord,Music_list);
 MInterval
 Chord::time_int()const
 {
-    MInterval m;
+//    MInterval m( -(Real)INT_MAX, (Real)INT_MAX );
+    MInterval m( 0, 0 );
     for (iter(music_p_list_.top(), i); i.ok(); i++)
        m.unite(i->time_int());
     return m;
index f42394b9e6ef8d1a36224a79e0fcaaa84b2fb11c..4949e2737b4557e13504b63c05546ba3e8e47574 100644 (file)
@@ -16,11 +16,14 @@ Music::time_int() const
 {
     return MInterval(0,0);
 }
+
 void
 Music::print()const
 {
 #ifndef NPRINT
-    mtor << name() << "{" ;
+    mtor << name() << "{";
+    if  (type_str_!="" || id_str_!="")
+       mtor << "`" <<type_str_ << " = " << id_str_<<"\'";
     do_print();
     mtor << "}\n";
 #endif
index 9caa6762317faa498faa8abfc17cd8ba1b5388fa..430e33c7c765ff06dfd5c30616dd366b17d29f2a 100644 (file)
@@ -47,7 +47,7 @@ Note_performer::process_requests()
        return;
 
     // ugh, need to know channel (===track===staff) too
-    int channel_i = 0;
+    int channel_i = get_track_i();
     Moment mom = get_mom();
     if ( !off_mom_ ) { // start note
        off_mom_ = mom + note_req_l_->duration();
index 3e3a745c22e6dde354118557ae06600a1d2de473..66471128e2dab1265d4566e311723f9f05d08c7a 100644 (file)
@@ -132,6 +132,26 @@ Performer_group_performer::process_requests()
        i->process_requests();
 }
 
+//<ugh>
+int
+Performer_group_performer::get_track_i() const
+{
+    int track_i = Performer::get_track_i();
+
+    for ( int i = 0; i < nongroup_l_arr_.size(); i++ )
+       nongroup_l_arr_[ i ]->set_track( track_i );
+    
+    return track_i;
+}
+
+void
+Performer_group_performer::set_track( int& track_i_r )
+{
+    for ( PCursor<Performer*> i( perf_p_list_.top() ); i.ok(); i++ )
+        i->set_track( track_i_r );
+}
+//</ugh>
+
 bool
 Performer_group_performer::do_try_request( Request* req_l )
 {
index e26f2ef2da57f5ccc52da1b62d3e4df0c6249440..5e15fc53d6c97d737ba27f153212eaa36aa7dfa2 100644 (file)
@@ -65,6 +65,19 @@ Performer::set( Moment )
 {
 } 
 
+//<ugh>
+int
+Performer::get_track_i() const
+{
+    return daddy_perf_l_->get_track_i();
+}
+
+void
+Performer::set_track( int& )
+{
+}
+//</ugh>
+
 bool 
 Performer::do_try_request( Request* req_l )
 {
index 5d3c98b84263ed13a54cdd8924ad108c59f1de91..df8ff16747e06cf2d3f89a8a20c43d34ef025d63 100644 (file)
@@ -105,6 +105,9 @@ Score_performer::header(Midi_stream &output_stream)
                          + String_convert::i2dec_str( 0, 0, '0' ) );
     midi_track.add( Moment( 0 ), &track_name );
 
+    Midi_tempo tempo ( get_tempo_i());
+    midi_track.add( Moment(0), &tempo);
+
     output_stream  << midi_track;
 }
 
@@ -131,6 +134,11 @@ Score_performer::set_score(Score* score_l )
 void
 Score_performer::start()
 {
+    //<ugh>
+    int track_i = 1;
+    Performer_group_performer::set_track( track_i );
+    //</ugh>
+
     if ( midi_l_->outfile_str_ == "" )
        midi_l_->outfile_str_ = default_out_fn + ".midi";
 }
index 77324c3879994123c95543650b22d8b9e22faee9..531c120f9989ed976b7b070a4337f490e423aa62 100644 (file)
@@ -58,7 +58,7 @@ Score::run_translator(Global_translator * trans_l)
 
     trans_l->start();
     while ( iter->ok() || trans_l->moments_left_i() ) {
-       Moment w = INFTY;
+       Moment w = INFTY_f;
        if (iter->ok() ) {
            w = iter->next_moment();
            iter->print();
index 0804161edd2a93981da3f9eca6fca8b0c86cca3d..7684e5de5f52bd9751a8cbd62ff710b92295ba33 100644 (file)
@@ -8,6 +8,7 @@
 
 
 #include <math.h>
+#include <limits.h>
 #include "spring-spacer.hh"
 #include "p-col.hh"
 #include "debug.hh"
@@ -95,8 +96,8 @@ Spring_spacer::position_loose_cols(Vector &sol_vec)const
     assert(sol_vec.dim());
     Array<bool> fix_b_arr;
     fix_b_arr.set_size(cols.size() + loose_col_arr_.size());
-    Real utter_right_f=-INFTY;
-    Real utter_left_f =INFTY;
+    Real utter_right_f=-INFTY_f;
+    Real utter_left_f =INFTY_f;
     for (int i=0; i < loose_col_arr_.size(); i++) {
        fix_b_arr[loose_col_arr_[i].rank_i_] = false;
     }
@@ -444,7 +445,7 @@ Spring_spacer::calc_idealspacing()
            }
            if ( d_iter.ok() && now >= d_iter.when()) {
                Durations_iter d2 = d_iter;
-               Moment shortest = INFTY;
+               Moment shortest = (Real)INT_MAX; //ugh INFTY;
                while (d2.ok() && d2.when() <= now) {
                    shortest = shortest <? d2.duration();
                    d2.next();
index b0368f9c4f91e45e391c629f029b93f3f5b8b05a..0d94d87ae758b5247f2816e08ee5b2396ac9e287 100644 (file)
@@ -56,7 +56,7 @@ Staff_performer::header()
     // lieve wendy, nu heb je mijn track_i_ / get_staff_i weggehaald...
     // zie ook note-performer: ugh
     // ugh, need to know channel (===track===staff) too
-    int channel_i = 0;
+    int channel_i = track_i_;
     Midi_instrument instrument( channel_i, instrument_str() );
     midi_track_p_->add( Moment( 0 ), &instrument );
 
@@ -79,3 +79,18 @@ Staff_performer::play_event( Midi_item* l )
     midi_track_p_->add( delta_t, l);
 }
 
+
+//<ugh>
+int
+Staff_performer::get_track_i() const
+{
+    return track_i_;
+}
+
+void
+Staff_performer::set_track( int& track_i_r )
+{
+    track_i_ = track_i_r++;
+}
+//</ugh>
+
index 68e30479d9ed68cb6ef1c108f2a69c76f3fea6b7..bffae6d08019ea74ec56c6caba297f00e467a10d 100644 (file)
@@ -17,8 +17,9 @@
 Interval__instantiate(Rational);
 Interval__instantiate(int);
 
-#ifdef AIX
-const Real INFTY = 1e8;        // ARGh. AIX sucks
+const Real INFTY_f = (Real)INT_MAX;
+#if defined AIX || defined _WIN32
+const Real INFTY = 1e8;        // ARGh. AIX sucks -- so does doze
 #else
 const Real INFTY = HUGE_VAL;
 #endif
index 8653c071e9dec7cdaa8b14d28488abdae514e246..7d25bb9e94cb3025f9e3a5b3d6cc633082b82a31 100644 (file)
@@ -57,7 +57,7 @@ Word_wrap::do_solve()const
                    current = stupid_solution(current.cols);
                    current.energy = - 1; // make sure we break out.
                } else
-                   current.energy = INFTY;     // make sure we go back
+                   current.energy = INFTY_f;   // make sure we go back
            } else {
                current = solve_line(current.cols);
                current.print();
index 2120a5b1a647bc26fae603ebce370eae110d4c39..6ff4c32b1aacfc4dc4519afa31056bfbb6620366 100644 (file)
@@ -1,22 +1,22 @@
 Begin3
 Title: LilyPond
-Version: 0.0.78
-Entered-date: 07/30/97
-Description: 
-GNU LilyPond is a program which converts music definition files into
-visual or auditive output: it can typeset formatted sheet music to a
-TeX file and and (mechanical) performances to MIDI files. Features
-include multiple staffs, meters, clefs, keys, lyrics, versatile
-input-language, cadenzas beams, slurs, triplets.
-
+Version: 0.1.0
+Entered-date: 08/01/97
+Description:   GNU LilyPond is a program which converts music
+               definition files into visual or auditive output: it can
+               typeset formatted sheet music to a TeX file and and
+               (mechanical) performances to MIDI files. Features
+               include multiple staffs, meters, clefs, keys, lyrics,
+               versatile input-language, cadenzas beams, slurs,
+               triplets.
 Keywords: music typesetting midi notation
 Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps
-       340k lilypond-0.0.78.tar.gz 
+       340k lilypond-0.1.0.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/
-       340k lilypond-0.0.78.tar.gz 
-Platform: Unix/win32, GNU C++
+       340k lilypond-0.1.0.tar.gz 
+Platform: Unix/windoze32, GNU C++
 Copying-policy: GPL
 End
index af2163607beb87658b71a2abbd4e84ed535ad2b3..a3c98fc52332b50a7a09ab5e47958daee45cabd4 100644 (file)
@@ -2,13 +2,13 @@ Begin3
 Title: LilyPond
 Version: @TOPLEVEL_VERSION@
 Entered-date: @DATE@
-Description: 
-GNU LilyPond is a program which converts music definition files into
-visual or auditive output: it can typeset formatted sheet music to a
-TeX file and and (mechanical) performances to MIDI files. Features
-include multiple staffs, meters, clefs, keys, lyrics, versatile
-input-language, cadenzas beams, slurs, triplets.
-
+Description:   GNU LilyPond is a program which converts music
+               definition files into visual or auditive output: it can
+               typeset formatted sheet music to a TeX file and and
+               (mechanical) performances to MIDI files. Features
+               include multiple staffs, meters, clefs, keys, lyrics,
+               versatile input-language, cadenzas beams, slurs,
+               triplets.
 Keywords: music typesetting midi notation
 Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
@@ -17,6 +17,6 @@ Primary-site: sunsite.unc.edu /pub/Linux/apps
        340k lilypond-@TOPLEVEL_VERSION@.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/
        340k lilypond-@TOPLEVEL_VERSION@.tar.gz 
-Platform: Unix/win32, GNU C++
+Platform: Unix/windoze32, GNU C++
 Copying-policy: GPL
 End
index 7f1c6f5ad9c450b3779e7ec8a59c72146f3c1265..ffb03cd6fd8620515fa8d8066423023152331bcd 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.0.78
+Version: 0.1.0
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.78.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.0.tar.gz
 Summary: A preprocessor to make TeX typeset music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -27,7 +27,7 @@ rm -rf $RPM_BUILD_ROOT
 strip lily/out/lilypond mi2mu/out/mi2mu
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/error.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/language.text Documentation/out/lilygut.text Documentation/out/lilyliterature.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README 
+%doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/language.text Documentation/out/lilygut.text Documentation/out/lilyliterature.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README 
 %doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen.ly input/standchen.tex input/toccata-fuga-E.ly input/twinkle.ly input/wohltemperirt.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/lelie_logo.gif
 /usr/bin/convert-mudela