]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.0.11 release/1.0.11
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 24 Sep 1998 14:45:51 +0000 (16:45 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 24 Sep 1998 14:45:51 +0000 (16:45 +0200)
36 files changed:
AUTHORS.txt
Documentation/tex/refman.yo
INSTALL.txt
NEWS
PATCHES.txt
README.txt
TODO
VERSION
aclocal.m4
configure
init/engraver.ly
init/paper11.ly
init/paper13.ly
init/paper16.ly
init/paper20.ly
init/paper26.ly
init/params.ly
input/test/denneboom.ly
lily/VERSION
lily/clef-engraver.cc
lily/key-engraver.cc
lily/mark-engraver.cc
lily/my-lily-lexer.cc
lily/paper-def.cc
lily/plet-spanner.cc
lily/timing-translator.cc
make/STATE-VECTOR
make/lilypond-vars.make
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
scripts/convert-mudela.py
stepmake/bin/package-zip32.sh
stepmake/configure
stepmake/make/out/stepmake.lsm
stepmake/make/out/stepmake.spec

index e17ad4f9029d7bc2ed87727e8b1adab33b1de34e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-          AUTHORS - who did what on GNU LilyPond?
-
-
-Contents
-
-
-This  file  lists  authors  of  GNU  LilyPond, and what they
-wrote.  This list is alphabetically ordered.
-
-
-o    Tom Cato Amundsen <tomcato@xoommail.com>,  cembalo-par-
-     tita in mudela.
-
-o    Mats            Bengtsson            <matsb@s3.kth.se>,
-     http://www.s3.kth.se/~matsb  clef  stuff,  key   stuff,
-     swedish notenames, testing, general comments.
-
-o    Eric Bullinger <eric@aut.ee.ethz.ch>, accidental trans-
-     position.
-
-o    Jan  Arne  Fagertun  <Jan.A.Fagertun@energy.sintef.no>,
-     TeX titling and lytodvi.sh
-
-o    Anthony Fok <foka@debian.org>, debian package: debian/*
-
-o    Neil Jerram <nj104@cus.cam.ac.uk>.  parts of Documenta-
-     tion/Vocab*
-
-o    Donald    Ervin    Knuth,     http://www.cs-staff.stan-
-     ford.edu/~knuth mf/ital-*.mf (these were taken from the
-     CM fonts)
-
-o    Werner  Lemberg <xlwy01@uxp1.hrz.uni-dortmund.de>, misc
-     bugfixes, some Beam and Stem code.
-
-o    David R. Linn <drl@vuse.vanderbilt.edu>,  Mailing  list
-     maintenance.
-
-o    Adrian Moriano <> Documentation fixes, glossary.
-
-o    Han-Wen           Nienhuys           <hanwen@cs.uu.nl>,
-     http://www.cs.uu.nl/~hanwen
-     Main author (initials: HWN).
-
-o    Jan          Nieuwenhuizen           <janneke@gnu.org>,
-     http://www.xs4all.nl/~jantien
-     Main author (initials: JCN).
-
-o    Alexandre   Oliva  <oliva@dcc.unicamp.br>,  http://sun-
-     site.unicamp.br/~oliva testing
-
-o    Franc,ois Pinard  <pinard@iro.umontreal.ca>,  parts  of
-     Documentation/Vocab*,    started   internationalization
-     stuff
-
-o    Jeffrey B. Reed <daboys@bga.com>, Windows-NT support.
-
-o    Shay Rojanski Some mudela source.
-
-
-Your name could be here! If you want to help,  then  take  a
-look  at  the SMALLISH PROJECTS section of in the file TODO.
-Some do not involve coding C++
-
-[And of course we sincerely thank J.S.Bach,  F.Schubert,  T.
-Merula and W.A.Mozart for their beautiful music]
index 396e561d975b7b14c7fa768f727f7cfd54741caf..b635bfc2e1b0eb28a410321461f315f9e0de0532 100644 (file)
@@ -4,6 +4,8 @@ redef(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))
     whenhtml(sc(ARG1)))
 def(mycode)(1)(tt(ARG1))
 
+
+
 COMMENT( This document contains Mudela fragments.  You need at least
 Yodl-1.30.18 to convert this to tex or html.
 
@@ -21,6 +23,7 @@ latexlayoutcmds(
 \setlength{\textwidth}{5.875in} 
 \setlength{\oddsidemargin}{0.25in}   
 \setlength{\evensidemargin}{0.25in}
+\usepackage[T1]{fontenc}
 \input mudela-book
 )
 
@@ -85,42 +88,61 @@ just is a disclaimer.  Docs usually are written after the program
 itself.)  This document intends to give an idea of how it works. It is
 not a guide on how to use it.
 
-sect(Files)
 
-The de-facto extension of Mudela is file(.ly). Files may be included by
-entering code(\include) at the start of a line:
+sect(Running LilyPond)
 
-verb(\include "a_file.ly")
+When invoked with a filename that has no extension, LilyPond will add
+a file(.ly) extension.  When invoked with a filename  ending  in
+file(.fly),  LilyPond processes  the file as a music fragment  using
+file(init.fly).  When file(foo.fly) is read, LilyPond does something
+like this:
+\verb(\score {
+  \notes\relative c {
+    \input "foo.fly"
+  }
+  \paper{}
+  \midi{}
+})
 
 
 sect(Syntax)
 
-COMMENT(I don't understand the syntax, so  I can't  write  this
-section very well.  --Adrian)
-
-A one line comment is introduced by a 
-code(%) character.  
-Block comments are started 
-by 
-code(%{)
-and
-ended by code(%}).
-They cannot be nested.
-
-Mudela supports three types of constants: strings, reals, and integers. 
-verb("I am a string"
--1.2e3          % a real
-12              % an integer)
-A string which contains no spaces can be written without the quotes.  
-However, in Note mode, unquoted text can be intepreted as note names
-rather than as a string.  
-
-Pairs of braces `code({)' and `code(})' or pairs of angle brackets 
-`code(<)' and `code(>)' are used to identify the scope
-of contexts and enable the construction of hierarchical structure.
-Items in braces will be treated as serial; items in angle brackets
-will be stacked into chords.  
-Braces are also used to group arguments for certain commands.
+A Mudela files consists of statements, generally
+separated by spaces, tabs or newlines.  A one line comment is
+introduced by a code(%) character.  Block comments are started by
+code(%{) and ended by code(%}).  They cannot be nested.
+
+Mudela supports several data types.  Four types of simple constants
+are supported: integers, reals, strings, and notes.  An integer is a
+sequence of digits such as code(12).  A real is fromed from an
+optional minus sign and a sequence of digits followed by a decimal
+point and an optional exponent such as code(-1.2e3).  A string is
+started and ended with the code(") character.  To include a code(")
+character in a string, you must write code(\").  Various other
+backslash sequences have special interpretations as in the C language.
+A string that contains no spaces can be written without the quotes.  A
+note consists of a note name followed by an optional duration.  See
+section ref(notedesc) for details on this type.  A dimension consists
+of a real followed by one of the dimension keywords: code(\mm),
+code(\pt), code(\in), or code(\cm).  Dimensions are converted
+immediately to a real which gives the dimension in points, so they can
+be mixed with reals.
+
+Compound types are built up from the simple types.  The compound types
+are: arglist, assignlist and musiclist.  An arglist is a
+white space separated list of integers, reals and or strings surrounded
+by braces code({) and code(}).  An assignlist is a list of 
+identifier assignments, which have the form var(key)code(=)var(value).
+The simplest musiclist is a single note.  More complicated music lists
+are formed by surrounding a list of musiclists with braces code({) and
+code(}) or with angle brackets code(<) and code(>).  Items appearing
+in braces will be treated as serial. Items in angle brackets will be
+simultaneous. 
+
+A statement in Mudela has one of three forms:
+verb(\keyword argument
+\keyword argument1 argument2 ... ;
+string=value)
         
 To assign an identifier you use:
 verb(string = ...)
@@ -141,26 +163,21 @@ an identifier assignment.)
 The following words are keywords.  You can define an identifer whose
 name is a keyword, but you will not be able to reference it.
 
-verb(absdynamic  font           time       penalty       spandynamic
-accepts     grouping       midi       property      symboltables
-bar         in             mm         pt            table
-cadenza     include        multi      relative      tempo       
-clear       lyric          header     score         translator  
-clef        key            notenames  script        type        
-cm          keysignature   octave     shape         transpose   
-consists    mark           output     skip          version     
-contains    notes        partial    staff     
-duration    musicalpitch   paper      spandynamic)
-
-COMMENT( I don't know  the proper  way to make this kind of table in
-yodl.  
-
-Also  note: Lilypond  should  really give an error when  I write
-       lyric = .....  
-Instead, I get the error later, after I try to use my redefinition of
-\lyric.  The cause  is much less clear. )
+verb(absdynamic  font           mm             pt              time       
+accepts     grouping       musicalpitch   relative        translator 
+bar         header         notenames      score           transpose  
+cadenza     in             notes          script          type       
+clear       include        octave         shape           version    
+clef        key            output         skip        
+cm          keysignature   paper          spandynamic 
+consists    lyric          partial        symboltables
+contains    mark           penalty        table       
+duration    midi           property       tempo )
 
+COMMENT( I don't know the proper way to make this kind of table in
+yodl. )
 
+COMMENT(
 subsect(Hierarchical structures)
 
 The general structure consists of declarations:
@@ -180,17 +197,10 @@ verb(\TYPE{ \IDENTIFIER [...] })
 
 Some exceptions on this rule have been made to prevent inputting
 Mudela becoming tedious
-
-
-COMMENT(As far as I can tell, the last bit is simply a repetition of
-the information on how to use an identifier, so it should be deleted.
-
-But I'm uncertain about the meaning of \TYPE in the above section.
-Different from \type?  Does it refer to \notes, \lyric?  In general,
-the use of the word "type" seems to be a source of confusion.
 )
 
 
+
 sect(Modes)
 
 To simplify different aspects of music definition (entering the notes
@@ -212,7 +222,7 @@ is treated as a string.
 
 dit(Note mode) Note mode is introduced by the keyword
 code(\notes).  In Note mode, words can only contain alphabetic
-characters.  If code(word) is encountered, Lilypond first checks for a
+characters.  If code(word) is encountered, LilyPond first checks for a
 notename of code(word).  If no notename is found, then code(word) is
 treated as a string.  If you mistype a notename, the parser will most
 likely complain that you should be in code(\lyric) mode to do lyrics. 
@@ -246,14 +256,15 @@ What's this about reals?  When can you enter them or not enter them?)
 
 
 sect(Note Description)
+label(notedesc)
 
-subsect(Basic note specification)
+subsect(Basic Note Specification)
 
 A note specification has the form 
-var(pitch)[var(octavespec)][var(duration)].
+var(pitch)[var(octavespec)][code(!)][var(duration)].
 The pitch of the note is specified by the note's name.  
 
-Lilypond has predefined note names for various languages.  The default
+LilyPond has predefined note names for various languages.  The default
 names are the Dutch note names.  The notes are specified by the
 letters code(c) through code(b), where code(c) is an octave below
 middle C and the letters span the ocatave above that C.  
@@ -295,11 +306,11 @@ mudela(fragment,verbatim,center)(
 ceses' eses' geses' ases' beses'
 )
 
-Whenever a C-sharp is desired,  you must specify a C-sharp.  Lilypond
+Whenever a C-sharp is desired,  you must specify a C-sharp.  LilyPond
 will determine what accidentals to  typeset  depending on the  key and
 context.   
 A reminder accidental can be forced by
-using an exclamation mark code(!)
+using the optional exclamation mark `code(!)'
 on a pitch.
 mudela(fragment,verbatim,center)(
 cis' d' e' cis'  c'! d' e' c' 
@@ -325,7 +336,7 @@ a'4. b'4.
 
 In addition, the duration can be followed by a multiplier which is
 introduced with the asterisk code(*) and can be an integer or a
-fraction.  The multiplier changes the duration that Lilypond uses
+fraction.  The multiplier changes the duration that LilyPond uses
 internally for the note, but it does not change the symbol that is
 printed.  
 mudela(fragment,verbatim,center)(
@@ -349,7 +360,7 @@ mudela(fragment,verbatim,center)(
 
 In order to create triplets, you must use a length multiplier after
 the brackets.  An open bracket code([) followed by a fraction
-instructs Lilypond to print a number over the beam, and it also
+instructs LilyPond to print a number over the beam, and it also
 starts multiplying all note lengths by the fraction.  The closing
 bracket code(]) should be followed by the fraction code(1/1) in order
 to restore normal note lengths.  To create a triplet without a beam,
@@ -388,6 +399,7 @@ c'4:32 [:16 c'8 d'8]
 )
 
 
+
 subsect(Slurs and Ties)
 
 A tie connects two adjacent note heads
@@ -408,15 +420,75 @@ mudela(fragment,verbatim,center)(
 c'( d' e' )f'
 )
 
+subsect(Note Ornaments)
+
+A variety of symbols can appear above and below notes to indicate
+different characteristics of the performance.  These symbols can be
+added to a note with `var(note)code(-\)var(name)'.  Numerous different
+symbols are defined in file(script.ly).  Each symbol is defined using
+the code(\script) keyword which specifies where symbols appear.
+Symbols can be forced to appear above the note by writing
+`var(note)code(^\)var(name)', and they can be forced to appear below
+by writing `var(note)code(_\)var(name)'.  Here is a chart showing
+symbols above notes, with the name of the corresponding symbol
+appearing underneath.  
+
+mudela()(
+\score{
+ < \notes{ c''-\accent c''-\marcato c''-\staccatissimo f'-\fermata 
+          c''-\stopped c''-\staccato c''-\tenuto c''-\upbow c''-\downbow
+          c''-\lheel c''-\rheel  c''-\ltoe  c''-\rtoe  c''-\turn
+          c''-\open  c''-\flageolet  c''-\reverseturn 
+          c''-\trill
+          c''-\prall c''-\mordent c''-\prallprall  c''-\prallmordent
+          c''-\upprall c''-\downprall }
+  \type Lyrics \lyric{  
+        accent      marcato      staccatissimo fermata stopped
+           staccato tenuto upbow downbow lheel rheel ltoe rtoe  turn
+           open  flageolet reverseturn 
+             trill  prall
+           mordent prallprall prallmordent uprall  downprall }>
+  \paper{linewidth  = 5.875\in
+         indent = 0.0
+        }
+}
+)
+
+In addition, it is possible to place arbitrary strings of text or
+TeX() above or below notes by using a string instead of an identifier:
+`code(c^"text")'.  Fingerings can be placed by simply using digits.
+
+To save typing,  a few common symbols  can  be  abbreviated  with
+single characters:
+mudela()(
+\score{ \notes {
+       \property Voice.textstyle = typewriter
+        c''4-._"c-." s4
+        c''4--_"c--"  s4
+        c''4-+_"c-+" s4
+        c''4-|_"c-|" s4
+        c''4->_"c->"  s4
+        c''4-^_"c-\\^{ }"  s4 }
+       \paper { linewidth = 12.\cm; }})
+
+Dynamic marks are specified by using an identifier after
+a note without a dash: code(c4 \ff).  The available  dynamic marks
+are:  code(\ppp),  code(\pp), code(\p), code(\mp), code(\mf),
+code(\f), code(\ff),  code(\fff), code(\fp), code(sf), and code(\sfz).
+
+A crescendo mark is started with code(\cr) and terminated with
+code(\rc).  A decrescendo mark is started with code(\decr) and
+terminated with code(\rced).
+
+
 
 sect(Lyrics)
 
 Lyrics are entered like notes, with pitches replaced
 by text.  For example code(Twin-4 kle4 twin-4 kle4) enters four
-syllables, each with quarter note duration.  Two words can be bound
-together by an underscore If a single duration   
+syllables, each with quarter note duration.  
 
-In order to instruct Lilypond to write lyrics underneath the
+In order to instruct LilyPond to write lyrics underneath the
 staff, you must enter the lyrics context with code(\type Lyrics).  
 Lyrics should be entered in lyrics mode which is entered with code(\lyric).
 
@@ -467,24 +539,24 @@ mudela(fragment,verbatim)(
 
 sect(Time)  
 
-Lilypond aligns all musical objects according to the amount of time
+LilyPond aligns all musical objects according to the amount of time
 they occupy.  All of these objects have a duration.  When music is
 written in series using braces the duration is the sum of the 
 durations of the elements.  When music is stacked using angle
 brackets, the duration is the maximum of the durations of the
 elements.  
 
-Because Lilypond knows the durations of all musical elements, the time
-signature enables Lilypond to draw bar lines automatically.  The time
-signature is specified with the code(\time) command: code(\time 3/4).
-If no time signature is given, Lilypond assumes 4/4.  The automatic
-generation of bar lines can toggled with the code(\cadenza) command,
+Because LilyPond knows the durations of all musical elements, the time
+signature enables LilyPond to draw bar lines automatically.  The time
+signature is specified with the code(\time) keyword: code(\time 3/4).
+If no time signature is given, LilyPond assumes 4/4.  The automatic
+generation of bar lines can toggled with the code(\cadenza) keyword,
 and an incomplete measure at the start of the music can be created
-using the code(\partial) command: code(\partial 8*2;) creates a
+using the code(\partial) keyword: code(\partial 8*2;) creates a
 starting measure lasting two eighth notes.
 
 In order to help with error checking, you can insert bar markers in
-your music by typing code(|).  Whenever Lilypond encounters a code(|)
+your music by typing code(|).  Whenever LilyPond encounters a code(|)
 that doesn't fall at a measure boundary, she prints a warning message.
 
 Rhythmic grouping is  a concept closely associated with this. 
@@ -492,27 +564,11 @@ A default grouping is selected for the chosen time signature.
 The default consists of combinations of 2 and 3 beats with as many
 groups of 3 as possible, and the groups of 3 coming first.  For
 example, 4/4 is divided into 2+2 and 8/8 is divided into 3+3+2.  This
-default grouping can be changed using the \grouping command which
+default grouping can be changed using the \grouping keyword which
 takes a list of durations to specify the grouping. 
 
 
 
-sect(A complete example)
-COMMENT(%label(se:complete))
-
-A Mudela file needs some red tape
-
-mudela(verbatim)(
-\score{
-        \notes {
-                c' d' e' c' |
-                c' d' e' c' |
-                e' f' g'2 |
-        }
-}
-)
-
-
 sect(Composition: forming bigger structures)
 label(sec:grammar)
 
@@ -578,151 +634,177 @@ verb(
 )
 
 
-sect(Properties)
-
-By default the same key signature is valid for all octaves, but
-  this can be changed with the property code(keyoctaviation).
-
 
-The identifier code(\specialkey) sets the property for the Staff.  A
-key with two flats in one octave and three sharps in the next can be 
-declared with verb(\specialkey \keysignature bes es fis' cis' gis';)
 
-sect(Music fragments)
-label(tutorial:music-fragments)
+sect(Keywords)
 
-Sometimes you only need to print a small fragment of music, perhaps 
-something much like one of the examples in this document.  Back in
-section ref(sec:running-lilypond) we told you that the music you
-enter should be encapsulated in something like:
-verb(\score<
-        \notes\relative c{
-                d
-        }
-        \paper{ }
-        \midi{ }
->)
-where the only interesting information is this particular example is verb(
-        d
-)
-The rest of the above example was already nicknamed `red tape'.
-You may easily get bored if you have to provide this same red tape 
-for every fragmenty you nop(try)footnote(Of course, in most cases your
-favourite text editor (TM)
-will help you out.).
-
-Luckily there's a trick around this, and it's called file(.fly) files.
-If you use the extension file(.fly) for Mudela file file(foo),
-LilyPond will embed your file(foo.fly) nop(in)footnote(Or something very 
-similar.  If you want to know exactly, see file(init/init.fly)):
-verb(\score<
-        \notes\relative c{
-                <<foo.ly>>
-        }
-        \paper{ }
-        \midi{ })
-Here's how it works.  If you run LilyPond on your file file(bar.ly), you
-may notice that she starts off by reading quite a number of files before
-she actually reaches your file(bar.ly).  There's no magic going on, Lily
-by default reads an initialisation file (file(init/init.ly)).  In the
-initialisation process a lot of things are defined that you'll need for 
-normal operation, such as notenames and various other mudela shortcuts,
-engraver and perforer definitions, font sizes, musical dimensions and 
-paper sizes.  When you use the extension file(.fly), Lily just starts
-reading another initialisation file (file(init/init.fly)), that includes the 
-red tape for you too.
-
-
-sect(Commands)
-
-Commands take the form of a keyword followed by a list of arguments
-separated by spaces and terminated by a semicolon: 
+Keywords sometimes appear alone, but usually they require arguments. 
+A keyword may have a single argument, or a sequence of arguments separated
+by spaces and terminated by a semicolon:
 `code(\keyword argument argument ... ;)'
 
-COMMENT(The above is wrong. Many  commands  have the form 
-         \keyword { text }
-       with no semicolon, at least much of the time, and some commands
-have obligatory braces as far as I can tell, which don't contain music.)
 
 description(
 
-dit(mycode(\absdynamic))
+dit(code(\absdynamic) code({) var(code) code(})) Internal command for
+printing dynamic marks such as $f$ under music.  The parameter
+var(code) is unsigned and specifies the dynamic mark to print.
+Normally you should use the more user friendly abbreviations defined
+in the init file file(dynamic.ly).
 
-dit(mycode(\accepts))
+dit(code(\accepts) var(string)code(;)) This command can appear only within a
+code(\translator) block.  It specifies what contexts are allowed
 
-dit(mycode(\bar) var(bartype)) Prints a special bar symbol, or at
+dit(code(\bar) var(bartype)code(;)) Prints a special bar symbol, or at
 measure boundaries, replaces the regular bar symbol with a special
 symbol.  The argument var(bartype) is a string which specifies the
 kind of bar to print.  Options are code(":|"), code("|:"),
-code(":|:"), code("||"), code("|."),
-code(".|"), or code(".|.").  These produce respectively a right repeat, a left
-repeat, a double repeat, a double bar, a start bar, an end bar, or a
-thick double bar.  If var(bartype) is set to "empty" then nothing is
-printed, but a line break is allowed at that spot.
-
-dit(mycode(\cadenza) var(togglevalue)) Toggles the automatic generation
+code(":|:"), code("||"), code("|."), code(".|"), or code(".|.").
+These produce respectively a right repeat, a left repeat, a double
+repeat, a double bar, a start bar, an end bar, or a thick double bar.
+If var(bartype) is set to code("empty") then nothing is printed, but a
+line break is allowed at that spot.  Note that the printing of special bars
+has no effect on the MIDI output.
+
+dit(code(\cadenza) var(togglevalue)code(;)) Toggles the automatic generation
 of bar lines.  If var(togglevalue) is 0 then bar line generation is
 turne off.   If var(togglevalue) is  1  then a bar is  immediately
 printed and bar generation is turned  on.
 
-dit(mycode(\clear))
+dit(code(\clear)) Allowed only within code(\notename).  Clears all the
+previously defined note names.  
 
-dit(mycode(\clef)  var(clefname)) Sets the current clef.   The argument
-is the name of the clef.  Possibilities are code(bass), code(alto),
-and code(treble).  Treble clef is the default.
+dit(code(\clef) var(clefname)code(;)) Allowed only in music.  
+Sets the current clef.  The argument is
+a string which specifies the name of the clef.  Several clef names are
+supported.  If code(_8) or code(^8) is added to the end of a clef
+name then the clef lowered or raised an octave will be generated.  
+Here are the supported clef names with middle C shown in each clef:
+mudela()(
+\score{
+  \notes{  
+   %\property Voice.textstyle = typewriter
+   \clef subbass; c'4-"\kern-10mm subbass" 
+           \clef bass;    c'4^"\kern -8mm bass"
+           \clef baritone; c'4_"\kern -10mm baritone"
+           \clef varbaritone; c'4^"\kern -10mm varbaritone"
+           \clef tenor;     c'4_"\kern -10mm tenor"
+           \clef "G_8";   c'4^"\kern -6mm G\_8"  }  
+\paper{ linewidth= 4.5 \in;
+Staff = \translator {
+        \type "Line_group_engraver_group";
+
+        defaultclef = violin;
+
+%       \consists "Bar_engraver";
+        \consists "Clef_engraver";
+        \consists "Key_engraver";
+        \consists "Local_key_engraver";
+        \consists "Time_signature_engraver";
+        \consists "Staff_sym_engraver";
+        \consists "Collision_engraver";
+        \consists "Rest_collision_engraver";
+        \consists "Separating_line_group_engraver";
+          
+        \accepts "Voice";
+        }
+
+}
+
+}
+)
+mudela()(
+\score{
+  \notes{\clef alto;    c'4_"\kern -10mm alto"
+           \clef mezzosoprano; c'4^"\kern -10mm mezzosoprano"
+           \clef soprano;  c'4_"\kern -10mm soprano"
+           \clef treble;  c'4^"\kern -6mm treble"
+           \clef french;  c'4_"\kern -10mm french" }  
+\paper{ linewidth= 4.5 \in;
+Staff = \translator {
+        \type "Line_group_engraver_group";
+
+        defaultclef = violin;
+
+%       \consists "Bar_engraver";
+        \consists "Clef_engraver";
+        \consists "Key_engraver";
+        \consists "Local_key_engraver";
+        \consists "Time_signature_engraver";
+        \consists "Staff_sym_engraver";
+        \consists "Collision_engraver";
+        \consists "Rest_collision_engraver";
+        \consists "Separating_line_group_engraver";
+          
+        \accepts "Voice";
+        }
+}
+}
+)
+The treble  clef  can also  be obtained using  the  names code(G) or
+code(violin).  The bass clef is also available by code(\clef  F). 
 
-dit(mycode(\cm)) Specify a width in centimeters. 
+dit(code(\cm)) Specify a dimension in centimeters. 
 
-dit(mycode(\consists))
+dit(code(\consists) var(string)code(;)) This command can appear only within a
+code(\translator) block.  It specifies that an engraver named
+var(string) should be added to the translator.
 
-dit(mycode(\contains))
+dit(code(\contains)) Produces a parse error.  (There is no rule in the
+grammar that refers to this token.)
 
-dit(mycode(\duration) { var(length) var(dotcount) }) Specify note
+dit(code(\duration) code({) var(length) var(dotcount) code(})) Specify note
 duration.  The parameter var(length) is the negative logarithm (base
 2) of duration: 1 is a half note, 2 is a quarter note, 3 is an eighth
 note, etc.  The number of dots  after  the  note is given by
 var(dotcount). 
 
-dit(mycode(\font))
+dit(code(\font) var(string)) Internal command.  Used within
+code(\symboltables) to specify the font.
 
-dit(mycode(\grouping) var(durationlist))  Sets  the  metric structure of
-the measure.  
-COMMENT(elaboration is needed here.)
+dit(code(\grouping) var(durationseq); )  Sets  the  metric structure of
+the measure.  Each argument specifies the duration of one metric unit.
+For example, code(\duration 16*5;) specifies a grouping of five beats
+together in 5/16 time.  The default grouping is to have as many groups
+of 3 as possible followed by groups of two.  
 
-dit(mycode(\in)) Specify a width in inches.  
+dit(code(\in)) Specify a dimension in inches.  
 
-dit(mycode(\include) var(file)) Include the specified file.
+dit(code(\include) var(file)) Include the specified file.  The
+argument var(file) is a string.  The full filename including the
+file(.ly) extension must be given. 
 
-dit(mycode(\lyric) { var(list) } ) Parse var(list) in lyrics mode.
+dit(code(\lyric) var(lyriclist)) Parse var(lyriclist) in lyrics mode.
 
-dit(mycode(\key) var(pitch)) Change key signature to  that of var(pitch)-major.
+dit(code(\key) var(pitch)) Change key signature to that of
+var(pitch)-major.
 
-dit(mycode(\keysignature) var(notelist))
-Specify an arbitrary key signature.  The notes from var(notelist) will
+dit(code(\keysignature) var(pitchseq);)
+Specify an arbitrary key signature.  The pitches from var(pitch) will
 be printed in the key signature in the order that they appear on the list.
 
-dit(mycode(\mark))
+dit(code(\mark) var(unsigned) or code(\mark) var(string)) Allowed in
+music only.  What does this do?
 
-dit(mycode(\notes) var(music)) Enter note mode and process the
-specified music. 
+dit(code(\musicalpitch) code({) var(octave) var(note) var(shift) code(})) 
+Specify note pitch.  The octave is specified by an integer,
+zero for the octave containing middle C.  The note is a number from 0
+to 7, with 0 corresponding to C and 7 corresponding to B.  The shift
+is zero for a natural, negative to add flats, or positive to add
+sharps.
 
-dit(mycode(\musicalpitch) { var(octave) var(note) var(shift) }) Specify
-note pitch.  The octave is specified by an integer, zero for the
-octave containing middle C.  The note is a number from 0 to 7, with 0
-corresponding to C and 7 corresponding to B.  The shift is zero for a
-natural, negative to add flats, or positive to add sharps.
+dit(code(\notes) var(music)) Enter note mode and process the
+specified music. 
 
-dit(mycode(\time) var(numerator)mycode(/)var(denominator)) Change the time
+dit(code(\time) var(numerator)code(/)var(denominator)) Change the time
 signature.  The default time signature  is 4/4.  
 
-dit(mycode(\midi)) Produce musical output.  See code(\tempo) for setting
-the tempo.
-
-dit(mycode(\mm)) Specify a width in millimeters. 
+dit(code(\midi) var(statementlist)) Appears in a score block to
+indicate that musical output should be produced.  See code(\tempo).
 
-dit(mycode(\multi))
+dit(code(\mm)) Specify a dimension in millimeters. 
 
-dit(mycode(\header) { var(key1) = var(val1); var(key2) = var(val2); ... })
+dit(code(\header) code({) var(key1) = var(val1); var(key2) = var(val2); ... code(}))
 Specifies information about the music.  A header should appear at the
 top of the file describing the file's contents.  If a file has
 multiple code(\score) blocks, then a header should appear in
@@ -730,31 +812,36 @@ each score block describing its contents.  Tools like code(ly2dvi) can
 use this information for generating titles.   Some possible key values
 are: title, opus, description, composer, enteredby, and copyright.
 
-dit(mycode(\notenames) { var(list) }) Define new note names.  
-The argument var(list) is a list of  definitions of  the form
+dit(code(\notenames) var(assignmentlist)) Define new note names.  
+The argument is a list of definitions of  the form
 var(name) = var(pitch),  where var(pitch) is specified with the
-code(\musicalpitch) command.  
+code(\musicalpitch) command.  Another possibility is code(\clear)
+which can appear instead of an assignment.  
 
-dit(mycode(\octave))
-dit(mycode(\nop(output)))
+dit(code(\octave)) Generate a parse error.  Never referred to in the
+grammar.
 
-dit(mycode(\partial) var(duration)) Specify that the first measure of
+dit(code(\output) var(string)code(;)) Allowed only in
+code(\paper) block.  The parameter var(string) specifies an alternate
+name for the TeX() output.  A file(.tex) extension will be added to
+var(string) to produce the output file name.
+
+dit(code(\partial) var(duration)) Specify that the first measure of
 the music lasts only for the specified duration.
 
-dit(mycode(\paper) mycode({) [ mycode(linewidth = )var(width)mycode(;) ] mycode(})) 
+dit(code(\paper) var(statmentlist)) 
 Appears in a score block to indicate that the music should be printed.
-The line width can be set to -1.  in order to prevent justification of
-small fragments of music, or the width can be specified explicitly
-using code(\cm), code(\in), code(\mm), or code(\pt) to specify the
-units.
 
-dit(mycode(\penalty))
+dit(code(\penalty) code(=) var(int)) Allowed only in musiclists.
+Discourages line breaks.
 
-dit(mycode(\property))
+dit(code(\property) var(contextname)code(.)var(propname) code(=) var(value))
+Sets the var(propname) property of the context var(contextname) to the
+specified var(value).  All three arguments are strings.
 
-dit(mycode(\pt)) Specify a width in points. 
+dit(code(\pt)) Specify a dimension in points. 
 
-dit(mycode(\relative) var(pitch) var(music)) Processes the specified
+dit(code(\relative) var(pitch) var(music)) Processes the specified
 var(music) in relative pitch
 mode.  In this mode, the octave of a pitch note is chosen so that the
 note is closest to the preceeding note.  
@@ -763,34 +850,358 @@ the starting pitch for this comparision.  In the case of chords, the
 first note of a chord is used as the base for the pitches in the next
 chord.  
 
-dit(mycode(\score)) Start a music definition.
+dit(code(\score) var(statementlist)) Define music.
+
+dit(code(\script) code({) var(name) var(instaff) var(withstem)
+var(location) var(invertible) var(priority) code(})) This command is
+used the initialization file(script.ly) to define the various symbols
+that can appear above and below notes.  The first argument is the name
+of the symbol.  The second argument var(instaff) is 1 if the symbol
+follows the notehead into the staff and 0 if the symbol stays above or
+below the staff lines.  The third parameter var(withstem) is 0 if the
+symbol's placement does not depend on the stem direction; it is 1 if
+the symbol should be at the stem end of the note and it is -1 if the
+symbol should be at the note head end of the note.  The argument
+var(location) is set to 1 for symbols that always appear above the
+staff; it is -1 for symbols that appear below the staff.  If
+var(invertible) is set to 1 then the symbol can be inverted; otherwise
+it cannot.  The last argument var(priority) sets a priority for the
+order of placement of several symbols on a single note.
+
+dit(code(\shape) code(=) var(indent1) var(width1) var(indent2)
+var(width2) ... code(;)) Allowed only within code(\paper).  Each pair
+of var(indent) and var(width) values is a dimension specifying how far
+to indent and how wide to make the line.  The indentation and width of
+successive lines are specified by the successive pairs of dimensions.
+The last pair of dimensions will define the characeristics of all
+lines beyond those explicitly specified.
+
+COMMENT(First pair of dimensions seems to be skipped.  At least it is
+in the example file denneboom.ly.)
+
+dit(code(\skip) var(duration)) Skips the amount of time specified by
+var(duration).  A gap will be left for the skipped time with no notes
+printed.  It works in Note Mode or Lyrics Mode (but generates a
+mysterious error in lyrics).
+
+dit(code(\spandynamic) code({) var(kind) var(toggle) code(})) Internal
+command for crescendo and decrescendo symbols.  The first parameter
+var(kind) is set to 1 for a crescendo and -1 for a decrescendo.  The
+second parameter is set to 1 to start the mark and 2 to stop it.
+Users should use the abbreviations which are defined in the
+initialization file file(dynamic.ly).
+
+dit(code(\symboltables)) Internal command.  Used to create symbol
+tables.  See initialization files file(paper*.ly), file(feta*.ly), and
+file(table*.ly).  
+
+dit(code(\table)) Internal command.  Used within code(\symboltables)
+to specify the tables.  See initialization  files. 
+
+dit(code(\tempo) var(duration) = var(perminute)) Used within
+code(\midi) to specify the tempo.  For example, 
+`code(\midi { \tempo 4 = 76})' requests output with 76 quarter notes
+per minute. 
+
+dit(code(\translator) var(statements) or code(\translator)
+var(context) = var(name)) The first variant appears only within
+code(\paper) and specifies a translator for
+converting music to notation.  The translator is specified with a
+single code(\type) statement and a series of code(\accepts), and
+code(\consists) statements.  The second variant appears in a
+musiclist.  It specifies that the current the contexts
+contained within the specified context should be shifted to the
+context with the specified name.  
+
+COMMENT( \translator seems like a strange name for the second
+operation, and is the overloading desireable? )
+
+dit(code(\type) var(contexttype) [code(=) var(contextname)]
+var(musiclist) or code(\type) var(translatortype)code(;)) The first
+variant is used only within musiclists to 
+create a instance of a context.  The new context
+can optionally be given a name.  The second variant appears within a
+code(\translator) block and specifies the type of translator being
+created.
+
+dit(code(\transpose) var(pitch) var(music)) Transposes the specified
+music.  Middle C is tranposed to var(pitch). 
+
+dit(code(\version) var(string)) Specify the version of Mudela that a
+file was written for.  The argument is the version number, for example
+code("1.0.1").  Note that the Mudela version is different from the
+LilyPond version.
 
-dit(mycode(\script))
+)
 
-dit(mycode(\shape))
 
-dit(mycode(\skip))
+sect(Notation Contexts)
 
-dit(mycode(\staff))
+Notation contexts provide information that appears in printed music
+but not in the music itself.  A new musical context is created using
+the code(\type) keyword: `code(\type) var(contexttype) [code(=)
+var(contextname)] var(musiclist)'.  The following context types are
+allowed.
 
-dit(mycode(\spandynamic))
-dit(mycode(\symboltables))
-dit(mycode(\table))
+description(
 
-dit(mycode(\tempo) var(duration) = var(perminute)) Used when creating
-MIDI output to specify the tempo.  For example, 
-`code(\midi { \temp0 4 = 76})' requests output with 76 quarter notes
-per minute.  
+dit(code(Lyrics)) Typesets lyrics.
 
-dit(mycode(\translator))
-dit(mycode(\type))
+dit(code(Voice)) Corresponds to a voice on a staff.
+  This context handles the conversion of noteheads,
+  dynamic signs, stems, beams, super- and subscripts, slurs, ties and rests.
 
-dit(mycode(\transpose) var(pitch) var(music)) Transposes the specified
-music.  Middle C is tranposed to var(pitch). 
+dit(code(Staff)) Handles clefs, bar lines, keys,
+  accidentals.  It can contain code(Voice) or code(Lyrics) contexts.
+
+dit(code(RhythmicStaff)) A context like code(Staff) but for printing
+rhythms.  Pitches are ignored; the notes are printed on one line.  
+It can contain code(Voice) or code(Lyrics) contexts. 
+
+dit(code(GrandStaff)) Contains code(Staff) or code(RhythmicStaff)
+contexts.  It adds a brace on the left side grouping the staffs
+together. The bar lines of the contained staffs are connected vertically.
+It can contain code(Staff), code(RhythmicStaff) or code(Lyrics) contexts.
+
+dit(code(StaffGroup)) Contains code(Staff) or code(RhythmicStaff)
+contexsts.  Adds a bracket on the left side, grouping the staffs
+together.  The bar lines of the contained staffs are connected vertically.
+It can contain code(Staff), code(RhythmicStaff) or code(Lyrics) contexts.  
 
-dit(mycode(\version) var(string)) Specify the version of Lilypond that
-a file was written for.  The argument is the version number,
-for example code("1.0.4").
+dit(code(ChoireStaff)) Identical to code(StaffGroup) except that the
+contained staffs are not connected vertically.  
 
+COMMENT(Odd spelling of "choir".)
+
+dit(code(Score)) This is the top level notation context.  It is entered with
+the code(\score) command rather than the code(\type) command.  No
+other context can contain a code(Score) context.  This context handles
+the administration of time signatures.  It also makes sure that items
+such as clefs, time signatures, and key-signatures are aligned across
+staffs.  It can contain code(Lyrics), code(Staff),
+code(RhythmicStaff), code(GrandStaff), code(StaffGroup), and
+code(ChoireStaff) contexts.
+
+)
+
+The various contexts have properties associated with them.  These
+properties can be changed using the code(\property) command:
+`code(\property) var(context)code(.)var(propname) code(=) var(value)'.
+Properties can also be set within the code(\translator) block
+corresponding to the appropriate context.  In this case, they are
+assigned by `var(propname) code(=) var(value)'.
+
+
+description(
+  dit(Lyrics properties)
+
+     description(
+        dit(code(textstyle)) Set the font for lyrics.  The available
+font choices are code(normaltext), code(roman), code(italic), code(bold)
+code(normaltext), code(large), code(Large), code(huge), and
+code(finger).  The code(finger) font can only display numbers.  
+Note also that you must be careful when using code(\property) in
+Lyrics mode.  Because of the way strings are parsed, either put quotes
+around the arguments to code(\property) or be sure to leave a space on
+both sides of the dot.  
+    dit(code(textalignment))
+Controls alignment of lyrics.
+Set to -1 to align the left end of the lyric with
+the note; set to 1 to align the right end of the lyric with the note.
+Set to 0 to align the center of the lyric with the note.  
+       )
+   dit(Voice properties)
+
+     description(  
+     dit(code(ydirection)) Determines the direction of
+stems, subscripts, beams, slurs, and ties.  Set to -1 to force them
+down, 1 to force them up, or 0 to let LilyPond decide.  This can be
+used to distinguish between voices on the same staff.  The
+code(\stemdown), code(\stemup), and code(\stemboth) identifiers set
+this property.  
+   dit(code(slurydirection)) Set to 0 for free choice of slur
+direction, set to 1 to force slurs up, set to 0 to force slurs down.
+The shorthands code(\slurup), code(\slurdown), and code(\slurboth) are
+available.  
+
+   dit(code(slurdash)) Set to 0 for normal slurs, 1 for dotted slurs,
+and a larger value for dashed slurs.  Identifiers code(\slurnormal)
+  and code(\slurdotted) are  predefined  to  set the first two settings.
+
+   dit(code(hshift)) Set to 1 to enable LilyPond to shift notes
+horizontally if they collide with other notes.  This is useful when
+typesetting many voices on one staff.  The identifier code(\shift) is
+defined to enable this.  
+
+   dit(code(textalignment)) Controls alignment of superscripted and
+subscripted text.  Set to -1 to align the left end of the text with
+the note; set to 1 to align the right end of the text with the note.
+Set to 0 to align the center of the text with the note.  
+  dit(code(textstyle)) Set the text style for superscripts and
+subscripts.  See above for list of text styles.
+
+  dit(code(fontsize)) Can be used to select smaller font sizes for music.  The
+  normal font size is 0, and the two smaller sizes are -1 and -2.
+
+  dit(code(pletvisibility)) Determines whether tuplets of notes are
+  labelled.   Setting to 0 shows nothing; setting to 1  shows a
+  number; setting to 2  shows a  number and  a bracket if there is  no
+  beam; setting  to  3 shows  a number, and if there is no beam it
+  adds a  bracket; setting  to 4 shows both a  number  and  a bracket
+  unconditionally.   
 )
 
+dit(Staff properties)
+
+ description(
+   dit(code(defaultclef)) Determines the default clef.  See code(\clef)
+   keyword.
+
+   dit(code(nolines)) If set to 1, then the staff has only one line instead
+ of the usual five lines.
+    
+   dit(code(barAlways)) If set to 1 a bar line is drawn after each note.
+
+   dit(code(defaultBarType)) Sets the default  type of bar  line.  See
+   code(\bar) keyword.   
+
+   dit(code(keyoctaviation)) If set to 1, then keys are the same in all
+   octaves.  If set to 0 then the key signature for different octaves
+   can be different and is specified independently:
+   code(\keysignature bes fis').  The default value
+   is 1.  Can be set to zero with code(\specialkey) or reset to 1 with
+   code(\normalkey).  
+
+   dit(code(instrument) and code(instr)) If code(Staff_margin_engraver) is
+   added to the Staff translator, then the code(instrument) property is used to
+   label the first line of the staff and the code(instr) property is used to
+   label subsequent lines.
+COMMENT(Check that this works)
+
+   dit(code(midi_instrument)) Sets  the  instrument for MIDI  output. 
+
+   dit(code(transposing)) Tranpose the MIDI  output. 
+COMMENT(What syntax?   "0 c" "2 c" ???)
+
+     dit(code(ydirection))   What does this do in staff ???
+)
+   
+  dit(GrandStaff  properties)
+
+    description( 
+      dit(code(maxVerticalAlign))
+      dit(code(minVerticalAlign))
+      )
+
+   dit(Score properties)
+
+   description(
+    dit(code(part))  Set  to a part  number  for  music with  several  parts.   
+      Each part has its own code(\score) block  with a different part setting.  
+   dit(code(SkipBars)) ???
+
+   dit(code(beamquantisation)) Set to 0 for no  quantization.  Set  to 1 to
+   quantize  position  and  slope.  Set to 2 to  avoid  wedges.   These three
+   settings  are available via code(\beamposfree),  code(\beamposnormal),  and
+   code(\beampostraditional).    
+
+   dit(code(beamslopedamping)) Set to 0 for undamped beams.  Set to 1 for
+   damped beams.  Set to 100000 for beams with zero slope.  The identifiers
+   code(\beamslopeproportional), code(\beamslopedamped), and
+   code(\beamslopezero) each set the corresponding value.
+  )
+       
+)
+
+
+COMMENT(
+
+Mystery properties:
+
+bar-column-engraver.cc:  "barColumnPriority"
+bar-number-engraver.cc:  "barNumberBreakPriority"
+bar-number-engraver.cc:  "barScriptPadding"
+dynamic-engraver.cc:     "dynamicdir"
+mark-engraver.cc:        "markScriptPadding"
+mark-engraver.cc:        "markBreakPriority"
+span-bar-engraver.cc:    "singleStaffBracket"
+staff-margin-engraver.cc:"marginBreakPriority"
+stem-engraver.cc:        "abbrev"
+)
+
+sec(Pre-defined Identifiers)
+
+Various identifiers are defined in the initialization files to
+provide shorthands for some settings.  
+
+description(
+dit(code(\cr)) Start a crescendo.
+dit(code(\decr)) Start a decrescendo.
+dit(code(\f)) Print forte symbol on the preceeding note.
+dit(code(\ff)) Print fortissimo symbol on the preceeding note. 
+dit(code(\fff)) Print fortississimo symbol on preceeding note. 
+dit(code(\fp)) Print fortepiano symbol on preceeding note. 
+dit(code(\mf)) Print mezzoforte symbol on preceeding note. 
+dit(code(\mp)) Print mezzopiano symbol on preceeding note. 
+dit(code(\normalkey)) Select normal key signatures where each octave
+has the same key signature.  This sets the Staff.keyoctaviation property.
+dit(code(\p)) Print a piano symbol on preceeding note. 
+dit(code(\pp)) Print pianissimo symbol on preceeding note. 
+dit(code(\ppp)) Print pianississimo symbol on preceeding note. 
+dit(code(\rc)) Terminate a crescendo. 
+dit(code(\rced)) Terminate a decrescendo
+dit(code(\sf)) Print a ?? symbol on preceeding note. 
+dit(code(\sfz)) Print a ?? symbol on preceeding note. 
+dit(code(\shift)) Enable note heads that collide with other note heads
+to be shifted horiztonally.  This sets the Voice.hshift property.
+dit(code(\slurboth)) Allow slurs to be above or below notes.  This
+sets the Voice.slurydirection property. 
+dit(code(\slurdown)) Force slurs to be below notes. This sets the
+Voice.slurydirection property. 
+dit(code(\slurup)) Force slurs to be above notes.  This sets the
+Voice.slurydirection property.  
+dit(code(\specialkey)) Allow keys signatures do differ in different
+octaves.  This sets the Staff.keyoctaviation property.  
+dit(code(\stemboth)) Allow stems, beams, and slurs to point either
+direction.  This sets the Voice.ydirection property. 
+dit(code(\stemdown)) Force stems, beams, and slurs to point down.
+This sets the Voice.ydirection property. 
+dit(code(\stemup)) Force stems, beams and slurs to point up.  This
+sets the Voice.ydirectoin property. 
+)
+
+
+sect(The code(\paper) Block)
+
+The code(\paper) block may begin with an optional identifier reference.  No
+identifier references are allowed anywhere else in the block.  
+The keywords code(\shape), code(\output) and code(\translator) may
+appear in this block.  In addition, variable assignments may appear.  
+The variables control layout details and are set to reasonable
+defaults that depend on the font size in use. 
+
+subsect(Paper variables)
+
+description(
+  dit(var(integer)) If an integer appears on the left side of an
+assignment then a code(\symboltables) keyword must appear on the right
+side.  This defines a font.  
+
+dit(code(arithmetic_basicspace))
+dit(code(arithmetic_multiplier))
+dit(code(basicspace))
+dit(code(beam_thickness)) Specify the thickness of beams
+dit(code(geometric))
+dit(code(indent)) Sets the indentation of the first line of music.  
+dit(code(interbeam))
+dit(code(interbeam4))
+dit(code(interline))
+dit(code(internote))
+dit(code(linewidth))  Sets the width of the lines.  If it is set to
+-1, then a single unjustified line is produced.  
+dit(code(notewidth))
+dit(code(rulethickness)) Determines thickness of staff lines and bars. 
+dit(code(staffheight))
+dit(code(unitspace))
+)
index c62032bee9c414fa1b2fbac2c7e0775012f40af3..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,488 +0,0 @@
-
-
-
-
-
-
-
-
-
-      INSTALL - compiling and installing GNU LilyPond
-
-                         HWN & JCN
-
-
-Contents
-
-     1: ABSTRACT
-2: PREREQUISITES
-3: RUNNING
-4: RECOMMENDED
-5: WEBSITE
-6: CONFIGURING and COMPILING
-7: CONFIGURING FOR MULTIPLE PLATFORMS
-8: INSTALLING
-9: REDHAT LINUX
-10: DEBIAN GNU/LINUX
-11: WINDOWS NT/95
-12: AUTHORS
-
-
-1: ABSTRACT
-
-
-You do something which looks remotely like
-
-
-
-
-
-          configure    # Check out the buildscripts/set-lily.sh script
-          make
-          make install
-
-
-
-
-
-The   detailed   instructions   follow   here.   The  build-
-scripts/set-lily.sh script sets some  environment  variables
-and symlinks, which comes in handly when you have to compile
-LilyPond very often.  It is aimed  at  people  who  run  (or
-debug) LilyPond without installing.
-
-
-2: PREREQUISITES
-
-
-For compilation you need:
-
-
-o    A GNU system: GNU LilyPond is known to run on these GNU
-     systems: Linux (PPC, intel),  FreeBSD,  AIX,  NeXTStep,
-     IRIX, Digital Unix and Solaris.
-
-
-o    Lots  of  disk space: LilyPond takes between 50 and 100
-     mb to compile if you use debugging information.  If you
-     are  short  on disk-space run configure with --disable-
-     debugging.
-
-     Although we recommend to use Unix, LilyPond is known to
-     run on Windows NT/95/98 as well.  See Section 11.
-
-
-o    GNU  C++  version  2.7  or newer (2.8 and egcs are also
-     fine).
-
-o    Python  1.5  (Strictly  speaking,  you  shouldn't  need
-     Python for compiling and installing, but you'll need it
-     to regenerate the font tables, e.g.).
-
-
-3: RUNNING
-
-
-GNU LilyPond does use a lot of resources. For operation  you
-need the following:
-
-
-o    TeX
-
-o    A   PostScript   printer   and/or   viewer   (such   as
-     Ghostscript) is strongly recommended.  Xdvi  will  show
-     all  embedded  PostScript  too  if you have Ghostscript
-     installed.
-
-
-4: RECOMMENDED
-
-
-Although not strictly necessary, these  are  recommended  to
-have.
-
-
-o    GNU make.  Check out ftp://ftp.gnu.org or any mirror of
-     this site.
-
-
-o    Flex   (version   2.5.4   or   newer).     Check    out
-     ftp://ftp.gnu.org or any mirror of this site.
-
-o    Bison    (version    1.25   or   newer).    Check   out
-     ftp://ftp.gnu.org or any mirror of this site.
-
-
-o    Python   (version   1.5   or   newer).     Check    out
-     ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
-
-
-o    Yodl.   All  documentation  will  be in Yodl. (1.30.17)
-     ftp://pcnov095.win.tue.nl/pub/yodl
-     http://www.cs.uu.nl/~hanwen/yodl
-
-o    Texinfo. (version 3.12 or newer)
-
-
-o    GNU  find  Check out ftp://ftp.gnu.org or any mirror of
-     this site.
-
-
-o    The geometry package for LaTeX is needed to use ly2dvi.
-     Available           at          ftp://ftp.ctan.org/tex-
-     archive/macros/latex/contrib/supported/geometry  or  at
-     mirror site ftp://ftp.dante.de
-
-
-o    A fast computer (a full page of music typically takes 1
-     minute on my 486/133, using the --enable-checking  com-
-     pile. It's lot slower than most MusiXTeX preprocessors)
-
-
-5: WEBSITE
-
-
-If you want to auto-generate  Lily's  website,  you'll  need
-some additional conversion tools.
-
-
-o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
-     Hat Linux users: it  is  included  within  the  package
-     libgr-progs).
-
-o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
-     Which, in turn depends on man2html for proper installa-
-     tion.    man2html   can   be  had  from  http://askdon-
-     ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
-     ing/WWW/Man2html-1.05.
-
-     TeTeX users should not forget to rerun texhash.
-
-
-6: CONFIGURING and COMPILING
-
-
-to install GNU LilyPond, simply type:
-
-
-
-
-
-          configure  --enable-tex-dir=XXXX --enable-mf-dir=YYYY
-          make
-          make install
-
-
-
-
-
-This will install a number of files, something close to:
-
-
-          /usr/local/man/man1/mi2mu.1
-          /usr/local/man/man1/convert-mudela.1
-          /usr/local/man/man1/mudela-book.1
-          /usr/local/man/man1/lilypond.1
-          /usr/local/bin/lilypond
-          /usr/local/bin/mi2mu
-          /usr/local/share/lilypond/*
-          /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
-          /usr/lib/texmf/texmf/tex/lilypond/*
-
-
-
-
-
-You should specify directories that are in 's and MetaFont's
-include  path  with  the  options   (--enable-tex-dir)   and
---enable-mf-dir.   If you don't specify any directories, the
-include directory is detected dynamically, which is  unreli-
-able.   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:
-
-
-
-
-
-
-          export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
-          configure
-
-
-
-
-
-CPPFLAGS are the preprocessor flags.
-
-The configure script is Cygnus configure, and it will accept
---help.  If you are not root, you will probably have to make
-it with a different --prefix option.  Our favourite location
-is
-
-
-
-
-
-
-          configure --prefix=$HOME/usr
-
-
-In  this  case, you will have to set up MFINPUTS, and TEXIN-
-PUTS accordingly.
-
-If you want to install GNU LilyPond in /usr/local, and  your
-TeX has no default hooks for local stuff, you can do:
-
-
-
-
-
-
-          configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
-
-
-
-
-
-Since  GNU  LilyPond  currently  is beta, you are advised to
-also use
-
-
-
-
-
-
-          --enable-debugging
-          --enable-checking
-
-
-
-
-
-Other options include:
-
-
---enable-shared
-     Make a shared library (gnu/linux, solaris  (?)  only  )
-     (TEMPORARILY OUT OF ORDER)
-
-
---enable-printing
-     Enable debugging print routines (lilypond -D option)
-
---enable-optimise
-     Set maximum optimisation: compile with -O2
-
---enable-profiling
-     Compile with support for profiling.
-
---enable-tex-prefix
-     Set the directory where TeX and Metafont live.
-
---enable-tex-dir
-     Set  then  directory  TeX  input  is  in (detected as a
-
-
-     subdir of tex-prefix).  This should be a directory that
-     is  reachable both for tex and latex.  On my system the
-     best            choice             would             be
-     /usr/lib/texmf/texmf/tex/generic//.
-
---enable-mf-dir
-     Set  the directory metafont input is in (idem).   On my
-     system     the      best      choice      would      be
-     /usr/lib/texmf/texmf/fonts/source/public/.
-
---enable-config
-     Output  to  a different configuration file.  Needed for
-     multi-platform builds
-
-All options are documented in the configure help The  option
---enable-optimise is recommended for Real Life usage.
-
-If you do
-
-
-
-
-
-
-          make all
-
-
-
-
-
-everything  will be compiled, but nothing will be installed.
-The resulting binaries can be found  in  the  subdirectories
-out/ (which contain all files generated during compilation).
-
-
-7: CONFIGURING FOR MULTIPLE PLATFORMS
-
-
-If you want to compile LilyPond with different configuration
-settings,  then,  you  can  use  the --enable-config option.
-Example: suppose I want to build with and   without  profil-
-ing.  Then I'd use the following for the normal build,
-
-
-
-
-
-
-           configure --prefix=~ --disable-optimise --enable-checking
-           make
-           make install
-
-
-and for the profiling version, I specify a different config-
-uration.
-
-
-
-
-
-
-           configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
-           make config=optprof
-           make config=optprof install
-
-
-
-
-
-
-8: INSTALLING
-
-
-If you have done a successful make, then a simple
-
-
-
-
-
-
-          make install
-
-
-
-
-
-should do the trick.
-
-If you are doing an upgrade, please remember to remove obso-
-lete  .pk  and  .tfm  files of the fonts.  A script has been
-provided to do the work for you, see bin/clean-fonts.sh.
-
-
-CAVEATS
-
-
-
-o    The -O2 option to gcc triggers a gcc bug on  DEC  Alpha
-     in  dstream.cc.  You should turn off this flag for this
-     file.
-
-
-EXAMPLE
-
-
-This is what I type in my xterm:
-
-
-          lilypond someinput.ly
-          tex someinput.tex
-          xdvi someinput&
-
-
-
-
-
-This is what the output looks like over here:
-
-
-
-
-
-
-          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 someinput.tex ...
-          Creating MIDI elements ...MIDI output to someinput.midi ...
-
-
-          hw:~/musix/spacer$ xdvi someinput&
-          [1] 855
-
-
-
-
-
-Check out the input files, some of them have comments Please
-refer to the man page for more information.
-
-
-9: REDHAT LINUX
-
-
-RedHat  Linux  users  can  compile an RPM. A spec file is in
-make/out/lilypond.spec.   You  should  install  a  gif  file
-called  lelie_icon.gif along with the sources.  You can gen-
-erate this gif file by typing
-
-
-
-
-
-
-          make gifs
-
-
-in the directory Documentation.
-
-You can make the rpm by issuing
-
-
-
-
-
-
-          make rpm
-
-
-
-
-
-
-10: DEBIAN GNU/LINUX
-
-
-A Debian package is  also  available;  contact  Anthony  Fok
-foka@debian.org <foka@debian.org>.  The build scripts are in
-the subdirectory debian/
-
-
-11: WINDOWS NT/95
-
-
-Separate instructions on building for W32 are avaible in the
-file README-W32.yo.
-
-
-12: AUTHORS
-
-
-Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
-Jan Nieuwenhuizen <janneke@gnu.org>
-
-Have fun!
diff --git a/NEWS b/NEWS
index 6908f5c8853a215f1d500ce731ba44b15f1477ac..3991eaa09e8c1165cd1e0f62be75652d6ee424a9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,35 @@
+
+pl 10.uu2
+       - plet-spanner fix.
+       - large doc patch (thanks Adrian)
+
+pl 10.jbr1
+        - aclocal.m4, stepmake/aclocal.m4: Choose specific python
+        - stepmake/bin/release.py: Use the same python calling process
+        - make/lilypond-vars.make: PATH should not use PATHSEP.  It is fine 
+          to hard code it to `:' on both Windows NT and UNIX.
+        - stepmake/bin/package-zip32.sh: Perform configure with a specific
+          python, ie cygwin32 python on Windows NT
+
+pl 10.uu1
+       - junked \octave
+       - marginBreakPriority, direction==LEFT
+       - mf-to-table NT fix (JBR)
+       - createKeyOnClefChange property
+
+
 pl 10.jcn1
-       - mf-to-xpms for Harmonia
+       - mf-to-xpms for Harmonia
+  
+pl 9.jbr1
+        - scripts/convert-mudela.py: We must close infile and outfile before
+          a rename occurs.  NT Windows locks open files.
+          stepmake/bin/package-zip32.sh: renamed all python bins to:
+          <filename>.py in NT Windows distribution.
+
 
-(png utils broken on i386; fine on ppc)
-(need to fix pictures. I know)
+*********
+pl 10
 
 pl 9.jcn1
        - started gnuisation of website
@@ -17,6 +44,7 @@ pl 9.hwn1
        - notename table now can be declared as well.
        - junked \clear
 
+*********
 pl 9
        
 pl 8.uu1
index 2f32fb94874884d77238dea3b0f74bbaeb0b9d5c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,224 +0,0 @@
-
-
-
-
-
-
-NAME
-
-     PATCHES - track and distribute your code changes
-
-DESCRIPTION
-
-     This  page  documents how to distribute your changes to
-GNU lilypond (or in fact any other StepMake package).
-
-ABSTRACT
-
-     Distributing a change normally goes like this:
-
-o    make your fix/add your code
-
-o    Add changes to NEWS, and  add  yourself  to  Documenta-
-     tion/AUTHORS.yo
-
-o    generate a patch,
-
-o    e-mail  your  patch  to  one  of the mailing lists gnu-
-     music-discuss@gnu.org or bug-gnu-music@gnu.org
-
-GENERATING A PATCH
-
-     In VERSION, set MY_PATCH_LEVEL:
-
-
-
-
-
-         VERSION:
-          ...
-          MY_PATCH_LEVEL=jcn1
-
-
-
-
-
-In NEWS, enter a summary of changes:
-
-
-
-
-
-
-         NEWS:
-          pl 0.1.73.jcn1
-               - added PATCHES.yo
-
-
-Then, from the top of Lily's source tree, type
-
-
-
-
-
-
-         make diff
-
-
-
-
-
-which leaves your patch as ./lilypond-0.1.73.jcn1.diff.
-
-If you didn't configure Lily using --srcdir, you can do:
-
-
-
-
-
-
-         make release
-
-         tar-ball: ../patches/lilypond-0.1.73.jcn1.gz
-         patch: ../patches/lilypond-0.1.73.jcn1.gz
-         updeet: ../test/updeet
-
-
-
-
-
-
-PREREQUISITES
-
-
-For creating a patch you need
-
-
-o    All items mentioned in INSTALL.  You're  not  going  to
-     send a patch that you haven't even built, right?
-
-o    GNU diff
-
-o    Python  (version 1.5 or newer).  You can of course make
-     a patch by hand, which would go something like:
-
-
-              make distclean
-              cd ..
-              diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.jcn1
-
-
-
-
-
-     but there  are  handy  python  scripts  available.   If
-     you're  doing development, you'll need Python for other
-     LilyPond scripts anyway.
-
-
-o    The Lily directory structure, which looks like:
-
-
-
-
-
-
-              doos/                        # gnu/windows32 build and binary releases
-              harmonia -> harmonia-x.y.z
-              harmonia-x.y.z/
-              lilypond -> lilypond-x.y.z   # symlink to development directory
-              lilypond-x.y.z/              # current development
-              patches/                 # patches between different releases
-              RedHat/BUILD                 # RedHat build and binary releases
-              RedHat/RPMS
-              RedHat/SPECS
-              releases/                    # .tar.gz releases
-              test/                        # tarballs and diffs from current version
-              yodl -> yodl-1.30.17
-              yodl-1.30.17
-
-
-
-
-     with prefix $HOME/usr/src and (for building rpms  only)
-     in $HOME/.rpmrc:
-
-
-
-
-
-              topdir: /home/fred/usr/src/RedHat
-
-
-APPLYING PATCHES
-
-
-If  you're  following  LilyPond  development  regularly, you
-probably want to download just the patch for each subsequent
-release.   After  downloading  the  patch  (into the patches
-directory, of course), simply apply it:
-
-
-
-
-
-
-         gzip -dc ../patches/lilypond-0.1.74.diff.gz | patch -p1 -E
-
-
-
-
-
-and don't forget to make automatically generated files:
-
-
-
-
-
-
-         autoconf footnote(patches don't include automatically generated files,
-         i.e. file(configure) and files generated by file(configure).)
-
-         configure
-
-
-
-
-
-
-SYNCHRONISE
-
-
-If you're not very quick with sending your patch, there's  a
-good chance that an new release of LilyPond comes available.
-In such a case (and sometimes for other unkown reasons  :-),
-the  maintainer  will  probably  ask you to make a new patch
-against the latest release.  Your best bet  is  to  download
-the  latest  release,  and apply your patch against this new
-source tree:
-
-
-         cd lilypond-0.1.74
-         gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E
-         autoconf
-         configure
-
-
-
-
-
-Then, make a patch as shown above.
-
-
-SEE ALSO
-
-
-stepmake/INSTALL.txt
-
-
-MAINTAINER
-
-
-Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
-Just keep on sending those patches!
index f2f69ed235f66b6b9e254c84686c59d1bdd151e4..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-This  is the toplevel README to LilyPond LilyPond is the GNU
-Project music typesetter.  This program can print  beautiful
-sheet  music from a music definition file.  It can also play
-mechanical performances to a MIDI  file.   Features  include
-multiple  staffs,  meters,  clefs,  keys,  lyrics, versatile
-input language, cadenzas, beams, slurs, triplets, formatting
-scores, part extraction.  It includes a nice font of musical
-symbols.
-
-1: VERSIONING
-
-     if you have downloaded a *.pre* version, then  this  is
-version  is  *not*  meant  for producing nice output (but to
-keep your patchsets up to date).  It might not even compile.
-The  same  goes  for a version with a 4th version number, eg
-1.2.3.mypatch2 It will be safer if  you  download  1.2.3  or
-wait for 1.2.4.
-
-2: REQUIREMENTS
-
-     For  the  compilation  and running of LilyPond you need
-some additional packages.  Please refer to the  installation
-instructions.   NOTE:  If you downloaded a binary (.rpm or a
-W95/NT .zip file), then you don't have to compile  LilyPond.
-
-3: INSTALLATION
-
-     For  your  convenience, a formatted copy of the INSTALL
-instructions are in the toplevel directory,  as  INSTALL.txt
-The  process is fairly straightforward, but chances are that
-you have to specify directories for  to configure:  this  is
-done with the options --enable-tex-dir and --enable-mf-dir
-
-4: DOCUMENTATION
-
-     The  real documentation is the directory Documentation/
-To generate the pretty-printed docs, you have to run config-
-ure  first,  and  then do this: make doc You can also simply
-read the .yo sources.  They are ASCII  text.   The  complete
-documentation is accessible in formatted form at the website
-http://www.cs.uu.nl/people/hanwen/lilypond/index.html
-
-5: COMMENTS
-
-     LilyPond is a long way from finished and polished.   We
-do appreciate criticism, comments, bugreports, patches, etc.
-Please send your e-mail to one of the MAILING LISTS and  not
-to us personally.  See Documentation/links.yo for more info.
-
-6: DOZE
-
-     If you have received this file as part  of  a  DOS/Win-
-dow32 distribution (lilypond-*.zip), then it is advisable to
-also download the source package,  since  it  might  contain
-
-
-more  documentation  ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/ If
-you decide to build LilyPond from source,  please  read  the
-INSTALL.txt  document  first,  especially  the Windows NT/95
-section.
-
-7: CAVEATS
-
-     * Please read the file BUGS for some ugly  bugs.   This
-especially  applies  Linux-Intel  unix users.  * If you have
-installed a previous version, be sure  to  remove  old  font
-files, eg
-
-
-
-
-     rm `find /var/lib/texmf/fonts -name 'feta*'`
-
-
-
-
-a script to do this for you is in bin/cleanfonts.sh
-
-
-8: CDROM DISTRIBUTIONS
-
-
-If  you  have received LilyPond on a cdrom, chances are that
-development has moved a some patchlevels up.   If  possible,
-please check the latest version of LilyPond before reporting
-bugs.
diff --git a/TODO b/TODO
index ea03cc73a294df235a38128d539e912a905e9b77..b25fa11e4ba0f110cf9acc0d38f5f2e84dd52939 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,6 +7,34 @@ 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/urg
 
+       * uniformise property names.
+
+       ydirection <-> yDirection
+
+       * 
+   \score{
+      \notes { \property Staff.defaultclef = bass    a b c d }
+      \paper{
+
+
+   Staff = \translator {
+          \type "Line_group_engraver_group";
+          \consists "Bar_engraver";
+          \consists "Clef_engraver";
+          \consists "Key_engraver";
+          \consists "Local_key_engraver";
+          \consists "Time_signature_engraver";
+          \consists "Staff_sym_engraver";
+          \consists "Collision_engraver";
+          \consists "Rest_collision_engraver";
+          \consists "Separating_line_group_engraver";
+          \accepts "Voice";
+       }
+   }
+}
+
+       * typo checks on property names?
+
        * egcs-1.1 support
 
        * make engraver hacking robust.
@@ -34,6 +62,8 @@ grep for TODO and ugh/ugr/urg
 
        * \shape 1st dim skipped? 
 
+       * Choire -> Choir
+
        * Language:
        - general plet mechanism.
 
diff --git a/VERSION b/VERSION
index a49a56815dfc94a4eed6d748a7edb590ea515cf4..a4af69fcb5d6fa15de66039864667710df8dc27a 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=0
-PATCH_LEVEL=10
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=11
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 9aae46c03267a191383438dfc08167654ed3afa5..9400efd8e00172970fa2f0c4c279c4090e66f6d4 100644 (file)
@@ -229,7 +229,7 @@ dnl    fi
     AC_CHECK_PROGS(TAR, tar, error)
     AC_CHECK_PROGS(BASH, bash, /bin/sh)
 
-    AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python)
+    AC_PATH_PROG(PYTHON, python, -echo no python)
     AC_SUBST(PYTHON)
 
 
index 0a8fbd265a4742489f997bdb4b7314a08344d9f7..305e0192d6cc930681e9f449ed18d5453166e405 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,59 @@
 #! /bin/sh
 
+ac_help="$ac_help
+  --with-gtkmm-prefix=PREFIX
+                          Prefix where GTK-- is installed (optional)"
+# Check whether --with-gtkmm-prefix or --without-gtkmm-prefix was given.
+if test "${with_gtkmm_prefix+set}" = set; then
+  withval="$with_gtkmm_prefix"
+  gtkmm_config_prefix="$withval"
+else
+  gtkmm_config_prefix=""
+fi
+
+ac_help="$ac_help
+  --with-gtkmm-exec-prefix=PREFIX
+                          Exec prefix where GTK-- is installed (optional)"
+# Check whether --with-gtkmm-exec-prefix or --without-gtkmm-exec-prefix was given.
+if test "${with_gtkmm_exec_prefix+set}" = set; then
+  withval="$with_gtkmm_exec_prefix"
+  gtkmm_config_exec_prefix="$withval"
+else
+  gtkmm_config_exec_prefix=""
+fi
+
+ac_help="$ac_help
+  --disable-gtkmmtest     Do not try to compile and run a test GTK-- program"
+# Check whether --enable-gtkmmtest or --disable-gtkmmtest was given.
+if test "${enable_gtkmmtest+set}" = set; then
+  enableval="$enable_gtkmmtest"
+  :
+else
+  enable_gtkmmtest=yes
+fi
+
+
+  if test x$gtkmm_config_exec_prefix != x ; then
+     gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix"
+     if test x${GTKMM_CONFIG+set} != xset ; then
+        GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config
+     fi
+  fi
+  if test x$gtkmm_config_prefix != x ; then
+     gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix"
+     if test x${GTKMM_CONFIG+set} != xset ; then
+        GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config
+     fi
+  fi
+
+
+
+
+# Configure paths for GTK--DRAW
+# Derek Quinn Wyatt   98-08-21  (adapted from Jan Nieuwenhuizen's code)
+
+
+
 # Guess values for system-dependent variables and create Makefiles.
 # Generated automatically using autoconf version 2.12 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
@@ -655,7 +709,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:659: checking host system type" >&5
+echo "configure:713: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -680,7 +734,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:684: checking for $ac_word" >&5
+echo "configure:738: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -714,7 +768,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:718: checking for $ac_word" >&5
+echo "configure:772: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -751,7 +805,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:755: checking for $ac_word" >&5
+echo "configure:809: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -785,7 +839,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:789: checking for $ac_word" >&5
+echo "configure:843: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -818,7 +872,7 @@ test -n "$BASH" || BASH="/bin/sh"
     # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:822: checking for $ac_word" >&5
+echo "configure:876: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1034,7 +1088,7 @@ EOF
     # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1038: checking for $ac_word" >&5
+echo "configure:1092: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1063,7 +1117,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1067: checking for $ac_word" >&5
+echo "configure:1121: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1111,7 +1165,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1115: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1169: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1121,11 +1175,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1125 "configure"
+#line 1179 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1145,12 +1199,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1149: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1203: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1154: checking whether we are using GNU C" >&5
+echo "configure:1208: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1159,7 +1213,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1163: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1174,7 +1228,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1178: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1232: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1231,7 +1285,7 @@ EOF
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1235: checking how to run the C++ preprocessor" >&5
+echo "configure:1289: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1244,12 +1298,12 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1248 "configure"
+#line 1302 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1280,7 +1334,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1284: checking for $ac_word" >&5
+echo "configure:1338: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1311,7 +1365,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1315: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1369: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1321,11 +1375,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1325 "configure"
+#line 1379 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1345,12 +1399,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1349: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1403: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1354: checking whether we are using GNU C++" >&5
+echo "configure:1408: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1359,7 +1413,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1363: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1417: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1374,7 +1428,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1378: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1432: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1404,17 +1458,17 @@ fi
 
     ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1408: checking for FlexLexer.h" >&5
+echo "configure:1462: checking for FlexLexer.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1413 "configure"
+#line 1467 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1418: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1464,12 +1518,12 @@ fi
 
 
     echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6
-echo "configure:1468: checking whether explicit instantiation is needed" >&5
+echo "configure:1522: checking whether explicit instantiation is needed" >&5
 if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1473 "configure"
+#line 1527 "configure"
 #include "confdefs.h"
 
     template <class T> struct foo { static int baz; };
@@ -1479,7 +1533,7 @@ int main() {
  return foo<int>::baz; 
 ; return 0; }
 EOF
-if { (eval echo configure:1483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   lily_cv_need_explicit_instantiation=no
 else
@@ -1506,7 +1560,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1510: checking for $ac_word" >&5
+echo "configure:1564: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1548,7 +1602,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1552: checking for $ac_word" >&5
+echo "configure:1606: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1582,7 +1636,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1586: checking for $ac_word" >&5
+echo "configure:1640: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1649,7 +1703,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1653: checking for $ac_word" >&5
+echo "configure:1707: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1681,7 +1735,7 @@ test -n "$AR" || AR="error"
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1685: checking for $ac_word" >&5
+echo "configure:1739: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1736,7 +1790,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:1740: checking language" >&5    
+echo "configure:1794: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -1772,7 +1826,7 @@ EOF
 
 
     echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:1776: checking for gettext in -lintl" >&5
+echo "configure:1830: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1780,7 +1834,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1784 "configure"
+#line 1838 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -1794,7 +1848,7 @@ int main() {
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1824,12 +1878,12 @@ fi
     for ac_func in gettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1828: checking for $ac_func" >&5
+echo "configure:1882: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1833 "configure"
+#line 1887 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1855,7 +1909,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1887,7 +1941,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1891: checking for $ac_word" >&5
+echo "configure:1945: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1917,7 +1971,7 @@ done
 test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh "
 
     echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6
-echo "configure:1921: checking whether msgfmt accepts -o" >&5
+echo "configure:1975: checking whether msgfmt accepts -o" >&5
     msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`"
     if test "$msgfmt_output" = ""; then
        echo "$ac_t""yes" 1>&6
@@ -1970,7 +2024,7 @@ fi
     
 
     echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
-echo "configure:1974: checking TeX/MF root dir directory" >&5    
+echo "configure:2028: checking TeX/MF root dir directory" >&5    
 
     find_root_prefix="$prefix"
     
@@ -2011,7 +2065,7 @@ echo "configure:1974: checking TeX/MF root dir directory" >&5
     
     
     echo $ac_n "checking MF input directory""... $ac_c" 1>&6
-echo "configure:2015: checking MF input directory" >&5    
+echo "configure:2069: checking MF input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')`
     
@@ -2036,7 +2090,7 @@ echo "configure:2015: checking MF input directory" >&5
     
     
     echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
-echo "configure:2040: checking TeX input directory" >&5    
+echo "configure:2094: checking TeX input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
     
@@ -2062,12 +2116,46 @@ echo "configure:2040: checking TeX input directory" >&5
 
 
     if test "x$YODL" = "x"; then 
+       for ac_prog in striproff
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2125: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$STRIPROFF"; then
+  ac_cv_prog_STRIPROFF="$STRIPROFF" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_STRIPROFF="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+STRIPROFF="$ac_cv_prog_STRIPROFF"
+if test -n "$STRIPROFF"; then
+  echo "$ac_t""$STRIPROFF" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$STRIPROFF" && break
+done
+test -n "$STRIPROFF" || STRIPROFF="-echo no striproff"
+
        for ac_prog in yodl
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2071: checking for $ac_word" >&5
+echo "configure:2159: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2101,7 +2189,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2105: checking for $ac_word" >&5
+echo "configure:2193: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2135,7 +2223,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2139: checking for $ac_word" >&5
+echo "configure:2227: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2168,7 +2256,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2172: checking for $ac_word" >&5
+echo "configure:2260: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2202,7 +2290,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2206: checking for $ac_word" >&5
+echo "configure:2294: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2236,7 +2324,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2240: checking for $ac_word" >&5
+echo "configure:2328: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2270,7 +2358,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2274: checking for $ac_word" >&5
+echo "configure:2362: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2307,7 +2395,8 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
        
        
        
-       export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
+       
+       export STRIPROFF YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
     fi
     if test "x$YODL" = "-echo no yodl"; then
        
@@ -2329,7 +2418,7 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2333: checking for 8-bit clean memcmp" >&5
+echo "configure:2422: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2337,7 +2426,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2341 "configure"
+#line 2430 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -2350,7 +2439,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -2368,12 +2457,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2372: checking for vprintf" >&5
+echo "configure:2461: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2377 "configure"
+#line 2466 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -2399,7 +2488,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -2423,12 +2512,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2427: checking for _doprnt" >&5
+echo "configure:2516: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2432 "configure"
+#line 2521 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -2454,7 +2543,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -2481,12 +2570,12 @@ fi
 for ac_func in memmem snprintf vsnprintf gettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2485: checking for $ac_func" >&5
+echo "configure:2574: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2490 "configure"
+#line 2579 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2512,7 +2601,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2551,7 +2640,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2555: checking for $ac_word" >&5
+echo "configure:2644: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2768,6 +2857,7 @@ s%@MSGFMT@%$MSGFMT%g
 s%@TEXPREFIX@%$TEXPREFIX%g
 s%@TEXDIR@%$TEXDIR%g
 s%@MFDIR@%$MFDIR%g
+s%@STRIPROFF@%$STRIPROFF%g
 s%@YODL@%$YODL%g
 s%@YODL2HTML@%$YODL2HTML%g
 s%@YODL2LATEX@%$YODL2LATEX%g
index 010e47dae06b23818c93a9cb1849ad4939860142..f8b85f92fed034b5a7e70a31db19af36821b9331 100644 (file)
@@ -44,6 +44,7 @@ Staff = \translator {
        to the left of a staff.
 %}
 %{
+       marginBreakPriority = "-5";
        \consists "Staff_margin_engraver";
 %}
        \consists "Separating_line_group_engraver";
index e5f5a613be6c15eea34cc78779f50487944d0e60..e20c03caa467ba3bff5dd3b8f24512246761c64b 100644 (file)
@@ -12,7 +12,6 @@ paper_eleven = \paper {
        quartwidth = 3.63\pt;
        wholewidth = 5.45\pt;
 
-       basicspace = 3.\pt;
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 4.8\pt;
        
index 104b3829faec618bceee1e98cbef64d15704074c..0d5c383d8944424b2cc1c99858afa942e4d961ee 100644 (file)
@@ -12,7 +12,7 @@ paper_thirteen = \paper {
        quartwidth = 4.29\pt;
        wholewidth = 6.44\pt;
 
-       basicspace = 3.\pt;
+
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 4.8\pt;
        
index c59a5c3ccfa7222a4cee46be84e6b9ed206efbb8..aa7095fa2bd9a1a5cce4c87b60efdc7639b2ef2f 100644 (file)
@@ -16,7 +16,7 @@ paper_sixteen = \paper {
        quartwidth = 5.28\pt;
        wholewidth = 7.92\pt;
 
-       basicspace = 4.\pt;
+
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 4.8\pt;
        texsetting = "\\input lilyponddefs \\musixsixteendefs ";
index 955f164eecb20ce764e05bd00566fce0911ad30e..6f53e8b870130150d70d5a712ca9655795827f8f 100644 (file)
@@ -16,7 +16,7 @@ paper_twenty = \paper {
        quartwidth =  6.61\pt
        wholewidth = 9.90\pt
 
-       basicspace = 8.\pt;
+
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 6.\pt;
        texsetting = "\\input lilyponddefs \\musixtwentydefs ";
index 445506e575b51093c7fa60f6443c35d7be89296d..fcc19ae2dc878ecc1a1c403654c8992a26247240 100644 (file)
@@ -10,7 +10,6 @@ paper_twentysix = \paper {
        notewidth = 8.59\pt
        wholewidth = 12.87\pt;
 
-       basicspace = 8.\pt;
        arithmetic_basicspace = 2.;
         arithmetic_multiplier = 6.\pt;
        
index 677ebbfbc6cb1e83d45fd3a75ff8bcb30ecb397c..449c3c7aa5579c5feca858812aefb480cdc9a500 100644 (file)
@@ -7,24 +7,28 @@ paperfile = \papersize + ".ly";
 \include "paper.ly";
 
 interline = \staffheight / 4.0;
-internote = \interline / 2.0;
+
+
+% thickness of stafflines
 staffline = \interline / 10.0;
 
 beam_thickness = 0.52 * (\interline - \staffline);
 interbeam = (2.0 * \interline - \beam_thickness) / 2.0;
 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
-%
+
 
 % stems and beams
 %
 % not used for beams
-stem_length = 7.0*\internote;
+stem_length = 3.5*\interline;
+
 %
 % stems in unnatural (forced) direction should be shortened,
 % according to [Roush & Gourlay].  Their suggestion to knock off
 % a whole staffspace seems a bit drastical though?
 %
 forced_stem_shorten = 1.0 * \interline;
+
 %
 % there are several ways to calculate the direction of a beam
 % 
@@ -35,6 +39,7 @@ forced_stem_shorten = 1.0 * \interline;
 % enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
 %
 beam_dir_algorithm = 2.0;
+
 %
 %
 % some beam-stemlength settings...
@@ -47,6 +52,7 @@ beam_minimum_stem1 = 1.5 * \interline;
 beam_minimum_stem2 = 1.0 * \interline;
 beam_ideal_stem1 = 2.0 * \interline;
 beam_ideal_stem2 = 1.5 * \interline;
+
 % beam_slope_damp_correct_factor = 2.0;
 beam_slope_damp_correct_factor = 0.0;
 
@@ -62,6 +68,7 @@ tie_slope_damping = 0.3;
 % slur_thickness = 1.8 * \staffline;
 slur_thickness = 1.4 * \staffline;
 slur_height_limit = \staffheight;
+
 % mmm, try bit flatter slurs
 % slur_ratio = 1.0 / 3.0;
 slur_ratio = 0.3;
@@ -78,9 +85,6 @@ barsize = \staffheight;
 rulethickness = \staffline;
 stemthickness = \staffline;
 
-% uhm
-unitspace = 22.\pt;
-geometric = 0.;
 
 gourlay_energybound = 100000.;
 %{
index 59c12abf21a56ca7f808011f51868c5adfefeb6d..8ea926c8088af6ee4251f3cc5e9564318961e773 100644 (file)
@@ -121,7 +121,7 @@ $denneboom_shape = \paper{
 %              \$denneboom_shape 
        \paper_twenty
        indent = 20. \mm;
-       \shape = 70. \mm 20. \mm
+       \shape = 70. \mm 50. \mm
                 65. \mm 30. \mm
                 57.5 \mm 45. \mm
                 50. \mm 60. \mm
index a49a56815dfc94a4eed6d748a7edb590ea515cf4..a4af69fcb5d6fa15de66039864667710df8dc27a 100644 (file)
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=0
-PATCH_LEVEL=10
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=11
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index f6ebe584091d3e7019366670270f6221da73cb76..8915e7cfe50fccfeed4916f2c398a65d641f7549 100644 (file)
@@ -182,8 +182,9 @@ void
 Clef_engraver::do_creation_processing()
 {
   Scalar def = get_property ("defaultclef");
-  if (def.operator bool ()) // egcs: Scalar to bool is ambiguous
+  if (def.to_bool ()) // egcs: Scalar to bool is ambiguous
     set_type (def);
+  
   if (clef_type_str_.length_i ())
     { 
       create_clef();
index 23df0763f32a9c42ad4a9f6a333b257cd4f8f573..be1cedace102c5db5adfb3fe1463144eff362fa4 100644 (file)
@@ -51,9 +51,12 @@ void
 Key_engraver::acknowledge_element (Score_element_info info)
 {
   Command_req * r_l = info.req_l_->access_Command_req () ;
+
   if (r_l && r_l->access_Clef_change_req ()) 
     {
-      create_key ();
+      int i= get_property ("createKeyOnClefChange").length_i ();
+      if (i)
+       create_key ();
     }
   else if (info.elem_l_->is_type_b (Bar::static_name ())
           && accidental_idx_arr_.size ()) 
index 274911951d720d8b77f3fe24a8e5749e18d82d4a..35c803e688b6f1b9c64ac11ea3faab0db509b505 100644 (file)
@@ -52,7 +52,7 @@ Mark_engraver::do_process_requests ()
   td_p->style_str_ = td_p->text_str_.index_any_i ("0123456789") >= 0 
     ? "mark" : "Large";
 
-  script_p_->dir_ = UP;
+  script_p_->dir_ = LEFT;
   script_p_->specs_p_ = td_p->clone ();
   script_p_->postbreak_only_b_ = true;
   
@@ -66,6 +66,7 @@ Mark_engraver::do_process_requests ()
     {
       script_p_->break_priority_i_ = int(break_priority);
     }
+
   
   announce_element (Score_element_info (script_p_, mark_req_l_));
 }
index 1ae47c5057a30d83637573c0725d849deffb70ac..4c60dc23320694a95a555dc7f045ade1b7c9d473 100644 (file)
@@ -45,7 +45,6 @@ static Keyword_ent the_key_tab[]={
   {"mm", MM_T},
   {"notenames", NOTENAMES},
   {"notes" , NOTES},
-  {"octave", OCTAVE},
   {"output", OUTPUT},
   {"partial", PARTIAL},
   {"paper", PAPER},
index aafc2319289b20daf1a1a56ba4ace96b4e4ead21..3216e0cd1cccc3742ef3a4fefc20352ac4b586ba 100644 (file)
@@ -99,8 +99,6 @@ Paper_def::linewidth_f () const
 Real
 Paper_def::duration_to_dist (Moment d,Real k) const
 {
-  if (get_var ("geometric"))
-    return geometric_spacing (d);
   return arithmetic_spacing (d,k);
 }
 
@@ -180,7 +178,7 @@ Paper_def::interbeam_f (int multiplicity_i) const
 Real
 Paper_def::internote_f () const
 {
-  return get_var ("internote");
+  return get_var ("interline") /2.0 ;
 }
 
 Real
index cf257987812f4cea6dcd800ea6b4ec7741099f77..4ec3c8d623112d468251f2061b0ab4389d9014d1 100644 (file)
@@ -119,7 +119,9 @@ Plet_spanner::do_post_processing ()
   do {
     if (stem_l_drul_[d]->empty_b ())
       {
-       dy_f_drul_[d] = dy_f_drul_[flip (&d)]; // ughugh \[/3 r8 c8 r8 \]/1
+       Direction u = d;
+       flip (&u);
+       dy_f_drul_[d] = dy_f_drul_[u]; // ughugh \[/3 r8 c8 r8 \]/1
       }
     }
   while (flip(&d) != LEFT);
index 6ab83a2ea9751912ef571f825c66beaef3cb3a02..79dd64035ca88c8198f7f4bfe9fbbf3cf2dcd0d7 100644 (file)
@@ -115,7 +115,10 @@ Timing_translator::do_pre_move_processing()
     daddy_trans_l_->ancestor_l (100)->global_l (); // ugh 100.
 
 
+  /* allbars == ! skipbars */
   bool allbars = ! get_property ("SkipBars").to_bool ();
+
+
   if (!time_.cadenza_b_ && allbars)
     global_l->add_moment_to_process (time_.next_bar_moment ());
 }
