]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.0.43 release/0.0.43
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 20 Mar 1997 01:23:14 +0000 (02:23 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 20 Mar 1997 01:23:14 +0000 (02:23 +0100)
56 files changed:
.dstreamrc
.version
Documentation/language.pod
Documentation/lilyinput.pod
Documentation/lilypond.pod
NEWS
TODO
configure
configure.in
flower/Makefile
init/table_sixteen.ini
input/Makefile
input/cadenza.ly
input/coriolan-alto.ly
input/error.ly
input/fugue1.midi.ly
input/kortjakje.ly
input/maartje.ly
input/mlvio1.ly
input/new-twinkle.ly [deleted file]
input/plet.ly
input/pre1.midi.ly
input/rhythm.ly
input/scales.ly
input/scsii-menuetto.ly
input/standchen.ly
input/twinkle.ly
lib/duration.cc
lib/include/duration.hh
lily/.version
lily/Makefile
lily/command-request.cc
lily/identifier.cc
lily/include/command-request.hh
lily/include/identifier.hh
lily/include/input-music.hh
lily/include/lexer.hh [deleted file]
lily/include/musical-request.hh
lily/include/my-lily-lexer.hh [new file with mode: 0644]
lily/include/request.hh
lily/include/voice-element.hh
lily/include/voice.hh
lily/input-music.cc
lily/input-staff.cc
lily/keyword.cc
lily/lexer.l
lily/lexerinit.cc
lily/musical-request.cc
lily/my-lily-lexer.cc [new file with mode: 0644]
lily/mylexer.cc [deleted file]
lily/note.cc
lily/parser.y
lily/voice-elt.cc
lily/voice.cc
lily/warn.cc
make/Variables.make

index 4448ee7d89b0c44683ac550c55095e4aa3b0bfed..dd50d37872ff8c58ba7645b590bd6855db1f8485 100644 (file)
@@ -1,7 +1,7 @@
 # class name           silence?
 Dstream                        1
 
 # class name           silence?
 Dstream                        1
 
-My_flex_lexer          0
+My_lily_lexer          0
 PCol                   1
 Score_column           1
 Ineq_constrained_qp    1
 PCol                   1
 Score_column           1
 Ineq_constrained_qp    1
@@ -15,7 +15,7 @@ Idealspacing          1
 InitParser             1
 Parser                 0
 InitDeclarations       1
 InitParser             1
 Parser                 0
 InitDeclarations       1
-
+Declarations           0
 # FlexLexer debug
 InitLexer              1
 Lexer                  1
 # FlexLexer debug
 InitLexer              1
 Lexer                  1
@@ -46,9 +46,9 @@ Group_change_req      1
 Script_req             1
 Colinfo                        1
 Word_wrap              1
 Script_req             1
 Colinfo                        1
 Word_wrap              1
-Text_req               1
+Text_req               0
 Script_def             1
 Script_def             1
-Text_def               1
+Text_def               0
 Paperdef               1
 Symtable               1
 Symtables              1
 Paperdef               1
 Symtable               1
 Symtables              1
index e268239e5d9d6ec7f253fcb9d31f170d95943a30..f3fe58849aa8715eae9fb2ebc37ca1f57dd9b1eb 100644 (file)
--- a/.version
+++ b/.version
@@ -1,8 +1,8 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 0
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 0
-TOPLEVEL_PATCH_LEVEL = 42
+TOPLEVEL_PATCH_LEVEL = 43
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
-TOPLEVEL_MY_PATCH_LEVEL =.3
+TOPLEVEL_MY_PATCH_LEVEL =
 #
 #
index 4b747426426f798a305691be77db6b240ed6b6fd..181c4dea1fc48cd1603dbf270ba6d95d79c1aa67 100644 (file)
@@ -133,6 +133,95 @@ it will make things easier.
 =head1 CONCRETE PROPOSALS
 
 
 =head1 CONCRETE PROPOSALS
 
 
+=head1 Decisions (Sat 1997-3-15, dommelpijpje no21)
+
+=over 4
+
+=item *
+
+\keyword, bo difference notes vs. notenames,
+
+=item *
+
+{} hierachical, nest.,
+
+=item *
+
+<> chords,
+
+=item *
+
+drop staff (NOT)?,
+
+=item *
+
+melody = \melodic{ } vs. \melodic melody = { }
+
+=item *
+
+lexer mode switch by types: \lyric{ }, \melodic{ }, etc.,
+
+=item *
+
+octaves: low 'C C c c' c'' high; 'c' == c === "c-klein", comment: a '
+' a . Which ' for which a? Now using a!'`.
+
+=over 4
+
+=item *
+
+\meter{ 2/4 },
+
+=item *
+
+\grouping{ 2*8 3*8 },
+
+=item *
+
+\skip{ 2: 2*8 3*32 },
+
+=item *
+
+abbrev: [c2 c2]\noplet{1/2} (wat bout [c2 c2]1/2\noplet?),
+
+=item *
+
+abbrev: c4=16 (heu, =?),
+
+=item *
+
+plet === midi-note: c4*2/3; c4*385/384,
+
+=back
+
+=item *
+
+drop \music,
+
+=item *
+
+\meter compulsory in Simple mudela,
+
+=item *
+
+++ concat
+
+=item *
+
+C<+> is  merge
+
+=item *
+
+       \transpose{ \from c \to g \melodic{ c d e } }
+       \transpose{ \from c \to g melody } %!?
+
+=item *
+
+       \extract{ \from 2:3*4 \to 5 oboe }
+
+=back
+
+
 
 =head1 THOUGHTS
 
 
 =head1 THOUGHTS
 
index b7fe60ff83c5f45ab52b734a7f8b24ccaf23a79a..6fdedd21485d9737bc53093f964aaa04ae4e1d14 100644 (file)
@@ -42,7 +42,7 @@ Other considerations were (and will be):
 =item *
 
 be able to edit the layout 
 =item *
 
 be able to edit the layout 
-without danger of changing the original music (Urtekst),
+without danger of changing the original music (Urtext),
 
 =item *
 
 
 =item *
 
@@ -105,21 +105,41 @@ has a logical structure,
 making use of typing and naming (using identifiers),
 that allows for flexible input, and definition reuse.
 
 making use of typing and naming (using identifiers),
 that allows for flexible input, and definition reuse.
 
+The below included for explanatory
+purposes only (i.e., for a complete and up-to-date definition, see
+F<lily/parser.y> and F<lily/lexer.l>):
+
+=head2 Files
+
+The de-facto extension of Mudela is F<.ly>. Files may be included by
+entering C<include> at the start of a line:
+
+       include "a_file.ly"
+
 =head2 Comments
 
 Line comments are introduced by a C<%>
 
 =head2 Comments
 
 Line comments are introduced by a C<%>
 
-=head2 Keywords
+=head2 Words
 
 
-Keywords are preceded by a backslash "\".
+Keywords are preceded by a backslash "\". They contain alphabetic
+characters only. 
 
 
-The actual musical part of Mudela that defines a melody, is known as 
-I<simple mudela>. 
+Identifiers in their normal form consist start with a alpha character,
+followed by alpha-numerics. Identifiers can contain any characters
+(except whitespace, C<$> and C<%>), if you use this construct:
+
+       $Id_with###@weird92chars = 
+
+=head2 Nesting characters
 
 Mudela uses the brace (C<{> and C<}>) for hierarchical structures. To
 
 Mudela uses the brace (C<{> and C<}>) for hierarchical structures. To
-aid the eye in reading, for chords we have used the C<<> and the C<>>
-as nesting braces. 
+aid the eye in reading, for chords the C<<> and the C<>> are used as
+nesting braces.
 
 
+=head2 Identifiers
+
+=head2 Hierarchical structures
 
 The general structure consists of declarations:
 
 
 The general structure consists of declarations:
 
@@ -141,36 +161,84 @@ Most instantiations that use an IDENTIFIER are specified as follows:
 Some exceptions on this rule have been made to prevent inputting
 Mudela becoming tedious
 
 Some exceptions on this rule have been made to prevent inputting
 Mudela becoming tedious
 
-=head1 Music
 
 =head2 Simple mudela
 
 
 =head2 Simple mudela
 
+The actual musical part of Mudela that defines a melody, is known as 
+I<simple mudela>. 
+
 Simple mudela is the most common type of music.  It consists of a list
 Simple mudela is the most common type of music.  It consists of a list
-of notes, chords, and commands.  The below included for explanatory
-purposes only (i.e., for a complete and up-to-date definition, see
-F<lily/parser.y> and F<lily/lexer.l>):
+of notes or lyrics, chords, and commands.
+
+=head2 Modes:
+
+To simplify different aspects of music definition (entering the notes
+and manipulating them) Mudela has a number of different input "modes":
+
+=over 4
+
+=item Normal mode
+
+At the start of parsing, Mudela assumes normal mode.
+In Normal mode, a word is looked up in the following order:
+
+       word    identifier, string
+       \word   keyword, string
+
+In normalmode, a word is assumed to start with an alphabetic
+character, followed by alpha-numeric characters.
+
+=item Note mode
+
+Note mode (and thus Simple mudela) is introduced by the keyword C<\music>.
+In Note mode, a word is looked up in the following order:
+
+       word    identifier, string
+       \word   keyword, string
+
+In Note mode a word is considered to have alphabetic characters only.
+
+=item Lyric mode
+
+Lyrics mode (and thus Simple mudela)  is introduced by the keyword C<\lyrics>.
+
+In Lyrics mode, a word is looked up in the following order:
+
+       word    string
+       \word   keyword, string
+
+In Lyric mode every sequence of non-digit and non-white characters
+starting with an alphabetic character is considered a word.
+
+=back
+
+These modes are of a lexical nature. Normal and Note mode largely
+resemble each other, save the possibility of entering Reals, and
+meaning of C<_>
+
+=head2 Notes
 
 Simple mudela basically is a sequence of the notes you want to
 enter. 
 
        a'4     % dutch names
 
 
 Simple mudela basically is a sequence of the notes you want to
 enter. 
 
        a'4     % dutch names
 
-is a A-1 pitched quaver. The ' signifies an octave change.
+is a A-1 pitched quaver. The ' as well as the ` signify an octave change.
 A-1 is 440 Hz concert-pitch. C<c'> is also known as the central
 c. More examples:
 
 A-1 is 440 Hz concert-pitch. C<c'> is also known as the central
 c. More examples:
 
-       a`      % 110
+       `a      % 110
        a       % 220
        a'      % 440
        a''     % 880
 
 another example:
 
        a       % 220
        a'      % 440
        a''     % 880
 
 another example:
 
-       as`4.*2/3
+       `as4.*2/3
 
 This is an A flat, (just below 110 Hz concert-pitch). The C<*2/3>
 signifies that this note is part of a triplet (3 in stead of 2). The
 
 This is an A flat, (just below 110 Hz concert-pitch). The C<*2/3>
 signifies that this note is part of a triplet (3 in stead of 2). The
-duration is one and a half quaver times 2/3. 
+duration is one and a half quaver (C<4.>) times 2/3. 
 
 The default language for notenames is defined to be dutch,
 
 
 The default language for notenames is defined to be dutch,
 
@@ -192,6 +260,11 @@ down:
        A       % 110
        'A      % 55
        A'      % 220
        A       % 110
        'A      % 55
        A'      % 220
+       Cisis
+
+The rest is named 
+
+       r
 
 These notenames along with duration is enough material to construct
 simple melodies:
 
 These notenames along with duration is enough material to construct
 simple melodies:
@@ -212,7 +285,7 @@ example:
 
        [c8 () d8 () e8 ]
 
 
        [c8 () d8 () e8 ]
 
-Please note that these two parentheses do I<not> necesarrily nest, eg:
+Please note that these two characters do I<not> necessarrily nest, eg:
 
        [c8 e8(] [)g8 c'8]
 
 
        [c8 e8(] [)g8 c'8]
 
@@ -239,15 +312,21 @@ The general form of a note is:
 Notenames are just identifiers, and can be declared for any
 language appropriate (see F<dutch.ini>). 
 
 Notenames are just identifiers, and can be declared for any
 language appropriate (see F<dutch.ini>). 
 
-
 =head2 Lyrics
 
 =head2 Lyrics
 
-Lyrics in Mudela resemble Simple mudela a lot, 
-with notes substituted by text.
-All syllables are entered separately, separated by whitespace
-("Twin-4 kle4 twin-4 kle4 ... ").
-Two syllables or words that compose a single duration entry
-are bound together using an underscore ("He_could4 not4").
+Lyrics in Mudela resemble Simple mudela a lot, with notes substituted
+by text. 
+
+All syllables are entered separately, separated by whitespace 
+
+       Twin-4 kle4 twin-4 kle4 ... 
+
+Two syllables or words that compose a single
+duration entry are bound together using an underscore 
+
+       He_could4 not4
+
+
 
 =head2 Rhythms
 
 
 =head2 Rhythms
 
@@ -281,92 +360,3 @@ maintenance no long examples are included in this document.
 
 LilyPond first reads F<symbol.ini>, which contains declarations crucial
 to proper operation of LilyPond (symbol tables, note names).
 
 LilyPond first reads F<symbol.ini>, which contains declarations crucial
 to proper operation of LilyPond (symbol tables, note names).
-
-=head1 Decisions (Sat 1997-3-15, dommelpijpje no21)
-
-=over 4
-
-=item *
-
-\keyword, bo difference notes vs. notenames,
-
-=item *
-
-{} hierachical, nest.,
-
-=item *
-
-<> chords,
-
-=item *
-
-drop staff (NOT)?,
-
-=item *
-
-melody = \melodic{ } vs. \melodic melody = { }
-
-=item *
-
-lexer mode switch by types: \lyric{ }, \melodic{ }, etc.,
-
-=item *
-
-octaves: low 'C C c c' c'' high; 'c' == c === "c-klein", comment: a '
-' a . Which ' for which a? Now using a!'`.
-
-=over 4
-
-=item *
-
-\meter{ 2/4 },
-
-=item *
-
-\grouping{ 2*8 3*8 },
-
-=item *
-
-\skip{ 2: 2*8 3*32 },
-
-=item *
-
-abbrev: [c2 c2]\noplet{1/2} (wat bout [c2 c2]1/2\noplet?),
-
-=item *
-
-abbrev: c4=16 (heu, =?),
-
-=item *
-
-plet === midi-note: c4*2/3; c4*385/384,
-
-=back
-
-=item *
-
-drop \music,
-
-=item *
-
-\meter compulsory in Simple mudela,
-
-=item *
-
-++ concat
-
-=item *
-
-C<+> is  merge
-
-=item *
-
-       \transpose{ \from c \to g \melodic{ c d e } }
-       \transpose{ \from c \to g melody } %!?
-
-=item *
-
-       \extract{ \from 2:3*4 \to 5 oboe }
-
-=back
-
index 067c596d743a7bb7c7e694265f2bc8c7aba4df64..bc02a126176c79538da0bc1a116ca1db0130574d 100644 (file)
@@ -88,8 +88,8 @@ multiple stafftypes (melodic, rhythmic) [broken from  pl28 on]
 
 =item *
 
 
 =item *
 
-beams, slurs, chords, super/subscripts (accents and text),
-triplets, general n-plet (triplet, quadruplets, etc.), lyrics
+beams, slurs, chords, super/subscripts (accents and text), triplets,
+general n-plet (triplet, quadruplets, etc.), lyrics, transposition
 
 =item *
 
 
 =item *
 
diff --git a/NEWS b/NEWS
index 0ed6c6a5d514490335c00133d58b7057ec2b56a8..cb41bce2b25bbfe4579570562e29270a42778adb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,33 @@
-pl 42.3
+******
+pl 43
+       - transposition.
+       - $variable&@name 
+       - warnings if incorrect mode
+       - missing scsii measure
+       - declaration used check.
+       -
+
+pl 42.hwn3
        - const naming change (T const <-> const T)
        - Mudela 0.1
 
        - const naming change (T const <-> const T)
        - Mudela 0.1
 
+pl 42.3
+       - moving towards Mudela 0.1:
+           * (almost) all keywords must be preceded by backslash '\'
+           * explicit lexer switches '$' and '@' dropped
+           * keyword "music" dropped for horizontal music
+           * keywords "\lyric" "\melodic" "\rhythmic" introduced, e.g.:
+               melody = \melodic { c c | g g }
+           * staff initialisable with music identifier: 
+               \staff{ melody }
+           * chords: < c e >
+           * octavate ''c`` 
+           * \meter{ 2/4 }
+           * \octave{ ''`` }
+        - configure sets CXX (to c++, commonly)
+Internal
+       - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
+
 pl 42.2
        - new lilyinput (Mudela 0.1) doc.
 Examples
 pl 42.2
        - new lilyinput (Mudela 0.1) doc.
 Examples
diff --git a/TODO b/TODO
index 6a36fe3b9df73d8627eeb1a820d15b2fe73666db..e074ce5aa605b3f3ee1dcb5e6c77c1dac8bdec2a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,4 @@
 before 0.1
 before 0.1
-       * fix Lyric mode
 
        * remove spurious/outdated comments in .ly, debug .ly
 
 
        * remove spurious/outdated comments in .ly, debug .ly
 
@@ -7,17 +6,20 @@ before 0.1
 
        * basic dynamics
 
 
        * basic dynamics
 
-       * basic syntax & parser/lexer cleanup.
-
        * decent TeX page layout
        * decent TeX page layout
-       
-       * avoid unnecessary confusing constructs from .ly
+
+       * remove unnecessary or confusing constructs from .ly
 
 This is an assorted collection of stuff that will be done, might be
 done, or is an idea that I want to think about
 
 
 This is an assorted collection of stuff that will be done, might be
 done, or is an idea that I want to think about
 
+PARSER
+       * Duration
+
 MAKE-STUFF
 
 MAKE-STUFF
 
+       * flower config: separate optiflags.
+
        * sort out headers, see m2m
 
        * do platform stuff: configure, header(s), targets, build (out?)
        * sort out headers, see m2m
 
        * do platform stuff: configure, header(s), targets, build (out?)
@@ -32,7 +34,7 @@ BUGS
 
        * [c8. c32 c32]
 
 
        * [c8. c32 c32]
 
-       * $cis ( | ) cis$
+       * cis ( | ) cis
 
        * Group_feature at start of music. 
 
 
        * Group_feature at start of music. 
 
@@ -54,7 +56,11 @@ FURTHER FOR ORCHESTRAL SCORE:
 
 INPUTLANGUAGE
 
 
 INPUTLANGUAGE
 
-       * read ENV for include path 
+       * read ENV for include /init path 
+
+       * configure pitch_byte
+
+       * special key.
 
        * figured bass?
 
 
        * figured bass?
 
@@ -62,8 +68,15 @@ INPUTLANGUAGE
 
        * rest name configurable
 
 
        * rest name configurable
 
+       * uniformate: \clef\violin, \clef"violin", \geometric 1.4, 
+         \meter{ 2/4 }, etc.
+
 SMALLISH PROJECTS
 
 SMALLISH PROJECTS
 
+       * key transposition
+
+       * key { C } 
+       
        * use dstream feature in mi2mu
 
         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
        * use dstream feature in mi2mu
 
         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
@@ -76,13 +89,11 @@ SMALLISH PROJECTS
 
        * parshape
 
 
        * parshape
 
-       * a pure parser.
-
-       * bar numbers/repetition marks
+       * a pure parser?
 
        * read from mmap directly: study yy_scan_buffer
 
 
        * read from mmap directly: study yy_scan_buffer
 
-       * binsearch/hash for notenames, id. for identifiers
+       * binsearch/hash for identifiers
 
        * stafftypes: voice names/ instrument names.
 
 
        * stafftypes: voice names/ instrument names.
 
@@ -101,8 +112,6 @@ SMALLISH PROJECTS
 
        * Brackets
 
 
        * Brackets
 
-       * space rest.
-       
        * caching of Register_group_register hierarchies.
 
 
        * caching of Register_group_register hierarchies.
 
 
@@ -113,9 +122,11 @@ SMALLISH PROJECTS
 
        * collision Request_register.
 
 
        * collision Request_register.
 
-       * make install (gnu dir names)
+       * add (good guess of) width to lyric items
 
 
-       * LilyPond .rpm and .deb
+       * midi output: eat-up dynamic, key/meter/tempo changes, and write them neatly
+
+       * LilyPond .deb
 
 DOC
 
 
 DOC
 
@@ -129,7 +140,7 @@ DOC
 
 FUTURE
 
 
 FUTURE
 
-       * Register_container baseclass
+       * mixed  fontsizes
 
        * put scripts on bars
 
 
        * put scripts on bars
 
@@ -137,7 +148,7 @@ FUTURE
 
        * guitar chord
 
 
        * guitar chord
 
-       * better beamslope calculation
+       * better beamslope calculation: QLP for beams?
 
        * implement better breaking algorithm
 
 
        * implement better breaking algorithm
 
@@ -147,8 +158,6 @@ FUTURE
 
        * merge key{item} & localkey{item}?
 
 
        * merge key{item} & localkey{item}?
 
-       * QLP for beams?
-
        * revise calcideal
 
        * eentje/tweetje
        * revise calcideal
 
        * eentje/tweetje
@@ -159,7 +168,7 @@ IDEAS
 
        * integrate Register/Midi stuff
 
 
        * integrate Register/Midi stuff
 
-       * create libmudela,  or liblily_frontend
+       * create libmudela, or liblily_frontend
 
        * Horizontal_align_item, Vertical_align_item.
 
 
        * Horizontal_align_item, Vertical_align_item.
 
@@ -167,8 +176,6 @@ IDEAS
 
        * fold indentifiers and notenames?
 
 
        * fold indentifiers and notenames?
 
-       * enter Requests directly
-
        * itemcolumns: Use dummy items.
 
        * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
        * itemcolumns: Use dummy items.
 
        * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
index c79b71d92c35f6fe2ce096c93d7e6d8bda33fe00..3c13edc01f633432aaf07ea057df91dfcbb7fb92 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.10 
+# Generated automatically using autoconf version 2.12 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
@@ -61,6 +61,8 @@ mandir='${prefix}/man'
 # Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
 # Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
 
 ac_prev=
 for ac_option
 
 ac_prev=
 for ac_option
@@ -342,7 +344,7 @@ EOF
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.10"
+    echo "configure generated by autoconf version 2.12"
     exit 0 ;;
 
   -with-* | --with-*)
     exit 0 ;;
 
   -with-* | --with-*)
@@ -444,11 +446,14 @@ do
 done
 
 # NLS nuisances.
 done
 
 # NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -rf conftest* confdefs.h
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -rf conftest* confdefs.h
@@ -510,6 +515,7 @@ ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
 
 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
 
 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@@ -531,6 +537,7 @@ ac_ext=C
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
 
 
 # Check whether --enable-printing or --disable-printing was given.
 
 
 # Check whether --enable-printing or --disable-printing was given.
@@ -578,11 +585,12 @@ fi
 
 AUTOHEADER="This file was automatically generated by configure"
 CXXFLAGS=${CXXFLAGS:-""}       # we don't want -g -O junk
 
 AUTOHEADER="This file was automatically generated by configure"
 CXXFLAGS=${CXXFLAGS:-""}       # we don't want -g -O junk
-for ac_prog in $CCC c++ g++ gcc CC cxx
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
 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
 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:594: 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
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -612,7 +620,47 @@ done
 test -n "$CXX" || CXX="gcc"
 
 
 test -n "$CXX" || CXX="gcc"
 
 
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:625: 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.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 635 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:639: \"$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
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+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:659: 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 $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:664: 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
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -621,7 +669,7 @@ else
   yes;
 #endif
 EOF
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:625: \"$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:673: \"$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
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -629,29 +677,34 @@ fi
 fi
 
 echo "$ac_t""$ac_cv_prog_gxx" 1>&6
 fi
 
 echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
 if test $ac_cv_prog_gxx = yes; then
   GXX=yes
 if test $ac_cv_prog_gxx = yes; then
   GXX=yes
-  if test "${CXXFLAGS+set}" != set; then
-    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_prog_gxx_g'+set}'`\" = set"; then
+  ac_test_CXXFLAGS="${CXXFLAGS+set}"
+  ac_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS=
+  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:688: 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
   echo 'void f(){}' > conftest.cc
 if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo 'void f(){}' > conftest.cc
 if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
-  ac_cv_prog_gxx_g=yes
+  ac_cv_prog_cxx_g=yes
 else
 else
-  ac_cv_prog_gxx_g=no
+  ac_cv_prog_cxx_g=no
 fi
 rm -f conftest*
 
 fi
 
 fi
 rm -f conftest*
 
 fi
 
-echo "$ac_t""$ac_cv_prog_gxx_g" 1>&6
-    if test $ac_cv_prog_gxx_g = yes; then
-      CXXFLAGS="-g -O"
-    else
-      CXXFLAGS="-O"
-    fi
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+  if test "$ac_test_CXXFLAGS" = set; then
+    CXXFLAGS="$ac_save_CXXFLAGS"
+  elif test $ac_cv_prog_cxx_g = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-O2"
   fi
 else
   GXX=
   fi
 else
   GXX=
@@ -661,6 +714,7 @@ fi
 # 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
 # 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:718: 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
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -716,11 +770,12 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:774: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-    IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
   for ac_dir in $PATH; do
     # Account for people who put trailing slashes in PATH elements.
     case "$ac_dir/" in
   for ac_dir in $PATH; do
     # Account for people who put trailing slashes in PATH elements.
     case "$ac_dir/" in
@@ -743,7 +798,7 @@ else
       ;;
     esac
   done
       ;;
     esac
   done
-  IFS="$ac_save_ifs"
+  IFS="$ac_save_IFS"
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
@@ -769,6 +824,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
 # 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:828: 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
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -810,12 +866,12 @@ else
 
 
 
 
 
 
-
 for ac_prog in bison
 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
 for ac_prog in bison
 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:875: 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
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -849,6 +905,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
 # 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:909: 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
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -882,6 +939,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
 # 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:943: 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
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -915,6 +973,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
 # 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:977: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_PODMAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 if eval "test \"`echo '$''{'ac_cv_prog_PODMAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -950,6 +1009,7 @@ if test $TEXPREFIX = auto ; then
     # do something sensible if root hasn't specced dir yet attempts install
 
     echo $ac_n "checking TeX installation directory""... $ac_c" 1>&6
     # do something sensible if root hasn't specced dir yet attempts install
 
     echo $ac_n "checking TeX installation directory""... $ac_c" 1>&6
+echo "configure:1013: checking TeX installation directory" >&5
 
     ac_tmp_prefix=$prefix
     test "x$ac_tmp_prefix" = xNONE && ac_tmp_prefix=$ac_default_prefix
 
     ac_tmp_prefix=$prefix
     test "x$ac_tmp_prefix" = xNONE && ac_tmp_prefix=$ac_default_prefix
@@ -1012,6 +1072,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
+echo "configure:1076: 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
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1021,19 +1082,22 @@ else
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1027 "configure"
+#line 1089 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   CXXCPP=/lib/cpp
 fi
   rm -rf conftest*
   CXXCPP=/lib/cpp
 fi
@@ -1044,24 +1108,27 @@ fi
 CXXCPP="$ac_cv_prog_CXXCPP"
 echo "$ac_t""$CXXCPP" 1>&6
 
 CXXCPP="$ac_cv_prog_CXXCPP"
 echo "$ac_t""$CXXCPP" 1>&6
 
-ac_safe=`echo "FlexLexer.h" | tr './\055' '___'`
+ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
+echo "configure:1114: 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
 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 1054 "configure"
+#line 1119 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1059: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=yes"
 else
   echo "$ac_err" >&5
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=yes"
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=no"
 fi
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=no"
 fi
@@ -1094,11 +1161,25 @@ cat > confcache <<\EOF
 # --recheck option to rerun configure.
 #
 EOF
 # --recheck option to rerun configure.
 #
 EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
 (set) 2>&1 |
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
 (set) 2>&1 |
-  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
-  >> confcache
+  case `(ac_space=' '; set) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
 if cmp -s $cache_file confcache; then
   :
 else
 if cmp -s $cache_file confcache; then
   :
 else
@@ -1165,7 +1246,7 @@ do
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.10"
+    echo "$CONFIG_STATUS generated by autoconf version 2.12"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -1224,20 +1305,56 @@ s%@subdirs@%$subdirs%g
 
 CEOF
 EOF
 
 CEOF
 EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
 cat >> $CONFIG_STATUS <<EOF
 
 CONFIG_FILES=\${CONFIG_FILES-"make/out/Configure_variables.make:make/Configure_variables.make.in"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
 cat >> $CONFIG_STATUS <<EOF
 
 CONFIG_FILES=\${CONFIG_FILES-"make/out/Configure_variables.make:make/Configure_variables.make.in"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
   case "$ac_file" in
   case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
   *) ac_file_in="${ac_file}.in" ;;
   esac
 
        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
   *) ac_file_in="${ac_file}.in" ;;
   esac
 
-  # Adjust relative srcdir, etc. for subdirectories.
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
 
   # Remove last slash and all that follows it.  Not all systems have dirname.
   ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
 
   # Remove last slash and all that follows it.  Not all systems have dirname.
   ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
@@ -1265,6 +1382,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
   [/$]*) INSTALL="$ac_given_INSTALL" ;;
   *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
   esac
   [/$]*) INSTALL="$ac_given_INSTALL" ;;
   *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
   esac
+
   echo creating "$ac_file"
   rm -f "$ac_file"
   configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
   echo creating "$ac_file"
   rm -f "$ac_file"
   configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
@@ -1273,16 +1391,22 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
 # $configure_input" ;;
   *) ac_comsub= ;;
   esac
 # $configure_input" ;;
   *) ac_comsub= ;;
   esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
   sed -e "$ac_comsub
 s%@configure_input@%$configure_input%g
 s%@srcdir@%$srcdir%g
 s%@top_srcdir@%$top_srcdir%g
 s%@INSTALL@%$INSTALL%g
   sed -e "$ac_comsub
 s%@configure_input@%$configure_input%g
 s%@srcdir@%$srcdir%g
 s%@top_srcdir@%$top_srcdir%g
 s%@INSTALL@%$INSTALL%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
 fi; done
 fi; done
-rm -f conftest.subs
+rm -f conftest.s*
 
 
+EOF
+cat >> $CONFIG_STATUS <<EOF
 
 
+EOF
+cat >> $CONFIG_STATUS <<\EOF
 
 exit 0
 EOF
 
 exit 0
 EOF
@@ -1338,13 +1462,16 @@ if test "$no_recursion" != yes; then
     ac_popdir=`pwd`
     cd $ac_config_dir
 
     ac_popdir=`pwd`
     cd $ac_config_dir
 
+      # A "../" for each directory in /$ac_config_dir.
+      ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+
     case "$srcdir" in
     .) # No --srcdir option.  We are building in place.
       ac_sub_srcdir=$srcdir ;;
     /*) # Absolute path.
       ac_sub_srcdir=$srcdir/$ac_config_dir ;;
     *) # Relative path.
     case "$srcdir" in
     .) # No --srcdir option.  We are building in place.
       ac_sub_srcdir=$srcdir ;;
     /*) # Absolute path.
       ac_sub_srcdir=$srcdir/$ac_config_dir ;;
     *) # Relative path.
-      ac_sub_srcdir=../$srcdir/$ac_config_dir ;;
+      ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
     esac
 
     # Check for guested configure; otherwise get Cygnus style configure.
     esac
 
     # Check for guested configure; otherwise get Cygnus style configure.
@@ -1361,8 +1488,6 @@ if test "$no_recursion" != yes; then
     if test -n "$ac_sub_configure"; then
 
       # Make the cache file name correct relative to the subdirectory.
     if test -n "$ac_sub_configure"; then
 
       # Make the cache file name correct relative to the subdirectory.
-      # A "../" for each directory in /$ac_config_dir.
-      ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
       case "$cache_file" in
       /*) ac_sub_cache_file=$cache_file ;;
       *) # Relative path.
       case "$cache_file" in
       /*) ac_sub_cache_file=$cache_file ;;
       *) # Relative path.
@@ -1392,6 +1517,7 @@ fi
 eval "DIR_DATADIR=$datadir"
 DIR_DATADIR="$DIR_DATADIR/lilypond"
 echo $ac_n "checking ""... $ac_c" 1>&6
 eval "DIR_DATADIR=$datadir"
 DIR_DATADIR="$DIR_DATADIR/lilypond"
 echo $ac_n "checking ""... $ac_c" 1>&6
+echo "configure:1521: checking " >&5
 
 cat << EOF > lib/out/config.hh
 
 
 cat << EOF > lib/out/config.hh
 
index cbb44304995098b79545ada035624182810715a3..309488cae9181f8de5d1345e9a61a99de1552d27 100644 (file)
@@ -75,7 +75,6 @@ if test FIND = error; then
    AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-texprefix)
 else 
     
    AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-texprefix)
 else 
     
-
 AC_SUBST(DEFINES)
 AC_SUBST(COMPILEINFO)
 AC_SUBST(AUTOHEADER)
 AC_SUBST(DEFINES)
 AC_SUBST(COMPILEINFO)
 AC_SUBST(AUTOHEADER)
index 6a71998fdeb983afacf5d0cea099154e3b0b8c4a..f24e0f3d24f766dc441e64ab058120c060ce61c3 100644 (file)
@@ -31,7 +31,7 @@ include ./$(depth)/make/Files.make
 CXXFLAGS+=-O2
 # descent order into subdirectories:
 #
 CXXFLAGS+=-O2
 # descent order into subdirectories:
 #
-SUBDIRS = test include
+SUBDIRS = include test 
 #
 
 # list of distribution files:
 #
 
 # list of distribution files:
index dfd036f7410112ec7087b309be00ef91ab85a2de..5d9e6842ad34c46132112193ec5b8012f54760ce 100644 (file)
@@ -3,7 +3,7 @@
 % It has a lot of hard-wired stringconstants
 %
 
 % It has a lot of hard-wired stringconstants
 %
 
-tablesixteen= 
+table_sixteen= 
 \symboltables {
 
    \texid      "\musixsixteendefs"
 \symboltables {
 
    \texid      "\musixsixteendefs"
@@ -139,4 +139,4 @@ tablesixteen=
      }
 
 }
      }
 
 }
-defaulttable = \symboltables { tablesixteen }
+default_table = \symboltables { table_sixteen }
index d2e1363371e9d723bbf44839689fbe2cc3260396..94a5042a3f7ac7e4f21d66afd3fd7ea2c9769981 100644 (file)
@@ -14,8 +14,8 @@ include ./$(depth)/make/Include.make
 
 # list of distribution files:
 # 
 
 # list of distribution files:
 # 
-LYFILES = $(shell ls *.ly)
-TEXFILES = $(shell ls *.tex)
+LYFILES = $(wildcard *.ly)
+TEXFILES = $(wildcard *.tex)
 DISTFILES = Makefile $(LYFILES) $(TEXFILES)
 #
 
 DISTFILES = Makefile $(LYFILES) $(TEXFILES)
 #
 
index b1fe77a160f492847bd12f2ca037c2fe7b990ca0..ebef5ed7a105602076264ed92510d36a4b0aaa9a 100644 (file)
@@ -5,10 +5,11 @@
 %
 
 cad = \music { 
 %
 
 cad = \music { 
-       \duration { 8}
+               \cadenza {1}
+               \grouping{1*4}\duration { 8}
        \textstyle "italic"
        \clef \violin 
        \textstyle "italic"
        \clef \violin 
-       c'4.\mf g8
+       c'4.mf g8
        \textstyle  "roman" 
 
        [e'^"accel" ()d' c' b]
        \textstyle  "roman" 
 
        [e'^"accel" ()d' c' b]
@@ -45,14 +46,11 @@ cad = \music {
        c4
        }
 
        c4
        }
 
-score {
+\score {
        \staff { \melodic
                \music { cad }
        }
        \staff { \melodic
                \music { cad }
        }
-       \co\mmands {
-               \cadenza {1}
-               grouping{1*4}
-       }
+       
        \paper {}
        \paper {}
-       \midi { \tempo 4:80 }
+       \midi { \tempo 4:90 }
 }
 }
index 29a7b38c02562615ddba836efccd674b5c3c7038..ad468d0573b47a943db5d1f7bcb3953dcf9e9001 100644 (file)
@@ -70,10 +70,10 @@ alto = \music {
        
 }
 
        
 }
 
-score {
+\score {
        \staff { \melodic \music { alto }}
 
        \staff { \melodic \music { alto }}
 
-       }
+       
        \paper { 
                \unitspace 14\mm
                \geometric 1.4
        \paper { 
                \unitspace 14\mm
                \geometric 1.4
index 66b3760844bd0d4087207b29e518c4ff627e8d8f..570300af987159d0a14ae219e3028bb6b8b3da5f 100644 (file)
@@ -5,7 +5,7 @@ mwa = \music {
        [ a8 a8 a8 a8 a8 ]      % 
        [ a8 ]  % 
 %       segfault
        [ a8 a8 a8 a8 a8 ]      % 
        [ a8 ]  % 
 %       segfault
-       { \\music{ [ bes^"1"( )a bes-. g-. ] a4-.^"4" } \\music{ [ e ] } \\music{ [ c ] } } |
+       < { [ bes^"1"( )a bes-. g-. ] a4-.^"4" } { [ e ] } { [ c ] } > |
        a ) b ] c       % warning
        &               % ok; error
        a b ) ]         % ok; error
        a ) b ] c       % warning
        &               % ok; error
        a b ) ]         % ok; error
index c42cc42775db08b01c8610fe0d8dd690f691f084..630b94a4bad51cbd3a7eaf5d7dd52e6cea66cd16 100644 (file)
@@ -11,120 +11,120 @@ track0 = \music {
 track1 = \music { 
        % \midi copyright:
        % instrument:
 track1 = \music { 
        % \midi copyright:
        % instrument:
-       g8 a8 b8 c'8. { \\music{ d'16 } } { \\music{ c'16 } } 
-       { \\music{ b8 } } e'8 a8 { \\music{ d'8. } } e'16 
+       g8 a8 b8 c'8. { \music{ d'16 } } { \music{ c'16 } } 
+       { \music{ b8 } } e'8 a8 { \music{ d'8. } } e'16 
        d'16 c'16 b16 g16 a16 b16 c'16 b16 c'16 d'16 e'16 
        d'16 e'16 fis'16 g'8 b8 c'8 a8 d'16 c'16 b16 a16 { 
        d'16 c'16 b16 g16 a16 b16 c'16 b16 c'16 d'16 e'16 
        d'16 e'16 fis'16 g'8 b8 c'8 a8 d'16 c'16 b16 a16 { 
-       \\music{ g8. } } g16 f16 e16 f16 g16 a16 g16 a16 b16 
-       c'2 b4 c'8 d'8 e'8 f'8. { \\music{ f'16 } \\music{ 
+       \music{ g8. } } g16 f16 e16 f16 g16 a16 g16 a16 b16 
+       c'2 b4 c'8 d'8 e'8 f'8. { \music{ f'16 } \music{ 
        g'16 } } e'8 a'8 d'8 g'8. a'16 g'16 f'16 e'8 a'8. 
        b'16 a'16 g'16 f'2 e'8. fis'16 g'2 fis'4 g'16 f'16 
        e'16 d'16 c'16 d'16 c'16 b16 a16 c'16 b16 a16 c'16 
        a16 gis8 e'8 d'8 c'16 b16 a16 gis16 a16 b16 c'16 
        fis16 gis16 a16 b8 a16 b16 c'8 f'8 e'8 d'4 c'16 b16 
        g'16 } } e'8 a'8 d'8 g'8. a'16 g'16 f'16 e'8 a'8. 
        b'16 a'16 g'16 f'2 e'8. fis'16 g'2 fis'4 g'16 f'16 
        e'16 d'16 c'16 d'16 c'16 b16 a16 c'16 b16 a16 c'16 
        a16 gis8 e'8 d'8 c'16 b16 a16 gis16 a16 b16 c'16 
        fis16 gis16 a16 b8 a16 b16 c'8 f'8 e'8 d'4 c'16 b16 
-       { \\music{ c'16 } } { \\music{ b16 } } { \\music{ b16 
-       b16 } \\music{ c'16 c'16 } \\music{ b16 } \\music{ 
-       c'16 c'16 } } { } { \\music{ b16 } } { \\music{ a16 } 
-       } a4 g8 a8 b8 c'8. { \\music{ d'16 } } { \\music{ 
-       c'16 } } { \\music{ b8 } } c'8 d'8 e'8 f'8. { \\music{
-        g'16 } } { \\music{ f'16 } } { \\music{ e'8 } } a'8 
+       { \music{ c'16 } } { \music{ b16 } } { \music{ b16 
+       b16 } \music{ c'16 c'16 } \music{ b16 } \music{ 
+       c'16 c'16 } } { } { \music{ b16 } } { \music{ a16 } 
+       } a4 g8 a8 b8 c'8. { \music{ d'16 } } { \music{ 
+       c'16 } } { \music{ b8 } } c'8 d'8 e'8 f'8. { \music{
+        g'16 } } { \music{ f'16 } } { \music{ e'8 } } a'8 
        d'8 g'8. a'16 g'16 f'16 e'8 a'8 d'8 ais'8 a'8 g'16 
        d'8 g'8. a'16 g'16 f'16 e'8 a'8 d'8 ais'8 a'8 g'16 
-       f'16 g'16 f'16 g'16 e'16 f'16 { \\music{ g'16 } } { 
-       \\music{ g'16 } } { \\music{ a'16 } } { \\music{ g'16 }
-        } { } { } { \\music{ f'16 } } { \\music{ g'16 } } { 
-       \\music{ a'16 } } cis'16 d'16 g'16 { \\music{ f'16 } 
-       } { \\music{ e'16 } } { \\music{ f'16 } } { \\music{ 
-       e'16 } } { } { \\music{ f'16 } } { } { } { } { 
-       \\music{ e'8 } } { } d'16 d'8 g8 a8 b8 c'8 d'16 { 
-       \\music{ c'16 } } { \\music{ b8 } } e'8 a8 { \\music{ 
+       f'16 g'16 f'16 g'16 e'16 f'16 { \music{ g'16 } } { 
+       \music{ g'16 } } { \music{ a'16 } } { \music{ g'16 }
+        } { } { } { \music{ f'16 } } { \music{ g'16 } } { 
+       \music{ a'16 } } cis'16 d'16 g'16 { \music{ f'16 } 
+       } { \music{ e'16 } } { \music{ f'16 } } { \music{ 
+       e'16 } } { } { \music{ f'16 } } { } { } { } { 
+       \music{ e'8 } } { } d'16 d'8 g8 a8 b8 c'8 d'16 { 
+       \music{ c'16 } } { \music{ b8 } } e'8 a8 { \music{ 
        d'8. } } e'16 d'16 c'16 b16 c'16 d'16 e'16 f'16 
        d'8. } } e'16 d'16 c'16 b16 c'16 d'16 e'16 f'16 
-       g'16 a'16 g'16 f'16 e'16 d'16 c'16 { \\music{ c'16 } 
-       } { \\music{ b16 } } { \\music{ c'16 } } { } { } { 
-       \\music{ b8. } } c'8 d'8 g8 { \\music{ c'4 } } b8 c'4 
-       b8 ais8 a8 { \\music{ d'4 } } c'8 d'8 e'8 f'4 a'16 { 
-       \\music{ g'16 } } f'16 e'16 { \\music{ f'16 } } { 
-       \\music{ e'16 } } d'16 c'2 g16 { \\music{ a16 } } b16 
-       c'16 d'16 e'16 { \\music{ f'8. } } { \\music{ d'16 } 
-       \\music{ c'16 e'16 } } f'16 { \\music{ g'16 } } { 
-       \\music{ a'8. } } b'16 c''2 
+       g'16 a'16 g'16 f'16 e'16 d'16 c'16 { \music{ c'16 } 
+       } { \music{ b16 } } { \music{ c'16 } } { } { } { 
+       \music{ b8. } } c'8 d'8 g8 { \music{ c'4 } } b8 c'4 
+       b8 ais8 a8 { \music{ d'4 } } c'8 d'8 e'8 f'4 a'16 { 
+       \music{ g'16 } } f'16 e'16 { \music{ f'16 } } { 
+       \music{ e'16 } } d'16 c'2 g16 { \music{ a16 } } b16 
+       c'16 d'16 e'16 { \music{ f'8. } } { \music{ d'16 } 
+       \music{ c'16 e'16 } } f'16 { \music{ g'16 } } { 
+       \music{ a'8. } } b'16 c''2 
 } % track1
 
 track2 = \music { 
        % \midi copyright:
        % instrument:
 } % track1
 
 track2 = \music { 
        % \midi copyright:
        % instrument:
-       c8 d8 e8 f8. { \\music{ g16 } } { \\music{ f16 } } { 
-       \\music{ e8 } } a8 d8 { \\music{ g8. } } a16 g16 f16 
-       e16 f16 e16 d16 c16 d16 c16 `b16 `a8 fis8 { \\music{ 
+       c8 d8 e8 f8. { \music{ g16 } } { \music{ f16 } } { 
+       \music{ e8 } } a8 d8 { \music{ g8. } } a16 g16 f16 
+       e16 f16 e16 d16 c16 d16 c16 `b16 `a8 fis8 { \music{ 
        g4. } } f16 e16 f8 d8 g8 f8 e8 d8 g4 f16 e16 f4 f16 
        e8 d4 c8 f8 g16 f16 e16 f8 d8 g4.. g8 a8 b8 { 
        g4. } } f16 e16 f8 d8 g8 f8 e8 d8 g4 f16 e16 f4 f16 
        e8 d4 c8 f8 g16 f16 e16 f8 d8 g4.. g8 a8 b8 { 
-       \\music{ c'8. } } { \\music{ d'16 } } { \\music{ c'16 }
-        } { \\music{ b8 } } e'8 a8 { \\music{ d'8. } } e'16 
-       d'16 c'16 b8 d8 e8 fis8 { \\music{ g8. } } { \\music{ 
-       a16 } } { \\music{ g16 } } { \\music{ f8 } } b8 e8 
+       \music{ c'8. } } { \music{ d'16 } } { \music{ c'16 }
+        } { \music{ b8 } } e'8 a8 { \music{ d'8. } } e'16 
+       d'16 c'16 b8 d8 e8 fis8 { \music{ g8. } } { \music{ 
+       a16 } } { \music{ g16 } } { \music{ f8 } } b8 e8 
        a8. b16 a16 gis16 fis8 f8 e8 d8. e16 fis16 gis16 
        a16 gis16 a16 b16 gis16 fis16 gis16 a16 b8 c8 d8 e8 
        a8. b16 a16 gis16 fis8 f8 e8 d8. e16 fis16 gis16 
        a16 gis16 a16 b16 gis16 fis16 gis16 a16 b8 c8 d8 e8 
-       { \\music{ f8. } } { \\music{ g16 } } { \\music{ f16 } 
-       } { \\music{ e8 } } a8 d8 g8. a16 g16 f16 e16 e16 
-       fis16 g4 fis8 gis8 { \\music{ a4 } } g8 a8 b8 { 
-       \\music{ c'8. } } { \\music{ d'16 } } { \\music{ c'16 }
-        } { \\music{ b8 } } e'8 a8 d'8. e'16 d'16 c'16 b8 
+       { \music{ f8. } } { \music{ g16 } } { \music{ f16 } 
+       } { \music{ e8 } } a8 d8 g8. a16 g16 f16 e16 e16 
+       fis16 g4 fis8 gis8 { \music{ a4 } } g8 a8 b8 { 
+       \music{ c'8. } } { \music{ d'16 } } { \music{ c'16 }
+        } { \music{ b8 } } e'8 a8 d'8. e'16 d'16 c'16 b8 
        g'8 cis'8 d'8 e'8 cis'8 d'8 e'8 a8 e8 fis8 g8 { 
        g'8 cis'8 d'8 e'8 cis'8 d'8 e'8 a8 e8 fis8 g8 { 
-       \\music{ a8. } } { \\music{ b16 } } { \\music{ a16 } } 
-       { \\music{ g8 } } c'8 fis8 { \\music{ b8. } } c'16 
+       \music{ a8. } } { \music{ b16 } } { \music{ a16 } } 
+       { \music{ g8 } } c'8 fis8 { \music{ b8. } } c'16 
        b16 a16 g16 fis16 e16 d16 e4 d4 a16 g16 f16 e16 g16 
        b16 a16 g16 fis16 e16 d16 e4 d4 a16 g16 f16 e16 g16 
-       f16 a16 g4 a16 ais8 { \\music{ c'4 } } d'8 g8 { 
-       \\music{ g4. } } f4 e8 d4 e16 a4 g4 f8 g8 a8 { 
-       \\music{ ais8. } } { \\music{ c'16 } } { \\music{ 
-       ais16 } } { \\music{ a8 } } d'8 g8 { \\music{ c'8. } 
+       f16 a16 g4 a16 ais8 { \music{ c'4 } } d'8 g8 { 
+       \music{ g4. } } f4 e8 d4 e16 a4 g4 f8 g8 a8 { 
+       \music{ ais8. } } { \music{ c'16 } } { \music{ 
+       ais16 } } { \music{ a8 } } d'8 g8 { \music{ c'8. } 
        } d'16 c'16 ais16 a16 ais16 a16 g16 f16 g16 f16 e16 
        } d'16 c'16 ais16 a16 ais16 a16 g16 f16 g16 f16 e16 
-       g16 a4 f'16 d'8 { \\music{ e'2 } \\music{ g'2 } } 
+       g16 a4 f'16 d'8 { \music{ e'2 } \music{ g'2 } } 
 } % track2
 
 track3 = \music { 
        % \midi copyright:
        % instrument:
 } % track2
 
 track3 = \music { 
        % \midi copyright:
        % instrument:
-       `g8 `a8 `b8 c8. { \\music{ d16 } } { \\music{ c16 } } 
-       { \\music{ `b8 } } e8 `a8 { \\music{ d8. } } e16 d16 
+       `g8 `a8 `b8 c8. { \music{ d16 } } { \music{ c16 } } 
+       { \music{ `b8 } } e8 `a8 { \music{ d8. } } e16 d16 
        c16 `b8 c4 `ais8 `a8 d8 `g8 c8 `a16 `b16 c16 d4 `g4 
        c16 `b8 c4 `ais8 `a8 d8 `g8 c8 `a16 `b16 c16 d4 `g4 
-       `g8 `a8 `b8 c8. { \\music{ d16 } } { \\music{ c16 } } 
+       `g8 `a8 `b8 c8. { \music{ d16 } } { \music{ c16 } } 
        { } `b8 e8 `a8 d8. e16 d16 c16 `b8 e4. d4 `b16 c16 
        `a16 e16 d16 c16 `b16 c16 `a16 `b16 c16 d16 c16 
        { } `b8 e8 `a8 d8. e16 d16 c16 `b8 e4. d4 `b16 c16 
        `a16 e16 d16 c16 `b16 c16 `a16 `b16 c16 d16 c16 
-       `b16 `a16 `g4 `e8 `fis8 `gis8 `a8. { \\music{ `b16 } 
-       } { \\music{ `a16 } } { \\music{ `g8 } } c8 `fis8 
-       `b8. c16 `b16 `a16 `gis8 { \\music{ `a4 } } `gis8 
-       `a4 `g8 `a8 `b8 c8. { \\music{ d16 } } { \\music{ c16 
-       } } { \\music{ `b8 } } e8 `a8 d4 `g8 d4 c8 `a8 e4 d8 
-       `a8 `b8 cis8 d8. { \\music{ e16 } } { \\music{ d16 } 
-       } { \\music{ c8 } } f8 `b8 e8. f16 e16 d16 cis8 `a8 
-       `b8 cis8 d8. { \\music{ e16 } } { \\music{ d16 } } { 
-       \\music{ c8 } } fis8 `b8 e8. fis16 e16 d16 c4.. d16 
-       c16 `b16 `a16 `g16 `a16 `fis16 `g8 `b8 c8 { \\music{ 
-       d8 } } e8. { \\music{ f16 } } { \\music{ e16 } } { 
-       \\music{ d8 } } g8 c8 f8. g16 f16 e16 d4 e8 d4 { 
-       \\music{ `g8 } } `g4. `c8 `d8 `e8 `f8. { \\music{ 
-       `g16 } } { \\music{ `f16 } } { \\music{ `e8 } } `a8 
-       `d8 { \\music{ `g8. } } `a16 `g16 `f16 `e16 `d16 
+       `b16 `a16 `g4 `e8 `fis8 `gis8 `a8. { \music{ `b16 } 
+       } { \music{ `a16 } } { \music{ `g8 } } c8 `fis8 
+       `b8. c16 `b16 `a16 `gis8 { \music{ `a4 } } `gis8 
+       `a4 `g8 `a8 `b8 c8. { \music{ d16 } } { \music{ c16 
+       } } { \music{ `b8 } } e8 `a8 d4 `g8 d4 c8 `a8 e4 d8 
+       `a8 `b8 cis8 d8. { \music{ e16 } } { \music{ d16 } 
+       } { \music{ c8 } } f8 `b8 e8. f16 e16 d16 cis8 `a8 
+       `b8 cis8 d8. { \music{ e16 } } { \music{ d16 } } { 
+       \music{ c8 } } fis8 `b8 e8. fis16 e16 d16 c4.. d16 
+       c16 `b16 `a16 `g16 `a16 `fis16 `g8 `b8 c8 { \music{ 
+       d8 } } e8. { \music{ f16 } } { \music{ e16 } } { 
+       \music{ d8 } } g8 c8 f8. g16 f16 e16 d4 e8 d4 { 
+       \music{ `g8 } } `g4. `c8 `d8 `e8 `f8. { \music{ 
+       `g16 } } { \music{ `f16 } } { \music{ `e8 } } `a8 
+       `d8 { \music{ `g8. } } `a16 `g16 `f16 `e16 `d16 
        `e16 `f16 `g16 `a16 `ais16 `g16 `a16 `e16 `f16 `g16 
        `e16 `f16 `g16 `a16 `ais16 `g16 `a16 `e16 `f16 `g16 
-       `a16 `b16 c16 { \\music{ `a16 } \\music{ d2 } } c1 
+       `a16 `b16 c16 { \music{ `a16 } \music{ d2 } } c1 
 } % track3
 
 track4 = \music { 
        % \midi copyright:
        % instrument:
 } % track3
 
 track4 = \music { 
        % \midi copyright:
        % instrument:
-       `c8 `d8 `e8 `f8. { \\music{ `g16 } } { \\music{ `f16 }
-        } { \\music{ `e8 } } `a8 `d8 { \\music{ `g8. } } 
+       `c8 `d8 `e8 `f8. { \music{ `g16 } } { \music{ `f16 }
+        } { \music{ `e8 } } `a8 `d8 { \music{ `g8. } } 
        `a16 `g16 `f16 `e16 `f16 `e16 `d16 `c16 `d16 `c16 
        ``b16 ``a8 `d8 `a8 `fis8 `g16 `a16 `ais16 `g16 
        `cis8 `d8 `a4 `e4 `a16 `b16 c16 d16 c16 `b16 `a16 
        `a16 `g16 `f16 `e16 `f16 `e16 `d16 `c16 `d16 `c16 
        ``b16 ``a8 `d8 `a8 `fis8 `g16 `a16 `ais16 `g16 
        `cis8 `d8 `a4 `e4 `a16 `b16 c16 d16 c16 `b16 `a16 
-       `g16 c8 ``g8 ``a8 ``b8 `c8. { \\music{ `d16 } } { 
-       \\music{ `c16 } } { \\music{ ``b8 } } `e8 ``a8 `d8. 
-       `e16 `d16 `c16 { \\music{ ``b8 } } `e4 `d8 `c8 `f4 
+       `g16 c8 ``g8 ``a8 ``b8 `c8. { \music{ `d16 } } { 
+       \music{ `c16 } } { \music{ ``b8 } } `e8 ``a8 `d8. 
+       `e16 `d16 `c16 { \music{ ``b8 } } `e4 `d8 `c8 `f4 
        `e4 `d4 `e8 `f8 `e16 `d16 `e4 ``a4 ``g8 ``a8 ``b8 
        `e4 `d4 `e8 `f8 `e16 `d16 `e4 ``a4 ``g8 ``a8 ``b8 
-       `c8. { \\music{ `d16 } } { \\music{ `c16 } } { \\music{
+       `c8. { \music{ `d16 } } { \music{ `c16 } } { \music{
         ``b8 } } `e8 ``a8 `d8. `e16 `d16 `c16 ``b8 ai``s8 
        ``a8 ``g8 ``a8 `fis8 `g8 `e8 `d4 `e8 `f8 `g8. { 
         ``b8 } } `e8 ``a8 `d8. `e16 `d16 `c16 ``b8 ai``s8 
        ``a8 ``g8 ``a8 `fis8 `g8 `e8 `d4 `e8 `f8 `g8. { 
-       \\music{ `a16 } } { \\music{ `g16 } } { \\music{ `f8 } 
-       } `ais8 `e8 `a8. `b16 { \\music{ `a16 } } `g16 `f16 
+       \music{ `a16 } } { \music{ `g16 } } { \music{ `f8 } 
+       } `ais8 `e8 `a8. `b16 { \music{ `a16 } } `g16 `f16 
        `e16 `f16 `d16 `g8 `a8 `d4.. `e16 `d16 `c16 ``b16 
        ``a16 ``g16 fi``s16 ``e8 `e8 `fis8 `g4 `a16 `g16 
        `fis8 `d8 `g1 `a4 `b8 c8 `f16 `a16 `g16 `f16 `e16 
        `e16 `f16 `d16 `g8 `a8 `d4.. `e16 `d16 `c16 ``b16 
        ``a16 ``g16 fi``s16 ``e8 `e8 `fis8 `g4 `a16 `g16 
        `fis8 `d8 `g1 `a4 `b8 c8 `f16 `a16 `g16 `f16 `e16 
index d1e704afe21d780a018398350d875541d5fa8f51..d26a7431bf44b39514b7b6ad8eb1d86e9cfcdff1 100644 (file)
@@ -34,7 +34,7 @@ melodie = \music {
                                % more of this.
 begeleiding =
 %      \clef bass              % bass-\clef
                                % more of this.
 begeleiding =
 %      \clef bass              % bass-\clef
-%      \\music {               % as you can see, the  sign obliges 
+%      \music {                % as you can see, the  sign obliges 
                                % you to precede \keyword by a backslash: \
        \music { 
        \clef "bass"
                                % you to precede \keyword by a backslash: \
        \music { 
        \clef "bass"
index c9cde44649343b3068cd48008695193c5820ddc2..ce3425fbb32260fc9591a896910dd2b8caf6b824 100644 (file)
@@ -3,9 +3,19 @@
 % COPYRIGHT: GPL
 %
 %
 % COPYRIGHT: GPL
 %
 %
+globals=\music{
+               \meter {4/ 4}
+               \partial {8}
+               \skip {1*8}
+               \skip {3*2 }
+               \bar ":|:"
+               \skip {1*2}
+               \meter {2/4}
+}
 
 ritme = \staff {
        rhythmic
 
 ritme = \staff {
        rhythmic
+       \music{globals}
        \music {
        c8
        |[a8() a8. a8 a16 a16 a16] c4.
        \music {
        c8
        |[a8() a8. a8 a16 a16 a16] c4.
@@ -25,6 +35,7 @@ ritme = \staff {
 melody=
 \staff {
        \melodic
 melody=
 \staff {
        \melodic
+       \music { globals }
        \music{
        c8\key{fis cis gis}
        |r4 r4 r4 r4
        \music{
        c8\key{fis cis gis}
        |r4 r4 r4 r4
@@ -32,15 +43,15 @@ melody=
        | r4 r8 r16 r32 r32 
 
        \duration {4}
        | r4 r8 r16 r32 r32 
 
        \duration {4}
-       {
-               \\music { c () `bes [c8 c8] }
-               \\music { fis' ()gisis' fis8 fis8 }
-               \\music { d () d dis8 dis8 }
-               \\music {  a  () bes eis8 eis8 }
-               \\music { fis () g gis8 gis8 }
-       }
+       <
+                { c () `bes [c8 c8] }
+                { fis' ()gisis' fis8 fis8 }
+                { d () d dis8 dis8 }
+                {  a  () bes eis8 eis8 }
+                { fis () g gis8 gis8 }
+       >
        \clef\tenor
        \clef\tenor
-       { c4 c'4 }
+       < c4 c'4 >
 
        [d8 e8 f'8 g8]  d8 e8 f8 g8
        |fis''2
 
        [d8 e8 f'8 g8]  d8 e8 f8 g8
        |fis''2
@@ -53,24 +64,16 @@ melody=
 
 }
 
 
 }
 
-score {
+\score {
        \paper {
                \geometric 1.4
                \unitspace 3.0 \cm
        }
 %      \staff { ritme } % broken for now
        \staff { melody }
        \paper {
                \geometric 1.4
                \unitspace 3.0 \cm
        }
 %      \staff { ritme } % broken for now
        \staff { melody }
-       \co\mmands {
-               \meter {4* 4}
-               \partial {8}
-               \skip {1*8}
-               \skip {3*2 }
-               \bar ":|:"
-               \skip {1*2}
-               \meter {2*4}
-
-       }
+       
 }
 
 
 
 }
 
 
 
+
index 97078db25541dfced031348bb86d9722831a0e78..9b3bf05604ab09577d84e7b4d71bcf8207984432 100644 (file)
@@ -101,7 +101,7 @@ violinI = \music {
 %39
        [ e'8 c' c' ] [ c'8 d' c' ] |
 %40
 %39
        [ e'8 c' c' ] [ c'8 d' c' ] |
 %40
-       c'4 { b4 d'4 } |
+       c'4 < b4 d'4 > |
 %41
        \textstyle "italic"
        \duration{8}
 %41
        \textstyle "italic"
        \duration{8}
diff --git a/input/new-twinkle.ly b/input/new-twinkle.ly
deleted file mode 100644 (file)
index 75eaf79..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-%  "Ah, vous dirais-je, maman" 
-%  "Altijd is Kortjakje ziek"
-%  "Twinkle twinkle little star"
-% 
-% Copyright: none
-
-melody = \melodic{
-       \clef\violin
-       c c | g g | a a | g g |
-       f f | e e | d [ d8.( e16 ] | )c2 \bar ":|"
-
-       g g | f f | e e | d d |
-%      g g | f f | e( [f0*32 e0*32 d0*32] [ e8. f16 ] | e )d | c c | 
-       g g | f f | e( [ e8. f16 ] | e )d |
-
-       c c | g g | a a | g g |
-       f f | e e | d [ d8.( e16 ] | )c2 \bar ":|"
-}
-
-accompany = \melodic{
-       \clef\bass
-       \octave{ c' }
-       c c' | e' c' | f' c' | e' c' | 
-       d' b | c' a | f g | c2 \bar ":|"
-
-       e' g | d g | c' g | b g | 
-%      e' g | d' g | c' [ c'8.( d'16 ] | \voice{ c' )b } \voice{ g2 } |
-       e' g | d' g | c' [ c'8.( d'16 ] | c' )b |
-
-       c c' | e' c' | f' c' | e' c' | 
-       d' b | c' a | f g | c2 \bar ":|"
-}
-
-original_text = \lyric{ 
-       \textstyle "italic" 
-       Ah! vous dir- ai_- je ma man2
-       Ce qui cau- se mon tour- ment2
-       Pa- pa veut que je rai- sonne2
-       Co\mme un- e grand- e per- sonne2
-       Moi je dis que les bon- bons2
-       Val- ent mieu que la rai- son2
-}
-
-tekst = \lyric{ 
-       Al- tijd is Kort- jak- je ziek,2
-       midden in_de week maar s'_zon- dags niet.2
-       s'_Zon- dags gaat ze naar de kerk,2
-       met een boek vol zil- ver werk.2
-       Al- tijd is Kort- jak- je ziek,2
-       midden in_de week maar s'_zon- dags niet.2
-}
-
-he_gedraagje_tekst = \lyric{ 
-       Al- tijd zuigt Bill Gates mijn piek,2
-       "\TeX" is slecht- ser dan mu- ziek.2
-       s''_Zon- dags gaat het door een raam,2
-       Weet dat ik me er- voor schaam.2
-       Al- tijd zuigt Bill Gates mijn piek,2
-       "\TeX" is slecht- ser dan mu- ziek.2
-}
-
-text1 = \lyric{
-       \textstyle "roman"
-       Twin- kle, twin- kle, lit- tle star,2
-       How I won- der what you are.2
-       Up a- bove the world so high,2
-       Like a dia- mond in the sky.2
-       Twin- kle, twin- kle, lit- tle star,2
-       How I won- der what you are!2
-}
-
-text2 = \lyric{
-       \textstyle "roman"
-       When the bla- zing sun is gone,2
-       When he no- thing shines up- on,2
-       Then you show your lit- tle light,2
-       Twin- kle, twin- kle, all the night.2
-       Twin- kle, twin- kle, lit- tle star,2
-       How I won- der what you are!2
-}
-
-text3 = \lyric{
-       \textstyle "roman"
-       Then the tra- veler in the dark2
-       Thanks you for your ti- ny spark;2
-       He_could not see which way to go,2
-       If you did not twin- kle so.2
-       Twin- kle, twin- kle, lit- tle star,2
-       How I won- der what you are!2
-}
-
-\score{
-       \\staff{ melody }
-       \\staff{ tekst }
-       \\staff{ original_text }
-       \\staff{ text1 text2 text3 }
-       \\staff{ accompany }
-       \co\mmands{
-               \meter{ 2/4 }
-               \skip{ 24 }
-       }
-       \midi{ 
-               \tempo 4:120 
-       }
-       \paper{
-               \unitspace 2.5\cm
-       }
-}
-
index 75382fdd8f1ae8666316653e60b434712a57d36d..d309296ddac2055c03351849719093728800d6c4 100644 (file)
@@ -6,7 +6,7 @@ melanie = \music {
        [ c d ] [ e { d g } c ]2/3 |
        [ c d ] [ c16 d16 e'16 e'16 d16 c16 ]4/6 |
        [ c d e e d c ]4/6 |
        [ c d ] [ e { d g } c ]2/3 |
        [ c d ] [ c16 d16 e'16 e'16 d16 c16 ]4/6 |
        [ c d e e d c ]4/6 |
-       [c d ] { \\music{ [ c d e ]2/3 } \\music{ [ f g a ]2/3 } } |
+       [c d ] { \music{ [ c d e ]2/3 } \music{ [ f g a ]2/3 } } |
        [ c d ] [ d c ] |
         
 }
        [ c d ] [ d c ] |
         
 }
index 4a3183ab999e08d6204a243daf6e3c434ec754d8..3945d68be85cc6619d5d90a200d39dd49c81ba4f 100644 (file)
@@ -12,106 +12,106 @@ track0 = \music {
 track1 = \music { 
        % \midi copyright:
        % instrument:
 track1 = \music { 
        % \midi copyright:
        % instrument:
-       { \\music{ g16 c'16 e'16 g16 c'16 e'16 } } { \\music{ 
-       g16 c'16 e'16 g16 c'16 e'16 } } { \\music{ a16 d'16 
-       f'16 a16 d'16 f'16 } } { \\music{ a16 d'16 f'16 a16 
-       d'16 f'16 } } { \\music{ g16 d'16 f'16 g16 d'16 f'16 
-       } } { \\music{ g16 d'16 f'16 g16 d'16 f'16 } } { 
-       \\music{ g16 c'16 e'16 g16 c'16 e'16 } } { \\music{ 
-       g16 c'16 e'16 g16 c'16 e'16 } } { \\music{ a16 e'16 
-       a'16 a16 e'16 a'16 } } { \\music{ a16 e'16 a'16 a16 
-       e'16 a'16 } } { \\music{ fis16 a16 d'16 fis16 a16 
-       d'16 } } { \\music{ fis16 a16 d'16 fis16 a16 d'16 } 
-       } { \\music{ g16 d'16 g'16 g16 d'16 g'16 } } { 
-       \\music{ g16 d'16 g'16 g16 d'16 g'16 } } { \\music{ 
-       e16 g16 c'16 e16 g16 c'16 } } { \\music{ e16 g16 
-       c'16 e16 g16 c'16 } } { \\music{ e16 g16 c'16 e16 
-       g16 c'16 } } { \\music{ e16 g16 c'16 e16 g16 c'16 } 
-       } { \\music{ d16 fis16 c'16 d16 fis16 c'16 } } { 
-       \\music{ d16 fis16 c'16 d16 fis16 c'16 } } { \\music{ 
-       d16 g16 b16 d16 g16 b16 } } { \\music{ d16 g16 b16 
-       d16 g16 b16 } } { \\music{ e16 g16 cis'16 e16 g16 
-       cis'16 } } { \\music{ e16 g16 cis'16 e16 g16 cis'16 }
-        } { \\music{ d16 a16 d'16 d16 a16 d'16 } } { \\music{
-        d16 a16 d'16 d16 a16 d'16 } } { \\music{ d16 f16 
-       b16 d16 f16 b16 } } { \\music{ d16 f16 b16 d16 f16 
-       b16 } } { \\music{ c16 g16 c'16 c16 g16 c'16 } } { 
-       \\music{ c16 g16 c'16 c16 g16 c'16 } } { \\music{ 
-       `a16 c16 f16 `a16 c16 f16 } } { \\music{ `a16 c16 
-       f16 `a16 c16 f16 } } { \\music{ `a16 c16 f16 `a16 
-       c16 f16 } } { \\music{ `a16 c16 f16 `a16 c16 f16 } } 
-       { \\music{ `g16 `b16 f16 `g16 `b16 f16 } } { \\music{ 
-       `g16 `b16 f16 `g16 `b16 f16 } } { \\music{ `g16 c16 
-       e16 `g16 c16 e16 } } { \\music{ `g16 c16 e16 `g16 
-       c16 e16 } } { \\music{ `ais16 c16 e16 `ais16 c16 e16 
-       } } { \\music{ `ais16 c16 e16 `ais16 c16 e16 } } { 
-       \\music{ `a16 c16 e16 `a16 c16 e16 } } { \\music{ 
-       `a16 c16 e16 `a16 c16 e16 } } { \\music{ `a16 c16 
-       dis16 `a16 c16 dis16 } } { \\music{ `a16 c16 dis16 
-       `a16 c16 dis16 } } { \\music{ `b16 c16 d16 `b16 c16 
-       d16 } } { \\music{ `b16 c16 d16 `b16 c16 d16 } } { 
-       \\music{ `g16 `b16 d16 `g16 `b16 d16 } } { \\music{ 
-       `g16 `b16 d16 `g16 `b16 d16 } } { \\music{ `g16 c16 
-       e16 `g16 c16 e16 } } { \\music{ `g16 c16 e16 `g16 
-       c16 e16 } } { \\music{ `g16 c16 f16 `g16 c16 f16 } } 
-       { \\music{ `g16 c16 f16 `g16 c16 f16 } } { \\music{ 
-       `g16 `b16 f16 `g16 `b16 f16 } } { \\music{ `g16 `b16 
-       f16 `g16 `b16 f16 } } { \\music{ `a16 c16 fis16 `a16 
-       c16 fis16 } } { \\music{ `a16 c16 fis16 `a16 c16 
-       fis16 } } { \\music{ `g16 c16 g16 `g16 c16 g16 } } { 
-       \\music{ `g16 c16 g16 `g16 c16 g16 } } { \\music{ 
-       `g16 c16 f16 `g16 c16 f16 } } { \\music{ `g16 c16 
-       f16 `g16 c16 f16 } } { \\music{ `g16 `b16 f16 `g16 
-       `b16 f16 } } { \\music{ `g16 `b16 f16 `g16 `b16 f16 }
-        } { \\music{ `g16 `ais16 e16 `g16 `ais16 e16 } } { 
-       \\music{ `g16 `ais16 e16 `g16 `ais16 e16 } } { 
-       \\music{ `f16 `a16 c16 f16 c16 `a16 c16 `a16 `f16 
-       `a16 `f16 `d16 `f16 `d16 } } { \\music{ g16 b16 d'16 
+       { \music{ g16 c'16 e'16 g16 c'16 e'16 } } { \music{ 
+       g16 c'16 e'16 g16 c'16 e'16 } } { \music{ a16 d'16 
+       f'16 a16 d'16 f'16 } } { \music{ a16 d'16 f'16 a16 
+       d'16 f'16 } } { \music{ g16 d'16 f'16 g16 d'16 f'16 
+       } } { \music{ g16 d'16 f'16 g16 d'16 f'16 } } { 
+       \music{ g16 c'16 e'16 g16 c'16 e'16 } } { \music{ 
+       g16 c'16 e'16 g16 c'16 e'16 } } { \music{ a16 e'16 
+       a'16 a16 e'16 a'16 } } { \music{ a16 e'16 a'16 a16 
+       e'16 a'16 } } { \music{ fis16 a16 d'16 fis16 a16 
+       d'16 } } { \music{ fis16 a16 d'16 fis16 a16 d'16 } 
+       } { \music{ g16 d'16 g'16 g16 d'16 g'16 } } { 
+       \music{ g16 d'16 g'16 g16 d'16 g'16 } } { \music{ 
+       e16 g16 c'16 e16 g16 c'16 } } { \music{ e16 g16 
+       c'16 e16 g16 c'16 } } { \music{ e16 g16 c'16 e16 
+       g16 c'16 } } { \music{ e16 g16 c'16 e16 g16 c'16 } 
+       } { \music{ d16 fis16 c'16 d16 fis16 c'16 } } { 
+       \music{ d16 fis16 c'16 d16 fis16 c'16 } } { \music{ 
+       d16 g16 b16 d16 g16 b16 } } { \music{ d16 g16 b16 
+       d16 g16 b16 } } { \music{ e16 g16 cis'16 e16 g16 
+       cis'16 } } { \music{ e16 g16 cis'16 e16 g16 cis'16 }
+        } { \music{ d16 a16 d'16 d16 a16 d'16 } } { \music{
+        d16 a16 d'16 d16 a16 d'16 } } { \music{ d16 f16 
+       b16 d16 f16 b16 } } { \music{ d16 f16 b16 d16 f16 
+       b16 } } { \music{ c16 g16 c'16 c16 g16 c'16 } } { 
+       \music{ c16 g16 c'16 c16 g16 c'16 } } { \music{ 
+       `a16 c16 f16 `a16 c16 f16 } } { \music{ `a16 c16 
+       f16 `a16 c16 f16 } } { \music{ `a16 c16 f16 `a16 
+       c16 f16 } } { \music{ `a16 c16 f16 `a16 c16 f16 } } 
+       { \music{ `g16 `b16 f16 `g16 `b16 f16 } } { \music{ 
+       `g16 `b16 f16 `g16 `b16 f16 } } { \music{ `g16 c16 
+       e16 `g16 c16 e16 } } { \music{ `g16 c16 e16 `g16 
+       c16 e16 } } { \music{ `ais16 c16 e16 `ais16 c16 e16 
+       } } { \music{ `ais16 c16 e16 `ais16 c16 e16 } } { 
+       \music{ `a16 c16 e16 `a16 c16 e16 } } { \music{ 
+       `a16 c16 e16 `a16 c16 e16 } } { \music{ `a16 c16 
+       dis16 `a16 c16 dis16 } } { \music{ `a16 c16 dis16 
+       `a16 c16 dis16 } } { \music{ `b16 c16 d16 `b16 c16 
+       d16 } } { \music{ `b16 c16 d16 `b16 c16 d16 } } { 
+       \music{ `g16 `b16 d16 `g16 `b16 d16 } } { \music{ 
+       `g16 `b16 d16 `g16 `b16 d16 } } { \music{ `g16 c16 
+       e16 `g16 c16 e16 } } { \music{ `g16 c16 e16 `g16 
+       c16 e16 } } { \music{ `g16 c16 f16 `g16 c16 f16 } } 
+       { \music{ `g16 c16 f16 `g16 c16 f16 } } { \music{ 
+       `g16 `b16 f16 `g16 `b16 f16 } } { \music{ `g16 `b16 
+       f16 `g16 `b16 f16 } } { \music{ `a16 c16 fis16 `a16 
+       c16 fis16 } } { \music{ `a16 c16 fis16 `a16 c16 
+       fis16 } } { \music{ `g16 c16 g16 `g16 c16 g16 } } { 
+       \music{ `g16 c16 g16 `g16 c16 g16 } } { \music{ 
+       `g16 c16 f16 `g16 c16 f16 } } { \music{ `g16 c16 
+       f16 `g16 c16 f16 } } { \music{ `g16 `b16 f16 `g16 
+       `b16 f16 } } { \music{ `g16 `b16 f16 `g16 `b16 f16 }
+        } { \music{ `g16 `ais16 e16 `g16 `ais16 e16 } } { 
+       \music{ `g16 `ais16 e16 `g16 `ais16 e16 } } { 
+       \music{ `f16 `a16 c16 f16 c16 `a16 c16 `a16 `f16 
+       `a16 `f16 `d16 `f16 `d16 } } { \music{ g16 b16 d'16 
        f'16 d'16 b16 d'16 b16 g16 b16 d16 f16 e64 } } { 
        f'16 d'16 b16 d'16 b16 g16 b16 d16 f16 e64 } } { 
-       \\music{ f64 } } { } { \\music{ e32 } } { \\music{ d16 
-       } } { \\music{ c'1 } \\music{ g1 } \\music{ e1 } } 
+       \music{ f64 } } { } { \music{ e32 } } { \music{ d16 
+       } } { \music{ c'1 } \music{ g1 } \music{ e1 } } 
 } % track1
 
 % jcn: substituted some "2" \durations to "4."
 track2 = \music { 
        % \midi copyright:
        % instrument:
 } % track1
 
 % jcn: substituted some "2" \durations to "4."
 track2 = \music { 
        % \midi copyright:
        % instrument:
-       { \\music{ e4. } } { \\music{ e4. } } { \\music{ d4. } 
-       } { \\music{ d4. } } { \\music{ d4. } } { \\music{ d4. 
-       } } { \\music{ e4. } } { \\music{ e4. } } { \\music{ 
-       e4. } } { \\music{ e4. } } { \\music{ d4. } } { 
-       \\music{ d4. } } { \\music{ d4. } } { \\music{ d4. } } 
-       { \\music{ c4. } } { \\music{ c4. } } { \\music{ c4. } 
-       } { \\music{ c4. } } { \\music{ `a4. } } { \\music{ 
-       `a4. } } { \\music{ `b4. } } { \\music{ `b4. } } { 
-       \\music{ `ais4. } } { \\music{ `ais4. } } { \\music{ 
-       `a4. } } { \\music{ `a4. } } { \\music{ `gis4. } } { 
-       \\music{ `gis4. } } { \\music{ `g4. } } { \\music{ 
-       `g4. } } { \\music{ `f4. } } { \\music{ `f4. } } { 
-       \\music{ `f4. } } { \\music{ `f4. } } { \\music{ `d4. }
-        } { \\music{ `d4. } } { \\music{ `e4. } } { \\music{ 
-       `e4. } } { \\music{ `g4. } } { \\music{ `c4. } } { } { 
-       } { \\music{ `g4. } } { } { \\music{ ``f4. } } { 
-       \\music{ `f4. } } { \\music{ ``f4. } } { \\music{ `f4. }
-        } { \\music{ fi``s4. } } { \\music{ fi``s4. } \\music{ 
-       `c4. } } { } { \\music{ `c4. } } { \\music{ gi``s4. } } 
-       { \\music{ gi``s4. } \\music{ `f4. } } { } { \\music{ 
-       `f4. } } { \\music{ ``g4. } } { \\music{ ``g4. } \\music{
-        `f4. } } { } { \\music{ `f4. } } { \\music{ ``g4. } } 
-       { \\music{ ``g4. } \\music{ `e4. } } { } { \\music{ ``g4. 
-       } \\music{ `e4. } } { } { \\music{ ``g4. } \\music{ 
-       `d4. } } { } { \\music{ ``g4. } \\music{ `d4. } } { } { 
-       \\music{ `d4. } } { \\music{ ``g4. } } { \\music{ ``g4. }
-        \\music{ `d4. } } { } { \\music{ `dis4. } } { \\music{
-        ``g4. } } { \\music{ `dis4. } } { \\music{ ``g4. } } { 
-       \\music{ `e4. } } { \\music{ ``g4. } } { \\music{ `e4. }
-        } { \\music{ ``g4. } } { \\music{ `d4. } } { \\music{ 
-       ``g4. } } { \\music{ `d4. } } { \\music{ ``g4. } } { 
-       \\music{ `d4. } } { \\music{ ``g4. } } { \\music{ `d4. }
-        } { \\music{ ``c4. } } { \\music{ `c4. } } { \\music{ 
-       ``c4. } } { \\music{ `c4. } } { \\music{ ``c1 } } { 
-       \\music{ `c1 } } { \\music{ ``c1 } \\music{ ``b1 } } { 
-       } { } { } { \\music{ ``c1 } \\music{ `c1 } } 
+       { \music{ e4. } } { \music{ e4. } } { \music{ d4. } 
+       } { \music{ d4. } } { \music{ d4. } } { \music{ d4. 
+       } } { \music{ e4. } } { \music{ e4. } } { \music{ 
+       e4. } } { \music{ e4. } } { \music{ d4. } } { 
+       \music{ d4. } } { \music{ d4. } } { \music{ d4. } } 
+       { \music{ c4. } } { \music{ c4. } } { \music{ c4. } 
+       } { \music{ c4. } } { \music{ `a4. } } { \music{ 
+       `a4. } } { \music{ `b4. } } { \music{ `b4. } } { 
+       \music{ `ais4. } } { \music{ `ais4. } } { \music{ 
+       `a4. } } { \music{ `a4. } } { \music{ `gis4. } } { 
+       \music{ `gis4. } } { \music{ `g4. } } { \music{ 
+       `g4. } } { \music{ `f4. } } { \music{ `f4. } } { 
+       \music{ `f4. } } { \music{ `f4. } } { \music{ `d4. }
+        } { \music{ `d4. } } { \music{ `e4. } } { \music{ 
+       `e4. } } { \music{ `g4. } } { \music{ `c4. } } { } { 
+       } { \music{ `g4. } } { } { \music{ ``f4. } } { 
+       \music{ `f4. } } { \music{ ``f4. } } { \music{ `f4. }
+        } { \music{ fi``s4. } } { \music{ fi``s4. } \music{ 
+       `c4. } } { } { \music{ `c4. } } { \music{ gi``s4. } } 
+       { \music{ gi``s4. } \music{ `f4. } } { } { \music{ 
+       `f4. } } { \music{ ``g4. } } { \music{ ``g4. } \music{
+        `f4. } } { } { \music{ `f4. } } { \music{ ``g4. } } 
+       { \music{ ``g4. } \music{ `e4. } } { } { \music{ ``g4. 
+       } \music{ `e4. } } { } { \music{ ``g4. } \music{ 
+       `d4. } } { } { \music{ ``g4. } \music{ `d4. } } { } { 
+       \music{ `d4. } } { \music{ ``g4. } } { \music{ ``g4. }
+        \music{ `d4. } } { } { \music{ `dis4. } } { \music{
+        ``g4. } } { \music{ `dis4. } } { \music{ ``g4. } } { 
+       \music{ `e4. } } { \music{ ``g4. } } { \music{ `e4. }
+        } { \music{ ``g4. } } { \music{ `d4. } } { \music{ 
+       ``g4. } } { \music{ `d4. } } { \music{ ``g4. } } { 
+       \music{ `d4. } } { \music{ ``g4. } } { \music{ `d4. }
+        } { \music{ ``c4. } } { \music{ `c4. } } { \music{ 
+       ``c4. } } { \music{ `c4. } } { \music{ ``c1 } } { 
+       \music{ `c1 } } { \music{ ``c1 } \music{ ``b1 } } { 
+       } { } { } { \music{ ``c1 } \music{ `c1 } } 
 } % track4.
 
 score {
 } % track4.
 
 score {
index 21fa4ab36a120b7c0f39641724da37ee2043f3ed..a3f64906ae680636535f73b5e6a874d49670aa3a 100644 (file)
@@ -7,20 +7,22 @@ ritme = \staff {
        \melodic
 
        \music { 
        \melodic
 
        \music { 
+       \partial {1*8}  % doesnt' have to be here. 
+               \meter{ 4/4}
        c8                                      |
        c8                                      |
-
+       
        [a8() a8. a8 a16 a16 a16] c4.           |       % watch the beams!
         r32 r32 r16 r8 r4 r2                   |
        [a8() a8. a8 a16 a16 a16] c4.           |       % watch the beams!
         r32 r32 r16 r8 r4 r2                   |
-       \meter{  5*16}
+       \meter{  5/16}
 
        % divide measure in 5 equal parts. Usually it 2+3 or 3+2
        \grouping { 5*16 }      
        [c8 c16 c8 ]                            |       % watch THIS!
        \plet{5/4} [c16 c16 c16 c16]\plet{1/1} |
 
        % divide measure in 5 equal parts. Usually it 2+3 or 3+2
        \grouping { 5*16 }      
        [c8 c16 c8 ]                            |       % watch THIS!
        \plet{5/4} [c16 c16 c16 c16]\plet{1/1} |
-       \meter{  2*8}
+       \meter{  2/8}
        c4                              |
        c4      c4      c4      c4
        c4                              |
        c4      c4      c4      c4
-       \meter {4*4}
+       \meter {4/4}
        c1 c1 c1
        
 %      [c16 c16 c16 c16 ]                      |
        c1 c1 c1
        
 %      [c16 c16 c16 c16 ]                      |
@@ -35,30 +37,27 @@ ritme = \staff {
        % \music block;
        %
 
        % \music block;
        %
 
-       \co\mmands {    % override "\co\mmands" section of Score.
-               \partial {1*8}  % doesnt' have to be here. 
-               \meter{ 4*4}
-       }
+       
 }
 another = \staff {
        \melodic
 }
 another = \staff {
        \melodic
-       \music { 
-               c1 c1 c1 c4 c4 c4 c4  \meter{ 4*4} c1 c1 c1
+       \music { \meter{ 4/4} 
+               c1 c1 c1 c4 c4 c4 c4  \meter{ 4/4} c1 c1 c1
         }
 }
 
 yanother = \staff {
        \melodic
         }
 }
 
 yanother = \staff {
        \melodic
-       \music { 
+       \music { \meter{ 4/4} 
                c1 c1 c1 c4 c4 c4 c4  c1 c1 c1
         }
 }
 
                c1 c1 c1 c4 c4 c4 c4  c1 c1 c1
         }
 }
 
-score {
+\score {
        \staff{ritme}
        \staff { another }
        \staff { yanother }
        \staff{ritme}
        \staff { another }
        \staff { yanother }
-       \co\mmands { \meter {4*4 }}
+       
        \paper {
                \unitspace 2\cm
                \geometric 1.3
        \paper {
                \unitspace 2\cm
                \geometric 1.3
index cb38307579fc6b3b8689f95856c64c6020e8f7e1..ee267b8ce6c2506ff0b3108683c0f2c7e06fb151 100644 (file)
@@ -1,6 +1,8 @@
 
 blah =
 
 blah =
-\staff {\melodic
+\staff {\melodic\music{    \meter {6/8}
+                \skip {36*8}
+               \meter {4/4}}
        \music{         
 \duration { 8 }
                        \octave{ }
        \music{         
 \duration { 8 }
                        \octave{ }
@@ -43,18 +45,13 @@ c1
                }
 }
 
                }
 }
 
-score {
+\score {
        \staff {
        blah
        }
        \paper {
        \staff {
        blah
        }
        \paper {
-               symbol\tables { \table_sixteen}
+               \symboltables {table_sixteen}
                \unitspace 1.5 \cm
                \geometric 1.4
        }
                \unitspace 1.5 \cm
                \geometric 1.4
        }
-       \co\mmands  {
-                \meter {6*8}
-                \skip {36*8}
-               \meter {4*4}
-       }
 }
 }
index 824591f81f00aafa054342044e6fabae41d5ac86..b9f848715ba7502bf91735f6526fdbea1aaab1a4 100644 (file)
 %              % because piece is set very tightly
 %%1            % double co\mments are included in .tex file
 ii_menuetto = \music {
 %              % because piece is set very tightly
 %%1            % double co\mments are included in .tex file
 ii_menuetto = \music {
-       \clef"alto"
+       \clef"alto"\meter{3/4}
        \key {bes}
        \octave{}
        \duration{8}
        \key {bes}
        \octave{}
        \duration{8}
-       { a2 f2 d2_"\f" } bes4-.  |
+       < a2 f2 d2 df > bes4-.  |
 %%2
 %%2
-       { [ bes^"1" e c_"2"_"4" }
-%      (^ )
-       a bes-. g-. ] a4-.^"4" |
+       < [ bes^"1" e c_"2"_"4" >
+               a bes-. g-. ] a4-.^"4" |
 %%3
 %%3
-%      { d4 `bes4-.\stemup } \stemup: 2 \voices?
-       { d4 `bes4-. } g4-. [ f-. e-. ] |
+       < d4 `bes4-. > g4-. [ f-. e-. ] |
 %%4
 %%4
-%      { f `a } (^ e ) d cis-. `b-. `a-. ]
-%      [ f ( e ) d cis-. `b-. `a-. ]
-       { [ f `a } e d cis-. `b-. `a-. ]
+       < [ f `a > e d cis-. `b-. `a-. ]
 %%5
 %%5
-       { a2 f2 d2 } bes4-. | %   @bes4-. |
+       < a2 f2 d2 > bes4-. | %   @bes4-. |
 %%6
 %%6
-%      {  bes( e  }  ) a
-       { [ bes e } a bes-. g-. ]
+       < [ bes e > a bes-. g-. ]
        c'4-. | % =c'4-. |
 %%7
        c'4-. | % =c'4-. |
 %%7
-       { a4-. f4}
-%      { d'4-.-\upbow f4 `bes4\stemdown }
-       { d'4-.-\upbow f4 `bes4 }
-%      { e'4-.-\downbow g4 `g4\stemdown } |
-       { e'4-.-\downbow g4 `g4 } |
+       < a4-. f4>
+       < d'4-.-upbow f4 `bes4 >
+       < e'4-.-downbow g4 `g4 > |
 %%8
 %%8
-%      { cis'2.-\upbow e2. `a2.\stemdown } :|:%%sorry!!
-       { cis'2.-\upbow e2. `a2. } \bar ":|:"%%!! sorry!
+       < cis'2.-upbow e2. `a2. > \bar ":|:"%%!! sorry!
 %%9
        \clef "violin"
 %%9
        \clef "violin"
-%      { e'2 a2_f\stemdown }
-       { e'2 a2_"\f" }
+       < e'2 a2 df >
        [ d'( e'16 )f'16 ] |
 %%10
        [ d'( e'16 )f'16 ] |
 %%10
-%      [ { e'( g } ) d' cis'_{ }_{ }_2 e'
-       { [ e' g } d' cis'_"2" e' a( )g ] |
+       < [ e' g > d' cis'_"2" e' a( )g ] |
 %%11
 %%11
-%      { a4\stemup( f2\stemdown } ) d'4\stemup
-%      { cis'4\stemup-. e4\stemdown }
-       { \multi\voice \\music {\stem{1} a4(\stem{1}) d'4 cis'4-. } \\music { \stem{-1} f2 e4 } } |
+       < \multivoice  
+               {\stem{1} a4(\stem{1}) d'4 cis'4-. }
+               { \stem{-1} f2 e4 } > |
 %%12
 %%12
-%      { g'^4 d\stemdown } (^  f' e' ) f' d'^3(^ ) =c' ] |
-       { [ g'^"4" d } f' e' f' d'^"3"( ) c' ] |
-% %13
-%      { bes2\stemup g4\stemdown } ( )  f4
-%      { c'4\stemup e4\stemdown }
-%      { bes2 g4 } f4 { c'4 e4 } |
+       < [ g'^"4" d > f' e' f' d'^"3"( ) c' ] |
+%%13
        \clef "alto"% 
        \clef "alto"% 
-       { \multi\voice
-               \\music { \stem{1} bes2 c'4 }
-               \\music { \stem{-1} g4(\stem{-1}) f4 e4 }% ugh
-       } |
-%%%14
-%%     [ { a( f } ) g a f ] { d'4-\upbow e4 `bes4\stemdown } |
-       { [ a f } g a f ] { d'4-\upbow e4 `bes4 } |
-%%%15
-%%     { c'4-\downbow f4 `a4\stemdown } [ bes( )a g a ] |
-%      { c'4-\downbow f4 `a4 } [ bes( )a g a ] |
-%%%16
+       < \multivoice
+                { \stem{1} bes2 c'4 }
+                { \stem{-1} g4(\stem{-1}) f4 e4 }% ugh
+       > |
+%%14
+       < [ a f > g a f ] < d'4-upbow e4 `bes4 > |
+%%15
+       < c'4-\downbow f4 `a4 > [ bes( )a g a ] |
+%%16
        [ f( e )f a-. g-. bes-. ] |
        [ f( e )f a-. g-. bes-. ] |
-%% \tighten            % use one line less
-%% \newline            % \start new line
-%%     |
-%%%17
-%%     { a2^0^\tr fis2_3 } bes4 |
-       { a2^"0" fis2_"3" } bes4 |
-%%%18
-%%     [ { c'( es } ) bes c' a ] fis4^\tr |
-       { \\music{ [ c'( )bes c' a ] } \\music{ [ es ] } } fis4 |
-%%%19
-       { d'4-\downbow g4 `bes4 } { c'4-\upbow g4 c4 } { [ bes d } a ] |
-%%%20
-%%     [ { c'( d `g } bes a ) bes g ( ) bes ] |
-       { \\music{ [ c'( bes a )bes g( )bes ] } \\music{ [ d ] } \\music{ [ g ] } } |
-%%%21
-%%     { d'4\stemup g2\stemdown } (^ ) cis'4\stemup { d'4\stemup =f4\stemdown } |
-       { \multi\voice \\music {\stem{1}  d'4(\stem{1} ) cis'4 d'4 } \\music { \stem{-1} g2 f4 } } |
-%%%22
-%%     [ { g(  cis } )f g e ] { f4 d4 } |
-       { \\music{ [ g( )f g e ] } \\music{ [ cis ] } } { f4 d4 } |
-%%%23
-%%     [ `g g ] { e4.\stemup^\tr `a4.\stemdown } d\stemup-\upbow |
-       [ `g g ] { e4. `a4. } d-\upbow |
-%%%24
-%%     { d2.^{fine}  `a2. `d2.\stemup_{ }_{ }_{3 mins.}}       s4 :||
-%%     { \textstyle "italic" d2.^"fine" `a2. \textstyle "roman" `d2._"3 mins."} | % :||
-       { d2.^"fine" `a2. `d2._"3 mins."} \bar ":|" % \bar ":||"
+%%17
+       < a2^"0" fis2_"3" > bes4 |
+%%18
+       < { [ c'( )bes c' a ] } { [ es ] } > fis4 |
+%%19
+       < d'4-downbow g4 `bes4 > < c'4-upbow g4 c4 > < [ bes d > a ] |
+%%20
+       < { [ c'( bes a )bes g( )bes ] } { [ d ] } { [ g ] } > |
+%%21
+       < \multivoice  {\stem{1}  d'4(\stem{1} ) cis'4 d'4 }  { \stem{-1} g2 f4 } > |
+%%22
+       < { [ g( )f g e ] } { [ cis ] } > < f4 d4 > |
+%%23
+       [ `g g ] < e4. `a4. > d-upbow |
+%%24
+       < d2.^"fine" `a2. `d2._"3 mins."> \bar ":|" % \bar ":||"
 %% \tighten            % use one line less
        
 }
 
 %% \tighten            % use one line less
        
 }
 
-score {
+\score {
        \staff { 
        \staff { 
-               \melodic \music { ii_menuetto }
-       }
-       \co\mmands {
-               \meter {3 * 4}
+               \melodic \music { $ii_menuetto }
        }
        \paper {
        }
        \paper {
-               symbol\tables { \table_sixteen }
                \width 195\mm
                \unitspace 9\mm  % to get lily to use only three lines
                \geometric 1.4
                \width 195\mm
                \unitspace 9\mm  % to get lily to use only three lines
                \geometric 1.4
@@ -138,6 +107,6 @@ score {
        }
        \midi { 
                \tempo 4:120
        }
        \midi { 
                \tempo 4:120
-               \output "scsii-menuetto.\midi"
+               \output "scsii-menuetto.midi"
        }
 }
        }
 }
index cfd267b80def2bea3099eb81d01ff2005f81ec43..7673bb95c145ff3b55ad638bf4703efdf0d9b74c 100644 (file)
@@ -16,7 +16,7 @@
 melodie = \music {  \clef\violin
        \key{bes}
        \meter{3/4}\duration{ 8 }
 melodie = \music {  \clef\violin
        \key{bes}
        \meter{3/4}\duration{ 8 }
-       r\pp < [ d `a-| > f-| < d `a-| > f-| < d `a-| ] > |
+       r pp < [ d `a-| > f-| < d `a-| > f-| < d `a-| ] > |
 %%2
        r < [ d `bes-| > f-| < d `bes-| > f-| < d `bes-| ] > |
 %%3
 %%2
        r < [ d `bes-| > f-| < d `bes-| > f-| < d `bes-| ] > |
 %%3
@@ -37,19 +37,20 @@ melodie = \music {  \clef\violin
        f2 r4 |
 %%9
 
        f2 r4 |
 %%9
 
-       < { a'4.( )g'  [ g'( f' )e' ]2/3  } { cis'4. e'_"dolce"  \plet{ 2/3 } e' \plet{ 1/1 } } > |
+       < { a'4.( )g'  [ g'( f' )e' ]2/3  }
+       { cis'4. e'_"dolce"  \plet{ 2/3 } e' \plet{ 1/1 } } > |
 %%10
        < f'2. d'2. > |
 %%11
 %%10
        < f'2. d'2. > |
 %%11
-       [ a\pp( )bes a ]2/3  f'4. a |
+       [ a pp( )bes a ]2/3  f'4. a |
 %%12
        [ g( ) a g ]2/3  e'4. d' |
 %%13
        c'4. bes  [ bes( ) a g ]2/3  |
 %%14
        a2 r 
 %%12
        [ g( ) a g ]2/3  e'4. d' |
 %%13
        c'4. bes  [ bes( ) a g ]2/3  |
 %%14
        a2 r 
-%      < { d'( | )c'4. g  [ bes a g ]2/3  } { f\p( | )e4._"dolce" bes  [ g ]2/3  } > |
-       < { d'( | )c'4. g  [ bes a g ]2/3  } { f\p( | )e4._"dolce" bes  \plet{ 2/3 } g \plet{ 1/1 }  } > |
+       < { d'( | )c'4. g  [ bes a g ]2/3  }
+       { f p ( | )e4._"dolce" bes  \plet{ 2/3 } g \plet{ 1/1 }  } > |
 %%16
        < a2. f2. > |
 %%17
 %%16
        < a2. f2. > |
 %%17
@@ -60,7 +61,7 @@ melodie = \music {  \clef\violin
        [ d'8. a16 ] f4. d |
 %%19
 %#%    c'\grace\stemup
        [ d'8. a16 ] f4. d |
 %%19
 %#%    c'\grace\stemup
-       [ bes\pp( ) a bes ]2/3  d'4. bes |
+       [ bes pp( ) a bes ]2/3  d'4. bes |
 %%20
        a2. |
 %%21
 %%20
        a2. |
 %%21
@@ -70,32 +71,38 @@ melodie = \music {  \clef\violin
 %#%    =f2. |
        f2. |
 %%23
 %#%    =f2. |
        f2. |
 %%23
-       [ a8.\mf cis'16 ] f'4. e' |
+       [ a8. mf cis'16 ] f'4. e' |
 %%24
        [ d'8. a16 ] fis4. d |
 %%25
 %%24
        [ d'8. a16 ] fis4. d |
 %%25
-       [ b\mf( ) ais b ]2/3 d'4. b |
+       [ b mf( ) ais b ]2/3 d'4. b |
 %%26
        < a2. fis2. > |
 %%27
 %%26
        < a2. fis2. > |
 %%27
-       [ e'\df( )dis' e' ]2/3 g'4. cis' |
+       [ e' df( )dis' e' ]2/3 g'4. cis' |
 %%28
        < d'2. fis2. > |
 %#%\volta1
 %%29
 %%28
        < d'2. fis2. > |
 %#%\volta1
 %%29
-       <  { bes2( [ d'8.( ))g16 ] } { g2\mf [ bes8. bes16 ] } > |
+       <  { bes2( [ d'8.( ))g16 ] }
+       { g2 mf [ bes8. bes16 ] } > |
 %%30
 %%30
-       < { a4. [ a-. a-. a-. ] } { fis4. [ fis-.( fis-. )fis-. ] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { fis4. [ fis-.( fis-. )fis-. ] } > |
 %%31  
 %%31  
-       < { a4. [ a-. a-. a-. ] } { g4. [ cis-.( e-. )g-. ] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { g4. [ cis-.( e-. )g-. ] } > |
 %%32
 %%32
-       < a2 fis2\pp > < a4 fis4 > |
+       < a2 fis2 pp > < a4 fis4 > |
 %%33
 %%33
-       < { b2( [ d'8.( ) )g16 ] } { g2 [ b8. b16 ] } > |
+       < { b2( [ d'8.( ) )g16 ] }
+       { g2 [ b8. b16 ] } > |
 %%34
 %%34
-       < { a4. [ a-. a-. a-. ] } { fis4. [ fis-.( fis-. )fis-. ] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { fis4. [ fis-.( fis-. )fis-. ] } > |
 %%35
 %%35
-       < { a4. [ a-. a-. a-. ] } { g4. [ cis-.( e-. )g-. ] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { g4. [ cis-.( e-. )g-. ] } > |
 %%36
        < a2. fis2. > |
 %#%\volta2
 %%36
        < a2. fis2. > |
 %#%\volta2
@@ -110,38 +117,41 @@ melodie = \music {  \clef\violin
 %%40
        cis'2 r4 |
 %%41
 %%40
        cis'2 r4 |
 %%41
-       < fis'4. cis'4.\df > e'  [ e'( )d' cis' ]2/3  |
+       < fis'4. cis'4. df > e'  [ e'( )d' cis' ]2/3  |
 %%42
        [ b8. cis'16 ] d'4^> b r |
 %%43
 
 %%42
        [ b8. cis'16 ] d'4^> b r |
 %%43
 
-       [ b8.\df cis'16 ] d'4^> b r |
+       [ b8. df cis'16 ] d'4^> b r |
 %%44
        [ b8. cis'16 ] d'4^> b r |
 %%45
 %%44
        [ b8. cis'16 ] d'4^> b r |
 %%45
-       [ b\p( )ais b ]2/3  d'4. b |
+       [ b p ( )ais b ]2/3  d'4. b |
 %%46
 %#%    { =a2. fis2. } |
        < a2. fis2. > |
 %%47
 %%46
 %#%    { =a2. fis2. } |
        < a2. fis2. > |
 %%47
-       [ e'\df( )dis' e' ]2/3  g'4.^> cis' |
+       [ e' df( )dis' e' ]2/3  g'4.^> cis' |
 %%48
        \textstyle "italic"
 %%48
        \textstyle "italic"
-       < \multivoice { \stem{ 1 } fis2.( | \stem{ -1 } )f2. }  { \stem{ 1 } d'2.( | \stem{ 1 } )d'4 r4_"decresc." d'4 } >
+       < \multivoice { \stem{ 1 } fis2.( | \stem{ -1 } )f2. }
+       { \stem{ 1 } d'2.( | \stem{ 1 } )d'4 r4_"decresc." d'4 } >
        \textstyle "roman" |
 %%50
        < bes2. e2. > |
 %%51
        < a2. cis2. > |
 %%52
        \textstyle "roman" |
 %%50
        < bes2. e2. > |
 %%51
        < a2. cis2. > |
 %%52
-       < fis2 d2 > < a4 fis4\pp > |
+       < fis2 d2 > < a4 fis4 pp > |
 %%53
 
        < bes2 g2 > < [ d'8.^> bes8. > < bes16 g16 ] > |
 %%54
 %%53
 
        < bes2 g2 > < [ d'8.^> bes8. > < bes16 g16 ] > |
 %%54
-       < { a4. [ a-. a-. a-. ] } { fis4. [ fis-.( fis-. )fis-.] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { fis4. [ fis-.( fis-. )fis-.] } > |
 %%55
 %%55
-       < { a4. [ a-. a-. a-. ] } { g4. [ cis-.( e-. )g-. ] } > |
+       < { a4. [ a-. a-. a-. ] }
+       { g4. [ cis-.( e-. )g-. ] } > |
 %%56
        \textstyle "italic"
        < a2. fis2._"dim." >
 %%56
        \textstyle "italic"
        < a2. fis2._"dim." >
@@ -169,49 +179,65 @@ begeleiding = \music {
 %#%:|
 %%5
 \duration{ 8 }
 %#%:|
 %%5
 \duration{ 8 }
-       < \multivoice { \stem{ 1 } [ `f `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `f `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%6
 %%6
-       < \multivoice { \stem{ 1 } [ `d `e `g `e `g `e ] }  { \stem{ -1 } ``bes2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `e `g `e `g `e ] }
+       { \stem{ -1 } ``bes2 r4 } > |
 %%7 
 %%7 
-       < \multivoice { \stem{ 1 } [ `cis `e `g `e `g e ] }  { \stem{ -1 } ``a2 r4 } > |
-%%8
-       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `cis `e `g `e `g e ] }
+       { \stem{ -1 } ``a2 r4 } > |
+ %%8
+       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%9
        [ `a e g e g e ] |
 %%10
        [ `d `a d `a d `a ] |
 %%11
 %%9
        [ `a e g e g e ] |
 %%10
        [ `d `a d `a d `a ] |
 %%11
-       < \multivoice { \stem{ 1 } [ `f `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `f `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%12 == 6
 %%12 == 6
-       < \multivoice { \stem{ 1 } [ `d `e `g `e `g `e ] }  { \stem{ -1 } ``bes2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `e `g `e `g `e ] }
+       { \stem{ -1 } ``bes2 r4 } > |
 %13
 %13
-       < \multivoice { [ `e `g `bes `g `bes `g ] }  { \stem{ -1 } `c2 r4 } > |
+       < \multivoice { [ `e `g `bes `g `bes `g ] }
+       { \stem{ -1 } `c2 r4 } > |
 %%14
 %%14
-       < \multivoice { \stem{ 1 } [ `a c f c f c ] }  { \stem{ -1 } `f2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `a c f c f c ] }
+       { \stem{ -1 } `f2 r4 } > |
 %%15
        [ `c `g `bes `g `bes `g ] |
 %%16
        [ ``f `c `f `c `f `c ] |
 %%17
 %%15
        [ `c `g `bes `g `bes `g ] |
 %%16
        [ ``f `c `f `c `f `c ] |
 %%17
-       < \multivoice { \stem{ 1 } [ ``a `e `g `e `g `e ] }  { \stem{ -1 } ``a2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``a `e `g `e `g `e ] }
+       { \stem{ -1 } ``a2 r4 } > |
 %%18
 %%18
-       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%19
 %%19
-       < \multivoice { \stem{ 1 } [ ``bes `f `bes `f `bes `f ] }  { \stem{ -1 } ``bes2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``bes `f `bes `f `bes `f ] }
+       { \stem{ -1 } ``bes2 r4 } > |
 %%20
 %%20
-       < \multivoice { \stem{ 1 } [ ``f `c `f `c `f `c ] }  { \stem{ -1 } ``f2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``f `c `f `c `f `c ] }
+       { \stem{ -1 } ``f2 r4 } > |
 %%21
        < [ `e `c > `g c `g c `g ] |
 %%22
        [ `f `a c `a `f `c ] |
 %%23
 %%21
        < [ `e `c > `g c `g c `g ] |
 %%22
        [ `f `a c `a `f `c ] |
 %%23
-       < \multivoice { \stem{ 1 } [ ``a `e `g `e `g `e ] }  { \stem{ -1 } ``a2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``a `e `g `e `g `e ] }
+       { \stem{ -1 } ``a2 r4 } > |
 %%24
 %%24
-       < \multivoice { \stem{ 1 } [ `d `fis `a `fis `a `fis ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `fis `a `fis `a `fis ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%25
 %%25
-       < \multivoice { \stem{ 1 } [ ``g `d `b `d `b `d ] }  { \stem{ -1 } ``g2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``g `d `b `d `b `d ] }
+       { \stem{ -1 } ``g2 r4 } > |
 %%26
 %%26
-       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%27
        < [ `cis ``a > `e `a `e `a `e ] |
 %%28
 %%27
        < [ `cis ``a > `e `a `e `a `e ] |
 %%28
@@ -252,9 +278,11 @@ begeleiding = \music {
 %%44
        < [ `d ``b > `fis `b `fis `b `fis ] |
 %%45
 %%44
        < [ `d ``b > `fis `b `fis `b `fis ] |
 %%45
-       < \multivoice { \stem{ 1 } [ ``g `d `b `d `b `d ] }  { \stem{ -1 } ``g2 r4 } > |
+       < \multivoice { \stem{ 1 } [ ``g `d `b `d `b `d ] }
+       { \stem{ -1 } ``g2 r4 } > |
 %%46
 %%46
-       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }  { \stem{ -1 } `d2 r4 } > |
+       < \multivoice { \stem{ 1 } [ `d `a d `a d `a ] }
+       { \stem{ -1 } `d2 r4 } > |
 %%47
        < [ `cis ``a > `e `a `e `a `e ] |
 %%48
 %%47
        < [ `cis ``a > `e `a `e `a `e ] |
 %%48
@@ -421,11 +449,11 @@ tekstII= \lyrics {
        }
 % Setting up music ...lilypond: ../flower/include/cursor.inl:98: class Cursor<void *> Cursor<void *>::operator ++(int): Assertion `pointer_' failed.
 %IOT trap/Abort
        }
 % Setting up music ...lilypond: ../flower/include/cursor.inl:98: class Cursor<void *> Cursor<void *>::operator ++(int): Assertion `pointer_' failed.
 %IOT trap/Abort
-%              \music { melodie }
+% als geen music in staff
        \staff { 
                \melodic 
        \staff { 
                \melodic 
-       \music { begeleiding }
-               }
+               \music { melodie }
+       }
        \staff { 
                \melodic 
                \music { begeleiding }
        \staff { 
                \melodic 
                \music { begeleiding }
index c54fdea03957736f4c38cfe8ddd20c8bf8cf17c4..14f6030cc70e7c45a804e3c64d1cfe0172a30004 100644 (file)
@@ -35,7 +35,7 @@ begeleiding = \music {
 globalmusic=\music{
                \meter {2 / 4}
                \skip {24*2}
 globalmusic=\music{
                \meter {2 / 4}
                \skip {24*2}
-               \bar "||"
+%              \bar "||"
        }
 tekst = \lyrics { 
        Al- tijd is Kort- jak- je ziek,2
        }
 tekst = \lyrics { 
        Al- tijd is Kort- jak- je ziek,2
@@ -61,7 +61,7 @@ texte = \lyrics {
        Ah! vous dir- ai_- je ma man2
        Ce qui cau- se mon tour- ment2
        Pa- pa veut que je rai- sonne2
        Ah! vous dir- ai_- je ma man2
        Ce qui cau- se mon tour- ment2
        Pa- pa veut que je rai- sonne2
-       Co\mme un- e grand- e per- sonne2
+       Comme un- e grand- e per- sonne2
        Moi je dis que les bon- bons2
        Val- ent mieux que la rai- son2
        
        Moi je dis que les bon- bons2
        Val- ent mieux que la rai- son2
        
@@ -76,11 +76,9 @@ textI = \lyrics {
        Like a dia- mond in the sky.2
        Twin- kle, twin- kle, lit- tle star,2
        How I won- der what you are!2
        Like a dia- mond in the sky.2
        Twin- kle, twin- kle, lit- tle star,2
        How I won- der what you are!2
-       
 }
 
 }
 
-textII = \music {
-       
+textII = \lyrics {
        \textstyle "roman"
        When the bla- zing sun is gone,2
        When he no- thing shines up- on,2
        \textstyle "roman"
        When the bla- zing sun is gone,2
        When he no- thing shines up- on,2
index f737d660d16d406cdb693b09be11485c6b07b443..5504ed6e35431b70bbab14ace1844888a03ee413 100644 (file)
@@ -78,11 +78,6 @@ Plet::Plet( int iso_i, int type_i )
        type_i_ = type_i;
 }
 
        type_i_ = type_i;
 }
 
-Plet::Plet( Plet const& plet_c_r )
-{
-       iso_i_ = plet_c_r.iso_i_;
-       type_i_ = plet_c_r.type_i_;
-}
 
 // statics Duration_convert
 bool Duration_convert::be_blonde_b_s = false;
 
 // statics Duration_convert
 bool Duration_convert::be_blonde_b_s = false;
index c642ce6edadf074f49c64d15d1e64c450a490f77..5c562859548f7c3abe8a84b11aa255982a180c4d 100644 (file)
@@ -27,7 +27,6 @@ struct Duration {
        void set_ticks( int ticks_i );
 
        static int division_1_i_s;
        void set_ticks( int ticks_i );
 
        static int division_1_i_s;
-//         int i_;     // balltype -> type!
        int type_i_;
        int dots_i_;
        Plet* plet_p_;
        int type_i_;
        int dots_i_;
        Plet* plet_p_;
@@ -37,10 +36,8 @@ struct Duration {
 /// (plet)
 struct Plet {
        Plet( int replace_i, int type_i );
 /// (plet)
 struct Plet {
        Plet( int replace_i, int type_i );
-       Plet( Plet const& plet_c_r );
-
-//         int i_;
-       int iso_i_;  // 2/3; 2 is not duration, maar of count!
+       
+    int iso_i_;  // 2/3; 2 is not duration, maar of count!
        int type_i_;
 };
 
        int type_i_;
 };
 
index 04e19c9ac82ec8b8bfdb21a05b685c6398749d8e..0ae4d984d1094a5bcafa4cebb0148ffb3fc0de4e 100644 (file)
@@ -1,8 +1,8 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 0
 MAJOR_VERSION = 0
 MINOR_VERSION = 0
-PATCH_LEVEL = 42
+PATCH_LEVEL = 43
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
-MY_PATCH_LEVEL =.2
+MY_PATCH_LEVEL =
 #
 #
index 1bc1595cc593e87f3a73c75e3e652fbb525e5d7a..cb49063ad6e918a8a312de144bddbdca7e49d7fe 100644 (file)
@@ -68,7 +68,7 @@ include ./$(depth)/make/Rules.make
 #
 
 # force these: Make can't know these have to be generated in advance
 #
 
 # force these: Make can't know these have to be generated in advance
-mylexer.cc: $(outdir)/parser.hh
+my-lily-lexer.cc: $(outdir)/parser.hh
 lexer.l: $(outdir)/parser.hh
 
 #
 lexer.l: $(outdir)/parser.hh
 
 #
index 7e33d78a9dd67493fc0000041b7bbad45b710ab6..92e7097c4351d2433a3f9526496751a8ef9d20d1 100644 (file)
@@ -124,6 +124,16 @@ Measure_grouping_req::do_print() const
     }
 }
 /* *************** */
     }
 }
 /* *************** */
+
+void
+Key_change_req::transpose(Melodic_req const & d)const
+{
+    WARN << "don't know how to transpose a key. \n";
+    for (int i=0; i < melodic_p_arr_.size(); i++) {
+       melodic_p_arr_[i]->transpose(d);
+    }
+}
+
 void
 Key_change_req::do_print() const
 {
 void
 Key_change_req::do_print() const
 {
index c3de1d3987e28ca5f39958759f1429b4a718d538..0eab514cb5ab5e2f2317feec031143987096ec46 100644 (file)
@@ -9,7 +9,7 @@
 #include <assert.h>
 
 #include "identifier.hh"
 #include <assert.h>
 
 #include "identifier.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "debug.hh"
 
 #include "input-score.hh" 
 #include "debug.hh"
 
 #include "input-score.hh" 
@@ -28,6 +28,16 @@ Identifier::error(String expect)
     ::error(e);
 }
 
     ::error(e);
 }
 
+Identifier::Identifier(String n, int code)
+    : name(n) 
+{
+    token_code_i_ = code; 
+    data = 0;
+    accessed_b_ = 0;
+    init_b_ = 0;
+    defined_ch_C_ = 0;
+}
+
 void
 Identifier::print()const
 {
 void
 Identifier::print()const
 {
@@ -65,9 +75,10 @@ char const * Idclass::classname() const\
 }\
 Class*\
 Idclass::accessor(bool copy) {\
 }\
 Class*\
 Idclass::accessor(bool copy) {\
-       if (copy)\
+       if (copy){ \
+           accessed_b_ = true;\
            return new Class(* (Class*) data);\
            return new Class(* (Class*) data);\
-       else\
+        }else\
            return (Class*) data;\
     }\
 Idclass::~Idclass() { delete accessor(false); }\
            return (Class*) data;\
     }\
 Idclass::~Idclass() { delete accessor(false); }\
index 3d5a1eb18d496d336700c1e2c873acad06d60060..f32dbea2fdb35f1146f191c2cffa666cd0e40d91 100644 (file)
@@ -101,7 +101,7 @@ struct Group_feature_req : Command_req {
 
 struct Key_change_req : Command_req {
     Array<Melodic_req*> melodic_p_arr_;
 
 struct Key_change_req : Command_req {
     Array<Melodic_req*> melodic_p_arr_;
-
+    virtual void transpose(Melodic_req const &)const;
     Key_change_req();
     Key_change_req(Key_change_req const&);
     ~Key_change_req();
     Key_change_req();
     Key_change_req(Key_change_req const&);
     ~Key_change_req();
index 812d1fe71f7598afc62a522405b4a5832aaf11e1..2baf529b493e8195ea823f3c94af2e5f62bfa605 100644 (file)
 struct Identifier {
     void *data;
     String name;
 struct Identifier {
     void *data;
     String name;
+    bool init_b_;
+    bool accessed_b_;
     int token_code_i_;
     int token_code_i_;
-
-    Identifier(String n, int code) : name(n) { token_code_i_ = code; }
+    char const *defined_ch_C_;
+    
+    Identifier(String n, int code) ;
     virtual ~Identifier() {}
 
     void print()const;
     virtual ~Identifier() {}
 
     void print()const;
index 7a35bbfd19b037827ac59d040b8a7f097d5460d7..36ca215f67521d1852e0a45d66b69f9a3a96c679 100644 (file)
@@ -37,7 +37,7 @@ struct Input_music {
     virtual void set_default_group(String)=0;
     virtual bool find_plet_start_bo(char c, Moment& moment_r) = 0;
     virtual void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i) = 0;
     virtual void set_default_group(String)=0;
     virtual bool find_plet_start_bo(char c, Moment& moment_r) = 0;
     virtual void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i) = 0;
-    // virtual void transpose(...) const =0;
+    virtual void transpose(Melodic_req const&) const =0;
     
     
     virtual Input_music *clone() const = 0;
     
     
     virtual Input_music *clone() const = 0;
@@ -49,6 +49,8 @@ struct Simple_music : Input_music {
     Voice voice_;
 
     /* *** */
     Voice voice_;
 
     /* *** */
+    virtual void transpose(Melodic_req const&) const ;
+
     virtual Simple_music*simple() { return this; }  
     void add(Voice_element*);
     virtual void set_default_group(String g) { voice_.set_default_group(g); }
     virtual Simple_music*simple() { return this; }  
     void add(Voice_element*);
     virtual void set_default_group(String g) { voice_.set_default_group(g); }
@@ -67,6 +69,7 @@ struct Simple_music : Input_music {
 struct Complex_music : Input_music {
     IPointerList<Input_music*> elts;
     /* *************** */
 struct Complex_music : Input_music {
     IPointerList<Input_music*> elts;
     /* *************** */
+    virtual void transpose(Melodic_req const&) const ;
     virtual void set_default_group(String g);
     void add(Input_music*);
     Complex_music();
     virtual void set_default_group(String g);
     void add(Input_music*);
     Complex_music();
diff --git a/lily/include/lexer.hh b/lily/include/lexer.hh
deleted file mode 100644 (file)
index 08faa55..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-  lexer.hh -- declare My_flex_lexer
-
-  source file of the LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-#ifndef LEXER_HH
-#define LEXER_HH
-#include <FlexLexer.h>
-#include "proto.hh"
-#include "fproto.hh"
-#include "varray.hh"
-#include "string.hh"
-
-int yylex();
-void yyerror(char const *s);
-bool busy_parsing();
-void kill_lexer();
-void set_lexer();
-
-
-struct Lexer_prefs {
-    int default_duration, default_dots, default_octave_i_;
-    int default_plet_type, default_plet_dur;
-    String textstyle_str_;
-    
-    bool last_duration_mode ;
-    
-    Lexer_prefs();
-    Moment plet_mom();
-    void set_default_duration(int *);
-    void set_last_duration(int n);
-    void set_duration_mode(String s);
-    void get_default_duration(int *);
-    void set_plet(int,int);
-};
-
-/// lexer with provisions for include files.
-struct My_flex_lexer : yyFlexLexer {
-    Lexer_prefs prefs;
-    
-    Array<Input_file*> include_stack_;
-    Assoc<String, Identifier*> *identifier_assoc_p_;
-    Keyword_table * keytable_p_;
-    int errorlevel_i_;
-
-    /* *************** */
-
-    char const* here_ch_c_l();
-    int lookup_keyword(String);
-    void lookup_notename(int &large, int &small, String s);
-
-    void push_note_state();
-    void push_lyric_state();
-    void pop_state();
-    void LexerError(char const *);
-    String spot() const;
-    Identifier*lookup_identifier(String s);
-    My_flex_lexer();
-    void add_identifier(Identifier*i);
-    ~My_flex_lexer();
-    void new_input(String s);
-    bool  close_input();
-    int yylex();
-    void print_declarations() const;
-};
-
-extern My_flex_lexer *lexer;
-
-#endif
index 1ad791de40d794586ca1dbb17debdb6ca9cecac0..761efce6bd37e0061e75a2f22963c1d752113434 100644 (file)
@@ -96,9 +96,11 @@ struct Melodic_req :virtual Musical_req
     /// 0 natural, 1 sharp, etc
     int accidental_i_;
 
     /// 0 natural, 1 sharp, etc
     int accidental_i_;
 
-
     /// return height from central c (in halflines)
     /// return height from central c (in halflines)
-    int height()const; 
+    int height()const;
+
+    /// transpose. #delta# is relative to central c.
+    void transpose(Melodic_req const &delta);
     /// return pitch from central c (in halfnotes)
     int pitch()const; 
     Melodic_req();
     /// return pitch from central c (in halfnotes)
     int pitch()const; 
     Melodic_req();
diff --git a/lily/include/my-lily-lexer.hh b/lily/include/my-lily-lexer.hh
new file mode 100644 (file)
index 0000000..c3f2bfa
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+  lexer.hh -- declare My_lily_lexer
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#ifndef LEXER_HH
+#define LEXER_HH
+#include <FlexLexer.h>
+#include "proto.hh"
+#include "fproto.hh"
+#include "varray.hh"
+#include "string.hh"
+
+int yylex();
+void yyerror(char const *s);
+bool busy_parsing();
+void kill_lexer();
+void set_lexer();
+
+
+struct Lexer_prefs {
+    int default_duration, default_dots, default_octave_i_;
+    int default_plet_type, default_plet_dur;
+    String textstyle_str_;
+    
+    bool last_duration_mode ;
+    
+    Lexer_prefs();
+    Moment plet_mom();
+    void set_default_duration(int *);
+    void set_last_duration(int n);
+    void set_duration_mode(String s);
+    void get_default_duration(int *);
+    void set_plet(int,int);
+};
+
+/// lexer with provisions for include files.
+class My_lily_lexer : public yyFlexLexer {
+    int lookup_keyword(String);
+    void lookup_notename(int &large, int &small, String s);
+    int scan_bare_word(String);
+    int scan_escaped_word(String);
+
+public:
+    Lexer_prefs prefs;
+    
+    Array<Input_file*> include_stack_;
+    Assoc<String, Identifier*> *identifier_assoc_p_;
+    Keyword_table * keytable_p_;
+    int errorlevel_i_;
+
+    /* *************** */
+
+    Identifier*lookup_identifier(String s);
+    char const* here_ch_c_l();
+    void push_note_state();
+    void push_lyric_state();
+    void pop_state();
+    void LexerError(char const *);
+    String spot() const;
+    My_lily_lexer();
+    void add_identifier(Identifier*i);
+    ~My_lily_lexer();
+    void new_input(String s);
+    bool  close_input();
+    int yylex();
+    void print_init_declarations() const;
+    void print_user_declarations() const;
+    bool note_state_b() const;
+    bool lyric_state_b() const;
+};
+
+extern My_lily_lexer *lexer;
+
+#endif
index 1936d5a2abf0fe3e7972859874b27508c99cf908..6e9bfd4df2c95f87f875fc52a8fbb48e9315abc0 100644 (file)
@@ -35,6 +35,7 @@ public:
     virtual Request* clone() const { return new Request(*this); }
     void print()const ;
     
     virtual Request* clone() const { return new Request(*this); }
     void print()const ;
     
+    virtual void transpose(Melodic_req const &){}
     virtual Moment duration() const { return 0; }
 
     /*  accessors for children
     virtual Moment duration() const { return 0; }
 
     /*  accessors for children
index be54ac401befa2dca0015acba5315ea158881aeb..cf398bc9b676dffe87e9df87088991edf42a60f2 100644 (file)
@@ -23,7 +23,7 @@ struct Voice_element {
     IPointerList<Request*> reqs;
 
     /* *************** */
     IPointerList<Request*> reqs;
 
     /* *************** */
-    
+    void transpose(Melodic_req const &)const;
     Voice_element();
     Voice_element(Voice_element const & src );
 
     Voice_element();
     Voice_element(Voice_element const & src );
 
index ccdff1f6262a58c160ae2d35e2a7f16a9f1538bb..4e7e615693e7ed4bf8ca9010b95c7b55883feed0 100644 (file)
@@ -24,7 +24,7 @@ struct Voice {
 
     Moment when(Voice_element const *)const;
     Moment last() const;
 
     Moment when(Voice_element const *)const;
     Moment last() const;
-
+    void transpose(Melodic_req const &)const;
     void add(Voice_element*);
     bool find_plet_start_bo(char c, Moment& moment_r);
     void print() const;
     void add(Voice_element*);
     bool find_plet_start_bo(char c, Moment& moment_r);
     void print() const;
index 8ccc9071b8813b8b28d874f1498a3c61f0ad4b28..5c8aa72472c0fd186eefd380f627c5c3df39e14f 100644 (file)
@@ -21,6 +21,12 @@ Input_music::check_plet(Voice_element* velt_l)
         }
 }
 
         }
 }
 
+void
+Simple_music::transpose(Melodic_req const &d)const
+{
+    voice_.transpose(d);
+}
+
 void
 Simple_music::add(Voice_element*v)
 {
 void
 Simple_music::add(Voice_element*v)
 {
@@ -67,6 +73,12 @@ Simple_music::set_plet_backwards(Moment& now_moment_r, Moment until_moment, int
 
 /* *************** */
 
 
 /* *************** */
 
+void
+Complex_music::transpose(Melodic_req const& d) const
+{
+     for (iter_top(elts,i); i.ok(); i++)
+        i->transpose(d);
+}
 void
 Complex_music::add(Input_music*v)
 {
 void
 Complex_music::add(Input_music*v)
 {
index 678ff2f16bc8345326d5a991467a2d00538b7f24..2d42e2a1baefb866947abcf2739273a0c762d807 100644 (file)
@@ -14,7 +14,7 @@
 #include "complex-staff.hh"
 #include "lyric-staff.hh"
 
 #include "complex-staff.hh"
 #include "lyric-staff.hh"
 
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 
 
 Input_staff::Input_staff(String s)
 
 
 Input_staff::Input_staff(String s)
index 2ccb446e2707e0973a11745440d4268fa98c21e8..965630964e1997aef969216c281cde2bf921b4e4 100644 (file)
@@ -5,7 +5,7 @@
 #include <stdlib.h>
 
 #include "glob.hh"
 #include <stdlib.h>
 
 #include "glob.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 //#include "mudobs.hh"
 //#include "gram.hh"
 
 //#include "mudobs.hh"
 //#include "gram.hh"
 
index 8e9d503536162067d4f3dca998ec99532401105d..549a957efdd39a648486d30b4ff6bb9eed5b59d9 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "string.hh"
 #include "string-convert.hh"
 
 #include "string.hh"
 #include "string-convert.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "varray.hh"
 #include "parser.hh"
 #include "debug.hh"
 #include "varray.hh"
 #include "parser.hh"
 #include "debug.hh"
 %option nodefault
 %option yylineno
 %option debug
 %option nodefault
 %option yylineno
 %option debug
-%option yyclass="My_flex_lexer"
+%option yyclass="My_lily_lexer"
 %option stack
 
 %option stack
 
-%x notes
 %x incl
 %x incl
-%x quote
 %x lyrics
 %x lyrics
+%x notes
+%x quote
 
 
 
 
 
 
@@ -48,23 +48,27 @@ WORD                {A}{AN}*
 ALPHAWORD      {A}+
 INT            -?{N}+
 REAL           {INT}?(\.{N}*)?
 ALPHAWORD      {A}+
 INT            -?{N}+
 REAL           {INT}?(\.{N}*)?
-
-RESTNAME       r|s|p
+KEYWORD                \\{WORD}
+WHITE          [ \n\t\f]
+BLACK          [^ \n\t\f]
+RESTNAME       r
 NOTECOMMAND    \\{WORD}
 DOTS           \.+
 NOTECOMMAND    \\{WORD}
 DOTS           \.+
-LYRICS         {TEX}+
+LYRICS         {AA}[^0-9 \t\n\f]*
 COMMENT                %.*\n
 
 %%
 
 COMMENT                %.*\n
 
 %%
 
+<lyrics,INITIAL,notes>{COMMENT}        {
+}
 
 
 
 
 
 
-include           {
+^include           {
        yy_push_state(incl);
 }
        yy_push_state(incl);
 }
-<incl>[ \t]*      { /* eat the whitespace */ }
-<incl>\"[^"]*\"+   { /* got the include file name */
+<incl>{WHITE}*      { /* eat the whitespace */ }
+<incl>\"[^"]*\"   { /* got the include file name */
    String s (YYText()+1);
    s = s.left_str(s.length_i()-1);
    defined_ch_c_l = here_ch_c_l() - String( YYText() ).length_i() - 1;
    String s (YYText()+1);
    s = s.left_str(s.length_i()-1);
    defined_ch_c_l = here_ch_c_l() - String( YYText() ).length_i() - 1;
@@ -78,28 +82,23 @@ include           {
        mtor << "rest:"<< yylval.string;
        return RESTNAME;
 }
        mtor << "rest:"<< yylval.string;
        return RESTNAME;
 }
-<notes,INITIAL>{ALPHAWORD}     {
-       String str = YYText();
-       mtor << "word: `" << str<< "'\n";
-       Identifier * id = lookup_identifier(str);
-       if (id) {               
-               yylval.id = id;
-               return id->token_code_i_;
-       }
+<INITIAL,lyrics,notes>\$\\{BLACK}*{WHITE}      {
+       String s=YYText() + 2;
+       s=s.left_str(s.length_i() - 1);
+       return scan_escaped_word(s);
+}
+<INITIAL,lyrics,notes>\${BLACK}*{WHITE}                {
+       String s=YYText() + 1;
+       s=s.left_str(s.length_i() - 1);
+       return scan_bare_word(s);
+}
+<notes>{ALPHAWORD}     {
+       return scan_bare_word(YYText());
 
 
-       yylval.string=new String( str );
-       return STRING;
 }
 }
-<notes,INITIAL>{NOTECOMMAND}   {
-       String c = YYText() +1;
-       mtor << "\\word: `" << YYText()+1<<"'\n";
-       int l = lookup_keyword(c);
-       if (l != -1)
-               return l;
-       
-       String *sp = new String( c);
-       yylval.string=sp;
-       return STRING;
+
+<notes>{NOTECOMMAND}   {
+       return scan_escaped_word(YYText()+1);
 }
 
 <notes>{DOTS}          {
 }
 
 <notes>{DOTS}          {
@@ -110,8 +109,6 @@ include           {
        yylval.i = String_convert::dec2_i( String( YYText() ) );
        return INT;
 }
        yylval.i = String_convert::dec2_i( String( YYText() ) );
        return INT;
 }
-<notes>{COMMENT}       {
-}
 <notes>[ \t\n]+                {
 
 }
 <notes>[ \t\n]+                {
 
 }
@@ -129,6 +126,9 @@ include           {
 \"             {
        start_quote();
 }
 \"             {
        start_quote();
 }
+<quote>\\\"    {
+       *yylval.string +='\"';
+}
 <quote>[^"]+   {
        *yylval.string += YYText();
 }
 <quote>[^"]+   {
        *yylval.string += YYText();
 }
@@ -150,30 +150,7 @@ include           {
        return INT;
 }
 <lyrics>{NOTECOMMAND}  {
        return INT;
 }
 <lyrics>{NOTECOMMAND}  {
-       String c = YYText() +1;
-       mtor << "\\word: `" << YYText()+1<<"'\n";
-       int l = lookup_keyword(c);
-       if (l != -1)
-               return l;
-
-/* let's try passing tex's typesetting macros like \ss \alpha \c */
-       String* str_p = new String(YYText());
-       yylval.string=str_p;
-       mtor << "\\word: `" << *str_p << "'\n";
-       return STRING;  
-
-/* and skip identifiers...
-       Identifier * id = lookup_identifier(c);
-       if (id) {               
-               yylval.id = id;
-               return IDENTIFIER;
-       }
-       String *sp = new String( c);
-
-       yylval.string=sp;
-
-       return STRING;
-*/
+       return scan_escaped_word(YYText()+1);
 }
 <lyrics>{LYRICS} {
        /* ugr. This sux. */
 }
 <lyrics>{LYRICS} {
        /* ugr. This sux. */
@@ -192,9 +169,6 @@ include           {
 }
 <lyrics>\|     {
        return YYText()[0];
 }
 <lyrics>\|     {
        return YYText()[0];
-}
-<lyrics>{COMMENT}              { 
-
 }
 <lyrics>[{}]   {
        return YYText()[0];
 }
 <lyrics>[{}]   {
        return YYText()[0];
@@ -211,6 +185,12 @@ include           {
        if (! close_input())
          yyterminate(); // can't move this, since it actually rets a YY_NULL
 }
        if (! close_input())
          yyterminate(); // can't move this, since it actually rets a YY_NULL
 }
+{WORD} {
+       return scan_bare_word(YYText());
+}
+{KEYWORD}      {
+       return scan_escaped_word(YYText()+1);
+}
 {REAL}         {
        Real r;
        int cnv=sscanf (YYText(), "%lf", &r);
 {REAL}         {
        Real r;
        int cnv=sscanf (YYText(), "%lf", &r);
@@ -245,18 +225,58 @@ include           {
 %%
 
 void
 %%
 
 void
-My_flex_lexer::push_note_state()
+My_lily_lexer::push_note_state()
 {
        yy_push_state(notes);
 }
 
 void
 {
        yy_push_state(notes);
 }
 
 void
-My_flex_lexer::push_lyric_state()
+My_lily_lexer::push_lyric_state()
 {
        yy_push_state(lyrics);
 }
 void
 {
        yy_push_state(lyrics);
 }
 void
-My_flex_lexer::pop_state()
+My_lily_lexer::pop_state()
 {
        yy_pop_state();
 }
 {
        yy_pop_state();
 }
+
+int
+My_lily_lexer::scan_escaped_word(String str)
+{      
+       mtor << "\\word: `" << str<<"'\n";
+       int l = lookup_keyword(str);
+       if (l != -1) {
+               mtor << "(keyword)\n";
+               return l;
+       }
+       String *sp = new String( str);
+       yylval.string=sp;
+       return STRING;
+}
+int
+My_lily_lexer::scan_bare_word(String str)
+{
+       mtor << "word: `" << str<< "'\n";       
+       Identifier * id = lookup_identifier(str);
+       if (id) {
+               mtor << "(identifier)\n";
+               yylval.id = id;
+               return id->token_code_i_;
+       }
+
+       yylval.string=new String( str );
+       return STRING;
+}
+
+bool
+My_lily_lexer::note_state_b() const
+{
+       return YY_START == notes;
+}
+
+bool
+My_lily_lexer::lyric_state_b() const
+{
+       return YY_START == lyrics;
+}
index 2eb9ed4e50d64620c0e846d17f4b57d6de9ad5ba..c118bbe22973d0d89c7fc5f29239be1361cc9ec9 100644 (file)
 #include <strstream.h>
 #include "proto.hh"
 #include "plist.hh"
 #include <strstream.h>
 #include "proto.hh"
 #include "plist.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "debug.hh"
 #include "main.hh"
 #include "source-file.hh"
 #include "source.hh"
 
 #include "debug.hh"
 #include "main.hh"
 #include "source-file.hh"
 #include "source.hh"
 
-My_flex_lexer *lexer=0;
+My_lily_lexer *lexer=0;
 
 int
 yylex() {
 
 int
 yylex() {
index bf1b56c44c1785334fed7d31a1a02a184722307d..597a60ac7608536d5a872cc22948d4e66d99acf0 100644 (file)
@@ -91,6 +91,22 @@ Melodic_req::Melodic_req()
     accidental_i_ = 0;
 }
 
     accidental_i_ = 0;
 }
 
+void
+Melodic_req::transpose(Melodic_req const & delta)
+{
+    octave_i_ += delta.octave_i_;
+    notename_i_ += delta.notename_i_;
+    while  (notename_i_ >= 7 ) {
+       notename_i_ -= 7;
+       octave_i_ ++;
+    }
+    accidental_i_ += delta.accidental_i_;
+    if (abs(accidental_i_) > 2) {
+       warning("transposition makes accidental larger than 2", 
+               delta.defined_ch_c_l_);
+    }
+}
+
 void
 Melodic_req::do_print() const
 {
 void
 Melodic_req::do_print() const
 {
diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc
new file mode 100644 (file)
index 0000000..8c02f12
--- /dev/null
@@ -0,0 +1,181 @@
+#include <strstream.h>
+
+#include "interval.hh"
+#include "identifier.hh"
+#include "assoc-iter.hh"
+#include "input-file.hh"
+#include "out/parser.hh"
+#include "keyword.hh"
+#include "assoc.hh"
+#include "my-lily-lexer.hh"
+#include "debug.hh"
+#include "source-file.hh"
+#include "parseconstruct.hh"
+
+static Keyword_ent the_key_tab[]={
+    "bar", BAR,
+    "cadenza", CADENZA,
+    "clef", CLEF,
+    "cm", CM_T,
+    "duration", DURATIONCOMMAND,
+    "dynamic", DYNAMIC,
+    "geometric", GEOMETRIC,
+    "in", IN_T,
+    "lyrics", LYRICS,
+    "key", KEY,
+    "melodic" , MELODIC,
+    "meter", METER,
+    "midi", MIDI,
+    "mm", MM_T,
+    "multivoice", MULTIVOICE,
+    "octave", OCTAVECOMMAND,
+    "output", OUTPUT,
+    "partial", PARTIAL,
+    "paper", PAPER,
+    "plet", PLET,
+    "pt", PT_T,
+    "score", SCORE,
+    "script", SCRIPT,
+    "skip", SKIP,
+    "staff", STAFF,
+    "start", START_T,
+    "stem", STEM,
+    "table", TABLE,
+    "symboltables", SYMBOLTABLES,
+    "tempo", TEMPO,
+    "texid", TEXID,
+    "textstyle", TEXTSTYLE,
+    "transpose", TRANSPOSE,
+    "unitspace", UNITSPACE,
+    "width", WIDTH,
+    "music", MUSIC,
+    "grouping", GROUPING,
+    0,0
+};
+
+My_lily_lexer::My_lily_lexer()
+{
+    keytable_p_ = new Keyword_table(the_key_tab);
+    identifier_assoc_p_ = new Assoc<String, Identifier*>;
+    errorlevel_i_ = 0;
+}
+
+int
+My_lily_lexer::lookup_keyword(String s)
+{
+    return keytable_p_->lookup(s);
+}
+
+Identifier*
+My_lily_lexer::lookup_identifier(String s)
+{
+    if (!identifier_assoc_p_->elt_query(s))
+       return 0;
+    
+    return (*identifier_assoc_p_)[s];
+}
+
+char const*
+My_lily_lexer::here_ch_c_l()
+{
+    return include_stack_.top()->sourcefile_l_->ch_c_l() + yyin->tellg();
+}
+
+void
+My_lily_lexer::add_identifier(Identifier*i)
+{
+    delete lookup_identifier(i->name);
+    (*identifier_assoc_p_)[i->name] = i;
+}
+
+My_lily_lexer::~My_lily_lexer()
+{
+    delete keytable_p_;
+
+    for (Assoc_iter<String,Identifier*>
+            ai(*identifier_assoc_p_); ai.ok(); ai++) {
+       mtor << "deleting: " << ai.key()<<'\n';
+       Identifier *i_p = ai.val();
+       if (!i_p->accessed_b_ && !i_p->init_b_)
+           warning("Variable not used", i_p->defined_ch_C_);
+       
+       delete ai.val();
+    }
+    delete identifier_assoc_p_;
+}
+void
+My_lily_lexer::print_init_declarations()const
+{
+    for (Assoc_iter<String,Identifier*> ai(*identifier_assoc_p_); ai.ok(); 
+        ai++) {
+       if (ai.val()->init_b_)
+           ai.val()->print();
+    }
+}
+void
+My_lily_lexer::print_user_declarations()const
+{
+    for (Assoc_iter<String,Identifier*> ai(*identifier_assoc_p_); ai.ok(); ai++) {
+       if (!ai.val()->init_b_)
+           ai.val()->print();
+    }
+}
+
+String
+My_lily_lexer::spot()const
+{
+    return include_stack_.top()->name +  ": " + String( lineno() );
+}
+
+void
+My_lily_lexer::LexerError(char const *s)
+{
+    if (lexer->include_stack_.empty()) {
+       *mlog << "error at EOF" << s << '\n';
+    } else {
+       char const* ch_c_l = here_ch_c_l();
+       if ( ch_c_l ) {
+           ch_c_l--;
+           while ( ( *ch_c_l == ' ' ) || ( *ch_c_l == '\t' ) || ( *ch_c_l == '\n' ) )
+                   ch_c_l--;
+           ch_c_l++;
+       }
+       errorlevel_i_ |= 1;
+       error( s, ch_c_l );
+    }
+}
+
+// set the  new input to s, remember old file.
+void
+My_lily_lexer::new_input(String s)
+{    
+   if (!include_stack_.empty()) {
+       include_stack_.top()->line = lineno();
+            // should this be saved at all?
+       include_stack_.top()->defined_ch_c_l_ = defined_ch_c_l;
+   }
+
+   Input_file *newin = new Input_file(s);
+   include_stack_.push(newin);
+   switch_streams(newin->is);
+
+   yylineno = 1;
+}
+
+// pop the inputstack.
+bool
+My_lily_lexer::close_input()
+{
+    Input_file *old = include_stack_.pop();
+     bool ok =         true;
+    if (include_stack_.empty()) {
+       ok = false;
+    } else {
+       Input_file *i = include_stack_.top();
+       switch_streams(i->is);
+       yylineno = i->line;     
+       defined_ch_c_l = i->defined_ch_c_l_;
+    }
+    delete old;
+    return ok;
+}
diff --git a/lily/mylexer.cc b/lily/mylexer.cc
deleted file mode 100644 (file)
index 265e02b..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-#include <strstream.h>
-
-#include "interval.hh"
-#include "identifier.hh"
-#include "assoc-iter.hh"
-#include "lexer.hh"
-#include "input-file.hh"
-#include "out/parser.hh"
-#include "keyword.hh"
-#include "assoc.hh"
-#include "lexer.hh"
-#include "debug.hh"
-
-#include "source-file.hh"
-#include "parseconstruct.hh"
-
-static Keyword_ent the_key_tab[]={
-    "bar", BAR,
-    "cadenza", CADENZA,
-    "clef", CLEF,
-    "cm", CM_T,
-    "command", COMMAND,
-    "commands", COMMANDS,    
-    "duration", DURATIONCOMMAND,
-    "dynamic", DYNAMIC,
-    "geometric", GEOMETRIC,
-    "goto", GOTO,
-    "in", IN_T,
-    "lyrics", LYRICS,
-    "key", KEY,
-    "melodic" , MELODIC,
-    "meter", METER,
-    "midi", MIDI,
-    "mm", MM_T,
-    "multivoice", MULTIVOICE,
-    "octave", OCTAVECOMMAND,
-    "output", OUTPUT,
-    "partial", PARTIAL,
-    "paper", PAPER,
-    "plet", PLET,
-    "pt", PT_T,
-    "score", SCORE,
-    "script", SCRIPT,
-    "skip", SKIP,
-    "staff", STAFF,
-    "start", START_T,
-    "stem", STEM,
-    "table", TABLE,
-    "symboltables", SYMBOLTABLES,
-    "tempo", TEMPO,
-    "texid", TEXID,
-    "textstyle", TEXTSTYLE,
-    "unitspace", UNITSPACE,
-    "voice", VOICE,
-    "voices", VOICES,
-    "width", WIDTH,
-    "music", MUSIC,
-    "grouping", GROUPING,
-    0,0
-};
-
-My_flex_lexer::My_flex_lexer()
-{
-    keytable_p_ = new Keyword_table(the_key_tab);
-    identifier_assoc_p_ = new Assoc<String, Identifier*>;
-    errorlevel_i_ = 0;
-}
-
-int
-My_flex_lexer::lookup_keyword(String s)
-{
-    return keytable_p_->lookup(s);
-}
-
-Identifier*
-My_flex_lexer::lookup_identifier(String s)
-{
-    if (!identifier_assoc_p_->elt_query(s))
-       return 0;
-    
-    return (*identifier_assoc_p_)[s];
-}
-
-char const*
-My_flex_lexer::here_ch_c_l()
-{
-    return include_stack_.top()->sourcefile_l_->ch_c_l() + yyin->tellg();
-}
-
-void
-My_flex_lexer::add_identifier(Identifier*i)
-{
-    delete lookup_identifier(i->name);
-    (*identifier_assoc_p_)[i->name] = i;
-}
-
-My_flex_lexer::~My_flex_lexer()
-{
-    delete keytable_p_;
-
-    for (Assoc_iter<String,Identifier*>
-            ai(*identifier_assoc_p_); ai.ok(); ai++) {
-       mtor << "deleting: " << ai.key()<<'\n';
-       delete ai.val();
-    }
-    delete identifier_assoc_p_;
-}
-void
-My_flex_lexer::print_declarations()const
-{
-    for (Assoc_iter<String,Identifier*> ai(*identifier_assoc_p_); ai.ok(); ai++) {
-       ai.val()->print();
-    }
-}
-
-String
-My_flex_lexer::spot()const
-{
-    return include_stack_.top()->name +  ": " + String( lineno() );
-}
-
-void
-My_flex_lexer::LexerError(char const *s)
-{
-    if (lexer->include_stack_.empty()) {
-       *mlog << "error at EOF" << s << '\n';
-    } else {
-       char const* ch_c_l = here_ch_c_l();
-       if ( ch_c_l ) {
-           ch_c_l--;
-           while ( ( *ch_c_l == ' ' ) || ( *ch_c_l == '\t' ) || ( *ch_c_l == '\n' ) )
-                   ch_c_l--;
-           ch_c_l++;
-       }
-       errorlevel_i_ |= 1;
-       error( s, ch_c_l );
-    }
-}
-
-// set the  new input to s, remember old file.
-void
-My_flex_lexer::new_input(String s)
-{    
-   if (!include_stack_.empty()) {
-       include_stack_.top()->line = lineno();
-            // should this be saved at all?
-       include_stack_.top()->defined_ch_c_l_ = defined_ch_c_l;
-   }
-
-   Input_file *newin = new Input_file(s);
-   include_stack_.push(newin);
-   switch_streams(newin->is);
-
-   yylineno = 1;
-}
-
-// pop the inputstack.
-bool
-My_flex_lexer::close_input()
-{
-    Input_file *old = include_stack_.pop();
-     bool ok =         true;
-    if (include_stack_.empty()) {
-       ok = false;
-    } else {
-       Input_file *i = include_stack_.top();
-       switch_streams(i->is);
-       yylineno = i->line;     
-       defined_ch_c_l = i->defined_ch_c_l_;
-    }
-    delete old;
-    return ok;
-}
index 543ef6130c6e56c82ecfb2913de31986107a2b8b..9c26c57f081d8d506be03d9eee04a0dc69b69849 100644 (file)
@@ -2,7 +2,7 @@
   could use cleanup
  */
 #include <ctype.h>
   could use cleanup
  */
 #include <ctype.h>
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "string.hh"
 #include "real.hh"
 #include "debug.hh"
 #include "string.hh"
 #include "real.hh"
 #include "debug.hh"
index a5110d97ca417e36f81ffb2b5fe9a4d80ef95edf..d5d53de1d1a713afe5032dc27b80feea9251285c 100644 (file)
@@ -4,7 +4,7 @@
 #include "symtable.hh"
 #include "lookup.hh"
 #include "misc.hh"
 #include "symtable.hh"
 #include "lookup.hh"
 #include "misc.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "paper-def.hh"
 #include "midi-def.hh"
 #include "main.hh"
 #include "paper-def.hh"
 #include "midi-def.hh"
 #include "main.hh"
@@ -30,7 +30,7 @@ Paper_def*default_paper();
 char const* defined_ch_c_l;
 char const* req_defined_ch_c_l;
 int fatal_error_i = 0;
 char const* defined_ch_c_l;
 char const* req_defined_ch_c_l;
 int fatal_error_i = 0;
-
+bool init_parse_b;
 %}
 
 
 %}
 
 
@@ -72,14 +72,11 @@ int fatal_error_i = 0;
 %token CADENZA
 %token CLEF
 %token CM_T
 %token CADENZA
 %token CLEF
 %token CM_T
-%token COMMAND
-%token COMMANDS
 %token CONCAT
 %token DURATIONCOMMAND
 %token DYNAMIC
 %token END
 %token GEOMETRIC
 %token CONCAT
 %token DURATIONCOMMAND
 %token DYNAMIC
 %token END
 %token GEOMETRIC
-%token GOTO
 %token GROUPING
 %token IN_T
 %token LYRICS
 %token GROUPING
 %token IN_T
 %token LYRICS
@@ -104,14 +101,12 @@ int fatal_error_i = 0;
 %token STEM
 %token SYMBOLTABLES
 %token TABLE
 %token STEM
 %token SYMBOLTABLES
 %token TABLE
-%token TABLE
+%token TRANSPOSE
 %token TEMPO
 %token TEXID
 %token TEXTSTYLE
 %token TITLE
 %token UNITSPACE
 %token TEMPO
 %token TEXID
 %token TEXTSTYLE
 %token TITLE
 %token UNITSPACE
-%token VOICE
-%token VOICES
 %token WIDTH
 
 %token <i>     DOTS
 %token WIDTH
 
 %token <i>     DOTS
@@ -143,14 +138,14 @@ int fatal_error_i = 0;
 %type <interval>       dinterval
 %type <intvec> intastint_list
 %type <lookup> symtables symtables_body
 %type <interval>       dinterval
 %type <intvec> intastint_list
 %type <lookup> symtables symtables_body
-%type <melreq> melodic_request
+%type <melreq> melodic_request steno_melodic_req
 %type <notereq>        steno_note_req
 %type <melreqvec>      pitch_list 
 %type <midi>   midi_block midi_body
 %type <moment> duration_length
 %type <notereq>        steno_note_req
 %type <melreqvec>      pitch_list 
 %type <midi>   midi_block midi_body
 %type <moment> duration_length
-%type <music>  music init_music
-%type <mvoice>  music_voice_body music_voice  init_music_voice init_lyrics_voice
-
+%type <music>  init_music
+%type <mvoice>  transposed_music_voice init_lyrics_voice
+%type <mvoice> music_voice_body music_voice  init_music_voice 
 %type <paper>  paper_block paper_body
 %type <real>   dim real
 %type <real>   unit
 %type <paper>  paper_block paper_body
 %type <real>   dim real
 %type <real>   unit
@@ -167,7 +162,7 @@ int fatal_error_i = 0;
 
 %left PRIORITY
 
 
 %left PRIORITY
 
-%expect 2      /* have to fix this. */
+%expect 1      /* have to fix this. */
 
 %%
 
 
 %%
 
@@ -184,16 +179,23 @@ mudela:   /* empty */
 */
 add_declaration: declaration   {
                lexer->add_identifier($1);
 */
 add_declaration: declaration   {
                lexer->add_identifier($1);
+               $1->init_b_ = init_parse_b;
+               $1->defined_ch_C_ = define_spots.pop();
        }
        ;
 
 declarable_identifier:
        }
        ;
 
 declarable_identifier:
-       STRING { $$ = $1;
-          if (lexer->lookup_identifier(*$1))
+       STRING {
+               define_spots.push(lexer->here_ch_c_l());
+           $$ = $1;
+           if (lexer->lookup_identifier(*$1))
                warning("redeclaration of `" + *$1 + "'",
                        lexer->here_ch_c_l());
        }
                warning("redeclaration of `" + *$1 + "'",
                        lexer->here_ch_c_l());
        }
-       | IDENTIFIER { $$ = new String($1->name); }
+       | IDENTIFIER { 
+               define_spots.push(lexer->here_ch_c_l());
+               $$ = new String($1->name); 
+       }
        ;
 
 declaration:
        ;
 
 declaration:
@@ -257,7 +259,6 @@ score_block:
                /* handle error levels. */
                $$->errorlevel_i_ = lexer->errorlevel_i_;
                lexer->errorlevel_i_ = 0;
                /* handle error levels. */
                $$->errorlevel_i_ = lexer->errorlevel_i_;
                lexer->errorlevel_i_ = 0;
-
        }
        ;
 
        }
        ;
 
@@ -392,12 +393,21 @@ init_music_chord:
 /*
        MUSIC
 */
 /*
        MUSIC
 */
-music:
-       music_voice     { $$ = $1; }
-       | music_chord   { $$ = $1; }
+
+
+
+transposed_music_voice:
+       steno_melodic_req music_voice { 
+               $$ = $2;
+               $$->transpose(*$1);
+               delete $1;
+       }
        ;
 
 music_voice:  '{' music_voice_body '}' { $$ = $2; }
        ;
 
 music_voice:  '{' music_voice_body '}' { $$ = $2; }
+       | TRANSPOSE '{' transposed_music_voice '}' {
+               $$ = $3;
+       }
        ;
 
 music_voice_body:
        ;
 
 music_voice_body:
@@ -412,13 +422,17 @@ music_voice_body:
        }
        | music_voice_body voice_command {
        }
        }
        | music_voice_body voice_command {
        }
-       | music_voice_body music        {
+       | music_voice_body music_chord  {
                $$->add($2);
        }
                $$->add($2);
        }
+       | music_voice_body CONCAT music_voice   {
+               $$->add($3);/* niet echt */
+       }
        | music_voice_body error {
        }
        | music_voice_body '>' {
        | music_voice_body error {
        }
        | music_voice_body '>' {
-               error("Confused by earlier errors: bailing out");
+               fatal_error_i = 1;
+               yyerror("Confused by errors: bailing out");
        };
 
 music_chord:  '<' music_chord_body '>' { $$ = $2; }
        };
 
 music_chord:  '<' music_chord_body '>' { $$ = $2; }
@@ -434,14 +448,15 @@ music_chord_body:
        | MULTIVOICE {
                $$ = new Multi_voice_chord;
        }
        | MULTIVOICE {
                $$ = new Multi_voice_chord;
        }
-       | music_chord_body music {
+       | music_chord_body music_voice {
                $$->add($2);
        }
        | music_chord_body full_element {
                $$ ->add_elt($2);
        }
        | music_chord_body '}' {
                $$->add($2);
        }
        | music_chord_body full_element {
                $$ ->add_elt($2);
        }
        | music_chord_body '}' {
-               error("Confused by earlier errors: bailing out");
+               fatal_error_i = 1;
+               yyerror("Confused by errors: bailing out");
        }
        | music_chord_body error {
        }
        }
        | music_chord_body error {
        }
@@ -571,23 +586,30 @@ octave_quotes:
 /*
        URG!!
 */
 /*
        URG!!
 */
-steno_note_req:
+steno_melodic_req:
        MELODIC_REQUEST_IDENTIFIER      {
        MELODIC_REQUEST_IDENTIFIER      {
-               $$ = new Note_req;
-               * (Melodic_req *) $$ = *$1->request(false)->melodic();
+               $$ = $1->request(false)->clone()->melodic();
                $$->octave_i_ += lexer->prefs.default_octave_i_;
        }
                $$->octave_i_ += lexer->prefs.default_octave_i_;
        }
-       | steno_note_req '\''   {  
+       | steno_melodic_req '\''        {  
                $$-> octave_i_ ++;
        }
                $$-> octave_i_ ++;
        }
-       | '`' steno_note_req     {  
+       | '`' steno_melodic_req  {  
                $$ = $2;
                $2-> octave_i_ --;
        }
                $$ = $2;
                $2-> octave_i_ --;
        }
-       
+       ;
+
+steno_note_req:
+       steno_melodic_req       {
+               $$ = new Note_req;
+               * (Melodic_req *) $$ = *$1;
+               delete $1;
+       }
        | steno_note_req   '!'          {
                $$->forceacc_b_ = ! $$->forceacc_b_;
        } 
        | steno_note_req   '!'          {
                $$->forceacc_b_ = ! $$->forceacc_b_;
        } 
+       /* have to duration here. */
        ;
 
 melodic_request:
        ;
 
 melodic_request:
@@ -781,6 +803,8 @@ default_duration:
 
 voice_elt:
        steno_note_req notemode_duration                {
 
 voice_elt:
        steno_note_req notemode_duration                {
+               if (!lexer->note_state_b())
+                       yyerror("have to be in Note mode for notes");
                $$ = get_note_element($1, $2);
        }
        | RESTNAME notemode_duration            {
                $$ = get_note_element($1, $2);
        }
        | RESTNAME notemode_duration            {
@@ -791,7 +815,10 @@ voice_elt:
 
 lyrics_elt:
        mudela_text notemode_duration                   {
 
 lyrics_elt:
        mudela_text notemode_duration                   {
+               if (!lexer->lyric_state_b())
+                       yyerror("Have to be in Lyric mode for lyrics");
                $$ = get_word_element($1, $2);
                $$ = get_word_element($1, $2);
+
        };
 
 /*
        };
 
 /*
@@ -809,7 +836,7 @@ int:
        real                    {
                $$ = int($1);
                if ( distance($1,Real(int($$)) ) > 1e-8)
        real                    {
                $$ = int($1);
                if ( distance($1,Real(int($$)) ) > 1e-8)
-                       error( "integer expected", lexer->here_ch_c_l() );
+                       yyerror( "integer expected" );
        }
        ;
 
        }
        ;
 
@@ -916,29 +943,30 @@ void
 parse_file(String init, String s)
 {
    *mlog << "Parsing ... ";
 parse_file(String init, String s)
 {
    *mlog << "Parsing ... ";
-   lexer = new My_flex_lexer;
+   lexer = new My_lily_lexer;
 
 #ifndef NPRINT
    yydebug = !monitor->silence("InitParser") && check_debug;
    lexer->set_debug( !monitor->silence("InitLexer") && check_debug);
 #endif
 
 #ifndef NPRINT
    yydebug = !monitor->silence("InitParser") && check_debug;
    lexer->set_debug( !monitor->silence("InitLexer") && check_debug);
 #endif
-
+       init_parse_b = true;
    lexer->new_input(init);
    yyparse();
 
 #ifndef NPRINT
    if (!monitor->silence("InitDeclarations") && check_debug)
    lexer->new_input(init);
    yyparse();
 
 #ifndef NPRINT
    if (!monitor->silence("InitDeclarations") && check_debug)
-       lexer->print_declarations();
+       lexer->print_init_declarations();
 
    yydebug = !monitor->silence("Parser") && check_debug;
    lexer->set_debug( !monitor->silence("Lexer") && check_debug);
 #endif
 
    yydebug = !monitor->silence("Parser") && check_debug;
    lexer->set_debug( !monitor->silence("Lexer") && check_debug);
 #endif
-
+       init_parse_b = false;
    lexer->new_input(s);
    yyparse();
    lexer->new_input(s);
    yyparse();
+
 #ifdef NPRINT
    if (!monitor->silence("Declarations") && check_debug)
 #ifdef NPRINT
    if (!monitor->silence("Declarations") && check_debug)
-       lexer->print_declarations();
+       lexer->print_user_declarations();
 #endif
    delete lexer;
    lexer = 0;
 #endif
    delete lexer;
    lexer = 0;
@@ -951,7 +979,7 @@ Paper_def*
 default_paper()
 {
     return new Paper_def(
 default_paper()
 {
     return new Paper_def(
-       lexer->lookup_identifier("defaulttable")->lookup(true));
+       lexer->lookup_identifier("default_table")->lookup(true));
 }
 
 
 }
 
 
index f244327c5fe6b190ba5c4cd52aeefe156960347c..5b59242c75b7d84bfed9c0f28f82374fdc015de4 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-  voiceelt.cc -- implement Voice_element
+  voice-elt.cc -- implement Voice_element
 
   source file of the LilyPond music typesetter
 
 
   source file of the LilyPond music typesetter
 
 #include "command-request.hh"
 
 
 #include "command-request.hh"
 
 
+void
+Voice_element::transpose(Melodic_req const&d)const
+{
+    for (iter_top(reqs,i); i.ok(); i++) {
+       i->transpose(d);
+      }
+}
+
 void
 Voice_element::print() const
 {
 void
 Voice_element::print() const
 {
index 47e9e28378bb80086b0535507360cfa6bcc261ed..2294d57b2ecb0d8f87ab4fb75c3eca91a3a9e4f7 100644 (file)
 #include "midi-stream.hh"
 #include "voice-element.hh"
 
 #include "midi-stream.hh"
 #include "voice-element.hh"
 
+void
+Voice::transpose(Melodic_req const & d)const
+{
+     for (iter_bot(elts, i); i.ok(); i--)
+       i->transpose(d); 
+}
+
 void
 Voice::set_default_group(String s)
 {
 void
 Voice::set_default_group(String s)
 {
index 0db10f848eb805ea8b610ef62cbd45a490d7be6c..4fe33452cce9476826f3e9f13194a60e403fcbf4 100644 (file)
@@ -1,7 +1,7 @@
 #include "proto.hh"
 #include "plist.hh"
 #include "debug.hh"
 #include "proto.hh"
 #include "plist.hh"
 #include "debug.hh"
-#include "lexer.hh"
+#include "my-lily-lexer.hh"
 #include "moment.hh"
 #include "time-description.hh"
 #include "source-file.hh"
 #include "moment.hh"
 #include "time-description.hh"
 #include "source-file.hh"
index 7e8ff5a8306d150d1d421e72dab2d07b12172e42..8c54e9fba05f302f1da911275a60ac35ae614673 100644 (file)
@@ -53,6 +53,9 @@ BUILD = $(shell cat $(build))
 INCREASE_BUILD = echo `expr \`cat $(build)\` + 1` > .b; mv .b $(build)
 #
 
 INCREASE_BUILD = echo `expr \`cat $(build)\` + 1` > .b; mv .b $(build)
 #
 
+# ugh, for win32 make
+export CXX
+
 # the version:
 #
 VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)$(MY_PATCH_LEVEL)
 # the version:
 #
 VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)$(MY_PATCH_LEVEL)