index 4391da2e2b68750576710ba90ae38e2b53562acc..273ae744b2c57c2d9f3c7c5acabc1f85520975b4 100644 (file)
@@ -84,3 +84,6 @@
 1.0.9.uu1
 1.0.10
 1.0.10.jcn1
+1.0.10.uu1
+1.0.10.uu2
+1.0.11
index 2294c969fabfc9513394ec14ab69026592e60908..f912908583963d3ed46219244c41fbd39245a2e6 100644 (file)
@@ -1,6 +1,6 @@
 
-export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out$(PATHSEP)$(PATH)
-export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(PATHSEP)$(MFINPUTS)$(PATHSEP)
+export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
+export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(MFINPUTS)$(PATHSEP)$(PATHSEP)
 export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)$(PATHSEP)
 export LILYINCLUDE:=$(topdir)/init$(PATHSEP)$(topdir)/mf/out$(PATHSEP)$(LILYINCLUDE)
 
index 842172670397297f9e1a894f414b55f6c3ba66db..294683ff576c40aa66d138650d8084288c6652f6 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.0.10
-Inschrijf datum: 18SEP98
+Versie: 1.0.11
+Inschrijf datum: 24SEP98
 Beschrijving: @FLAPTEKST@
 Trefwoorden: muziek typezetten midi notatie
 Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       770k lilypond-1.0.10.tar.gz 
+       770k lilypond-1.0.11.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.0.10.tar.gz 
+       770k lilypond-1.0.11.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index cb18d96acc8ed064b91914bf0e94b2927d09eb7b..36edf7ac64826376172bda5acd7d79bd5a0f9dde 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.0.10
-Entered-date: 18SEP98
+Version: 1.0.11
+Entered-date: 24SEP98
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.0.10.tar.gz 
+       770k lilypond-1.0.11.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.0.10.tar.gz 
+       770k lilypond-1.0.11.tar.gz 
 Copying-policy: GPL
 End
index c9c562b9d21fec5b70b94c7cf2dd335a0ea3b8af..49a083f836edacc3cf7eae419ada86a82e54a4e6 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.0.10
+Version: 1.0.11
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.0.10.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.0.11.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index b12167c7eedf66325f84426b618cc87dc3f719a9..81cd1795d3a58843d2377df2c090b58d567c33f1 100644 (file)
@@ -14,7 +14,7 @@
 #  - rewrite in python
 
 program_name = 'convert-mudela'
-version = '0.2'
+version = '0.3'
 
 
 import os
@@ -272,6 +272,12 @@ def do_one_file (infile_name):
        
        do_conversion (infile, from_version, outfile, to_version)
 
+       if infile_name:
+               infile.close ()
+
+       if outfile_name:
+               outfile.close ()
+
        if __main__.edit:
                os.rename (infile_name, infile_name + '~')
                os.rename (infile_name + '.NEW', infile_name)
index 60174c018cccdf5694eea26c633d1e180d15d4d3..e299418333564ca14e209b4f5120352eb43bf919 100644 (file)
@@ -39,7 +39,7 @@ fi
 distdir=/tmp/${name}
 
 rm -f ${srcdir}/config.cache
-${srcdir}/configure --prefix=${distdir} \
+PYTHON=${PYTHON:-python} ${srcdir}/configure --prefix=${distdir} \
     --srcdir=${srcdir} \
     --enable-tex-prefix=${distdir}/texmf \
     --enable-tex-dir=${distdir}/texmf/tex \
@@ -78,9 +78,11 @@ fi
 cp $CYGWIN_LIB $distdir/bin
 
 #
-# Rename ly2dvi32 to ly2dvi.py
+# Rename python files to <filename>.py
 #
 mv $distdir/bin/ly2dvi32 $distdir/bin/ly2dvi.py
+mv $distdir/bin/convert-mudela $distdir/bin/convert-mudela.py
+mv $distdir/bin/mudela-book $distdir/bin/mudela-book.py
 
 #
 # copy man documentation to doc directory
index e088322d8a27620854cfb8dc54fd1336b2f18226..8e5937ac3543fae0098e438a6132f547f4f9deb0 100755 (executable)
@@ -1,5 +1,59 @@
 #! /bin/sh
 
+ac_help="$ac_help
+  --with-gtkmm-prefix=PREFIX
+                          Prefix where GTK-- is installed (optional)"
+# Check whether --with-gtkmm-prefix or --without-gtkmm-prefix was given.
+if test "${with_gtkmm_prefix+set}" = set; then
+  withval="$with_gtkmm_prefix"
+  gtkmm_config_prefix="$withval"
+else
+  gtkmm_config_prefix=""
+fi
+
+ac_help="$ac_help
+  --with-gtkmm-exec-prefix=PREFIX
+                          Exec prefix where GTK-- is installed (optional)"
+# Check whether --with-gtkmm-exec-prefix or --without-gtkmm-exec-prefix was given.
+if test "${with_gtkmm_exec_prefix+set}" = set; then
+  withval="$with_gtkmm_exec_prefix"
+  gtkmm_config_exec_prefix="$withval"
+else
+  gtkmm_config_exec_prefix=""
+fi
+
+ac_help="$ac_help
+  --disable-gtkmmtest     Do not try to compile and run a test GTK-- program"
+# Check whether --enable-gtkmmtest or --disable-gtkmmtest was given.
+if test "${enable_gtkmmtest+set}" = set; then
+  enableval="$enable_gtkmmtest"
+  :
+else
+  enable_gtkmmtest=yes
+fi
+
+
+  if test x$gtkmm_config_exec_prefix != x ; then
+     gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix"
+     if test x${GTKMM_CONFIG+set} != xset ; then
+        GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config
+     fi
+  fi
+  if test x$gtkmm_config_prefix != x ; then
+     gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix"
+     if test x${GTKMM_CONFIG+set} != xset ; then
+        GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config
+     fi
+  fi
+
+
+
+
+# Configure paths for GTK--DRAW
+# Derek Quinn Wyatt   98-08-21  (adapted from Jan Nieuwenhuizen's code)
+
+
+
 # Guess values for system-dependent variables and create Makefiles.
 # Generated automatically using autoconf version 2.12 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
@@ -637,7 +691,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:641: checking host system type" >&5
+echo "configure:695: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -662,7 +716,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:666: checking for $ac_word" >&5
+echo "configure:720: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -696,7 +750,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:700: checking for $ac_word" >&5
+echo "configure:754: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -733,7 +787,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:737: checking for $ac_word" >&5
+echo "configure:791: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -767,7 +821,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:771: checking for $ac_word" >&5
+echo "configure:825: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -797,10 +851,10 @@ done
 test -n "$BASH" || BASH="/bin/sh"
 
 
-    # Extract the first word of "python", so it can be a program name with args.
-set dummy python; ac_word=$2
+    # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
+set dummy ${PYTHON:-python}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:804: checking for $ac_word" >&5
+echo "configure:858: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -950,7 +1004,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:954: checking language" >&5    
+echo "configure:1008: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -977,12 +1031,46 @@ echo "configure:954: checking language" >&5
 # AC_STEPMAKE_TEXMF
 
     if test "x$YODL" = "x"; then 
+       for ac_prog in striproff
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1040: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$STRIPROFF"; then
+  ac_cv_prog_STRIPROFF="$STRIPROFF" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_STRIPROFF="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+STRIPROFF="$ac_cv_prog_STRIPROFF"
+if test -n "$STRIPROFF"; then
+  echo "$ac_t""$STRIPROFF" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$STRIPROFF" && break
+done
+test -n "$STRIPROFF" || STRIPROFF="-echo no striproff"
+
        for ac_prog in yodl
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:986: checking for $ac_word" >&5
+echo "configure:1074: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1016,7 +1104,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1020: checking for $ac_word" >&5
+echo "configure:1108: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1050,7 +1138,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1054: checking for $ac_word" >&5
+echo "configure:1142: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1083,7 +1171,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1087: checking for $ac_word" >&5
+echo "configure:1175: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1117,7 +1205,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1121: checking for $ac_word" >&5
+echo "configure:1209: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1151,7 +1239,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1155: checking for $ac_word" >&5
+echo "configure:1243: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1185,7 +1273,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1189: checking for $ac_word" >&5
+echo "configure:1277: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1222,7 +1310,8 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl"
        
        
        
-       export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
+       
+       export STRIPROFF YODL YODL2HTML YODL2LATEX YODL2MAN YODL2MSLESS YODL2TEXINFO YODL2TXT
     fi
     if test "x$YODL" = "-echo no yodl"; then
        
@@ -1240,7 +1329,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1244: checking for $ac_word" >&5
+echo "configure:1333: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1430,6 +1519,7 @@ s%@INSTALL@%$INSTALL%g
 s%@PATHSEP@%$PATHSEP%g
 s%@DIRSEP@%$DIRSEP%g
 s%@DIR_DATADIR@%$DIR_DATADIR%g
+s%@STRIPROFF@%$STRIPROFF%g
 s%@YODL@%$YODL%g
 s%@YODL2HTML@%$YODL2HTML%g
 s%@YODL2LATEX@%$YODL2LATEX%g
index 33e52a7b6f0f2493cff5310cc63ed8c744b34ae8..ead3d16fe65139e8b8464c96dcbf14dfcb6ab8e3 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: StepMake
-Version: 0.1.51
-Entered-date: 18SEP98
+Version: 0.1.52
+Entered-date: 24SEP98
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: janneke@gnu.org (Jan Nieuwenhuizen)
        hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       40k stepmake-0.1.51.tar.gz 
+       40k stepmake-0.1.52.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       40k stepmake-0.1.51.tar.gz 
+       40k stepmake-0.1.52.tar.gz 
 Copying-policy: GPL
 End
index aff88bef90ec6821f9ce8de751f4139c0705e8ea..7ba65fcfceece120db751f5ddd79f1b6a14aa04b 100644 (file)
@@ -1,9 +1,9 @@
 Name: stepmake
-Version: 0.1.51
+Version: 0.1.52
 Release: 1
 Copyright: GPL
 Group: Development
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.51.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.52.tar.gz
 Summary: generic make package
 Packager: janneke@gnu.org (Jan Nieuwenhuizen)
 Buildroot: /tmp/stepmake-install