]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.76
authorfred <fred>
Sun, 24 Mar 2002 19:48:52 +0000 (19:48 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:48:52 +0000 (19:48 +0000)
21 files changed:
Documentation/INSTALL.pod
Documentation/mudela-book.pod [new file with mode: 0644]
NEWS
TODO
input/cadenza.ly
input/collisions.ly
input/header.ly
input/keys.ly
input/kortjakje.ly
input/multi.ly
input/pedal.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/scsii-menuetto.ly
input/slurs.ly
input/standchen.ly
input/toccata-fuga-E.ly
input/twinkle.ly
input/wohltemperirt.ly
lily/parser.y

index e2697cffa969871e83e33a14a6ee04a3702b5206..9d86ae3641a2aae36ec41dcf00141fc6b57ef7f5 100644 (file)
@@ -6,15 +6,6 @@ INSTALL - installing GNU LilyPond
 
 This page documents installation  and compilation of GNU LilyPond
 
-=head1 IMPORTANT
-
-if you have downloaded a
-
-       *.pre*
-
-version, then this is version is I<not> meant for producing nice
-output, but to keep your patchsets up to date.  It might not even compile.
-
 =head1 PREREQUISITES
 
 For compilation you need.
@@ -48,8 +39,34 @@ Bison. (Version 1.25 or better)
 
 =back
 
+=head1 RUNNING
+
+GNU LilyPond does use a lot of resources. For operation you need the following:
+
+
+=over 5
+
+=item *
+
+TeX
+
+=item *
+
+The MusixTeX fonts (I included those found in MusixTeX T.73). Beware,
+the clef symbol seems to have changed its position in some versions,
+(notably Egler's, a.k.a. OpusTeX). The MusixTeX fonts are included in
+MusixTeX T.73, which can be had from any CTAN site, eg at
+
+       ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
+       ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
+       ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
+
+You only need the contents of the F<mf/> subdirectory of the package.
+
 =head1 RECOMMENDED
 
+Although not strictly necessary, these are recommended to have.
+
 =over 5
 
 =item *
@@ -61,8 +78,16 @@ with the perl's Plain Old Documentation.
 
 (GNU) find
 
+
+=item *
+
+A fast computer (a full page of music typically takes 1 minute
+on my 486/133, using the B<--enable-checking> compile. It's lot slower
+than most MusiXTeX preprocessors)
+
 =back
 
+
 =head1 CONFIGURING and COMPILING
 
 to install GNU LilyPond, simply type:
@@ -80,7 +105,6 @@ This will install the following files:
        /usr/local/bin/mi2mu
        /usr/local/share/lilypond/*
        /usr/lib/texmf/texmf/tex/lilypond/* 
-       /usr/lib/texmf/texmf/fonts/source/lilypond/* 
 
 The TeX include directory is detected dynamically, but it can be
 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
@@ -98,7 +122,7 @@ B<--help>. If you are not root, you will probably have to make it with
 
        configure --prefix=/home/me_myself_and_I/
 
-In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
+In this case, you will have to set MFINPUTS, and TEXINPUTS accordingly.
 
 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
 no default hooks for local stuff (mine is broken too), you can do:
@@ -140,7 +164,7 @@ Set then directory tex input is in (detected as a subdir of tex-prefix)
 
 =item --enable-mf-dir
 
-Set then directory tex input is in (idem)
+Set then directory mf input is in (idem)
 
 =back
 
@@ -164,8 +188,6 @@ If you have done a successful C<make>, then a simple
 
 should do the trick. 
 
-[todo. Obsolete; fonts are in distribution now.]
-
 Install the musixtex fonts in a directory which TeX and MF knows (if
 you are root, look for a directory which contains the directories with
 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
@@ -174,7 +196,10 @@ applicable)
 
 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
 have a symlink pointing to that in
-F</usr/lib/texmf/texmf/fonts/source/public/>
+F</usr/lib/texmf/texmf/fonts/source/public/>. After I copied the
+files, I ran "texhash"
+
+ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
 
 =head1 CAVEATS
 
@@ -189,33 +214,9 @@ should turn off this flag for this file.
 
 =back
 
-=head1 RUNNING
-
-GNU LilyPond does use a lot of resources. For operation you need the following:
-
+=head1 EXAMPLE
 
-=over 5
-
-=item *
-
-A fast computer (a full page of music typically takes 1 minute
-on my 486/66, using the B<--enable-checking> compile. It's lot slower
-than most MusiXTeX preprocessors)
-
-=item *
-
-TeX
-
-=item *
-
-The MusixTeX fonts (I included those found in MusixTeX T.73). Beware,
-the clef symbol has changed position in the Egler version,
-a.k.a. OpusTeX)
-
-=back
-
-At this time, GNU LilyPond output looks nice, but is not of production
-quality. If you're not discouraged; this is what I type in my xterm:
+This is what I type in my xterm:
 
        lilypond someinput.ly
        tex lelie.tex
@@ -250,9 +251,10 @@ Please refer to the man page for more information.
 =head1 REDHAT LINUX
 
 RedHat Linux users should be able to get a RPM. A spec file is in
-F<make/lilypond.spec>. You should be able to create an rpm as a normal
+F<make/out/lilypond.spec>. You should be able to create an rpm as a normal
 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
-F<Variables.make>
+F<Variables.make>. (If you create the RPM as a normal user the
+permissions will not be set correctly, unfortunately)
 
 
 =head1 WINDOZE
@@ -267,21 +269,6 @@ to make GNU LilyPond under, brr, aargh, well, simply type:
        bash configure
        make windows32
 
-=head1 PLATFORMS
-
-GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
-
-Unix:
-
-       * gnu/linux 2.0.x, g++ 2.7.2[.1]
-       * aix 4.1, g++ 2.7.2
-       * solaris 2.5, g++ 2.7.2
-
-Other:
-
-       * windows-nt 4.0, cygnus gnu-windows32 beta17.1 (~=g++ 2.7.2)
-       * gnu/linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
-
 =head1 AUTHORS
 
 Han-Wen Nienhuys <hanwen@stack.nl>
diff --git a/Documentation/mudela-book.pod b/Documentation/mudela-book.pod
new file mode 100644 (file)
index 0000000..042948d
--- /dev/null
@@ -0,0 +1,55 @@
+=head1 NAME
+
+mudela-book - integrate LaTeX and mudela
+
+=head1 SYNOPSIS
+
+       convert-mudela [options] [files]
+
+=head1 DESCRIPTION
+
+mudela-book runs LilyPond on fragments of mudela in your source file,
+and produces a LaTeXable document, with formatted music.
+
+       \begin{mudela}
+       CONTENTS
+       \end{mudela}
+
+runs LilyPond on CONTENTS, and puts the result back, surrounded by
+\preexample and \postexample commands. The \begin  takes  the
+following options:
+
+=over 4
+
+=item fragment
+
+mudela-book adds some redtape. You
+can substitute voice-contents for CONTENTS in this case.
+
+=item verbatim
+
+CONTENTS is copied into the TeX source enclosed in a verbatim block.
+
+=back
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--outname>
+
+The name of TeX file to output
+
+=item B<--outdir> 
+
+The directory to output lilypond output and input to
+
+=back
+
+=head1 BUGS
+
+Doesn't handle incorrect input sanely. 
+
+=head1 AUTHOR
+
+Han-Wen Nienhuys <hanwen@gnu.ai.mit.edu>
diff --git a/NEWS b/NEWS
index d013e18266b84607a264e98fb63af266a318f1e5..2cf9b4d45e39b8629d3f58415e7c9609f55e5ee7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,39 @@
+pl 76
+       - mudela version bumped to 0.1
+       - mudela-book
+       - doco updates, now some stuff in LaTeX
+       - junked book.{ly,tex} example
+       - progress indicator
+       - rhythm.ly updated
+       - removed mf sources from distribution due to (c) stuff
+       - allowal of breaks handled cleanly
+       - junked Subtle_reqs, junked Request_iterator. Request
+       iteration now by Voice_element_iterator
+       - Piano_bar, Piano_bar_engraver, Span_score_bar_engraver, 
+       Span_score_bar
+       - Swallow_performer
+       - removed  Staff_engravers, grouping into Line_group_engraver
+       - Head_column as base for Rest_column,Note_column
+       - Score_column derived from PCol
+       - regurgled Line spacing: interface and implementation
+       separate. Idealspacing moved into Spring_spacer
+       - Gourlay style linespacing
+
+pl 75.jcn6
+       - {lyric,meter,key}-performer
+       - span-brace-* (Removed again. Such is life)
+       - doze compile
+       - midi output, notes only
+       - working midi output -- hacked
+       - doze compile, mingw32 configure (still triggers gcc int. comp err)
+
+pl 74pre.jcn2
+       - mi2mu fixes after scott snyder <snyder@d0sgif.fnal.gov> [sss]
+       - mi2mu update for mudela 0.0.61
+       - conflily fixes
+
+*******
+july 21
 
 pl 75
        - inbook.ly & book.tex example.
@@ -626,6 +662,7 @@ Bugfix
 *******
 pl 41
        - release
+
 pl 40.3
        - all of the above
        - hw's configure.in
diff --git a/TODO b/TODO
index cfb9f4229af60846bfb93dad73179da76c148b88..5ac024269a3ef83747e4e0c68c7e10302678c52b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,7 @@
+0.1:
+
+       * versioning stuff (cvt mudela, mudela, etc.)
+
 Features you cannot find in the doco as working, should be mentioned here.
        
 This is an assorted collection of stuff that will be done, might be
@@ -6,33 +10,24 @@ done, or is an idea that I want to think about
 Most of the items are marked in the code as well, with full explanation. 
 grep for TODO and ugh/ugr
 
-       * script for unified musicological source: 
+       * dots into separate item.
 
-               blah blah latex
-               \begin{mudela} c4  d4 e4 f4 
-               \end{mudela}
+       * lyrics in chords still fuck up.
 
-       * lyrics with chords broken
-
-       * Redo MIDI output to use Translators
-       - remember more horizontal info than melodics:
+       * add to MIDI output:
        - tempo change
        - repeat
        - slurs
        - dynamics etc.
 
-       * pushgroup/popgroup
-
-       * strict separation between visual and auditive processing.
+       * rewire acknowledge_element() logic with a process_acknowledged()
 
-       * fix depcy/dept stuff in eg. Beam.
+       * pushgroup/popgroup
 
        * whole head on ledger line
 
        * piano staff
 
-       * decent spacing
-       
        * implement better breaking algorithm
 
        * update 20 pt table
@@ -41,7 +36,7 @@ grep for TODO and ugh/ugr
 
        * enter script priority
 
-       * a Hands on tutorial
+       * a hands on tutorial
 
 PROJECTS
 
@@ -258,6 +253,8 @@ SMALLISH PROJECTS
 
        * Decent TeX titledefs (\tempo, \metron, etc. )
 
+       * lily \tempo
+
        * C meter iso 4/4, idem for alla breve, etc.
 
        * textspanner: center position
index eda6e6bfd71e7e96030b52db69ef61a51442b1b4..a2110f346234167f9dbbb053ca50eb39bde78253 100644 (file)
@@ -10,7 +10,7 @@
 EndMudelaHeader
 %}
 
-\version "0.0.61";
+\version "0.1.0";
 
 
 cad = \melodic  {
index fa1c3f71c0112ce545b90a93d032bfbee08b8ad6..9bde8122fbb14432994ecefb405b2230b691ddb5 100644 (file)
@@ -10,7 +10,7 @@
  Tested Features:test the Collision resolution 
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
 
 
 
index f7ab263e0afa3461108d702a6fc1ed02ac9dbb08..3baaadf9e1f0c44c734b6910784ed27fd4f54fdc 100644 (file)
@@ -10,4 +10,4 @@
  Tested Features:
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
index 4a30ea61f9cf3c5fe47a7726140af1f0de86d592..45237a2d7e3a21a1cdee781ce47b361f9a24054a 100644 (file)
@@ -10,7 +10,7 @@
  Tested Features: local key, key, forced accidentals
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
 
 
 blah = \melodic{
index 617dac78e93db6b9416d4a661df732fa499e5b5b..ab408c9f2f181ba0113232de63e69d9120d9022a 100644 (file)
@@ -10,7 +10,7 @@
  Tested Features: example file with comments
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
 
 
 % the % is a comment.
@@ -58,10 +58,9 @@ begeleiding = \melodic{
 }
 
 \score{
-       \melodic < \multi 3;
-       
-        \melodie
-        \begeleiding 
+       \melodic < \id "Piano" ""; \multi 3;
+               \melodie
+               \begeleiding 
        >
 }
 
index 02b1dcfaf604b04f3c8177d4af17d963b196dd63..7113cfb4a03e63f7d9c86d4cf8f25bb7a9e1eb96 100644 (file)
@@ -12,7 +12,7 @@ EndMudelaHeader
 %}
 
 
-\version "0.0.61";
+\version "0.1.0";
 
 \score{
        \melodic 
@@ -21,6 +21,15 @@ EndMudelaHeader
                        < \multi 2;  { \stem -1; c2 c2 } { \stem 1; c'2 c'2 } > 
                        < \multi 3;  { \clef "bass"; c2 c2 } { \meter 2/4;\bar "||"; \key fis cis gis; c'2 c'2 } > 
                                c2 c1 
-
+                       c1 c1
+                       < \multi 1; < \multi 3; 
+                               { \meter 2/4; \clef "violin"; c2 c2 }
+                               { \meter 2/4; \clef "bass"; c2 c2 }
+                       >
+                       < \multi 3; 
+                               { \meter 2/4; \clef "violin"; c2 c2 }
+                               { \meter 2/4; \clef "bass"; c2 c2 }
+                       >
+                       >
                }
 }
index f9a5b9eaf99ed8925b8658dd51bff37aeb86dadc..da3290ec4440a7564a6aea41d9c6e3eb1e8120e0 100644 (file)
@@ -24,7 +24,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "0.0.61";
+\version "0.1.0";
 
 \score{
                \melodic {
index 530fc74a98377136b0a1d644b33c64d7732b623a..a321ca34a74da7cf90e4a9a3a62f1c859e717f9d 100644 (file)
        unsynced bars
 EndMudelaHeader
 %}
-\version "0.0.58";
 
-%
-%      Ive' got rhythm!
-%
-% add any impressive examples here, please
 
-\version "0.0.58";
 
-ritme = \staff {
-       melodicregs
-       \melodic{ %\octave ;
+\version "0.1.0";
+
+ritme = \melodic{ %\octave ;
        \partial 8;
        \octave c';
        \meter  4/4;
@@ -48,29 +42,28 @@ ritme = \staff {
        
         }
        
-}
-another = \staff {
-       melodicregs
+
+another = 
        \melodic{ \meter 4/4; 
                c1.  c1. c4 c4 c4 c4  \meter  4/4; c1 c1 c1
         }
-}
 
-yanother = \staff      { 
-       melodicregs
+
+yanother = 
        \melodic{ \meter 4/4; 
                c1 c1 c1 c4 c4 c4 c4  c1 c1 c1
         }
-}
+
 
 \score{
-       ritme
-       another
-       yanother
+        < \multi 3;
+               \ritme
+               \another
+               \yanother
+       >
        
-       \midi { }
        \paper{
-               \unitspace 2\cm
-               \geometric 1.3
+               unitspace =2.0\cm;
+               geometric =1.6;
        }
 }
index c594d7787629fe9b70691a398a27318e76b5d1d5..0e30979237f5500fbc243a5b9df611b2862ef9dc 100644 (file)
@@ -15,7 +15,7 @@ EndMudelaHeader
 % scales with accents.
 %
 
-\version "0.0.61";
+\version "0.1.0";
 blah =         \melodic {
                \meter 6/8;     
                \octave  'c ;
index 3882327d27f3a2063bdc39d7120a7f3cf04a4035..51d8a9093f7b4997aa4923aed5c462dabcf36cfc 100644 (file)
@@ -10,7 +10,7 @@
  Tested Features: scripts, text.
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
 
 
 blah =         \melodic {
index 9bc9fcf38fcf8bcfae4b9ac50534930bd7e4a716..a8a7b2c236de23741f1c07f59ee2521f68ed1497 100644 (file)
@@ -13,7 +13,7 @@
 EndMudelaHeader
 %}
 
-\version "0.0.61";
+\version "0.1.0";
 
 %% Stuff from MPP version
 % \lefttitle{Menuetto}
@@ -101,7 +101,10 @@ IImenuetto = \melodic{
 }
 
 \score{
-       \melodic { \IImenuetto }
+       % huh? how to set id_str
+       \melodic{ 
+               \id "Staff" "Cello"; \IImenuetto 
+       }
        \paper{
                unitspace= 9.0\mm  ;% to get lily to use only three lines
                geometric= 1.40;
index 29ad8cf5c094f8782c8b6b5b41d0b97db203d6d1..107809130cf47257d130dc5ab440b697fd7da5c8 100644 (file)
@@ -11,7 +11,7 @@
 EndMudelaHeader
 %}
 
-\version "0.0.61";
+\version "0.1.0";
 
 \score{
        \melodic{\octave c';
index d1c5ec81d9a32a21a120160a2931a7dfbeec05a9..4f36f53182450f5ddf01c3b2d013904115975392 100644 (file)
@@ -13,7 +13,7 @@
 EndMudelaHeader
 %}
 
-\version "0.0.61";
+\version "0.1.0";
 
 commands = \melodic{
        \skip 2.*4;
@@ -465,12 +465,14 @@ tekstII = \lyric{
 }
 
 \score{
-       <       \multi 3; 
+       <       
                { \id "Lyric" "1"; \tekstI } % ugh
                { \id "Lyric" "2"; \tekstII }
-
-               \melodic < \melodie \commands >
-               \melodic < \begeleiding \commands >
+               < \id "Piano" "";
+                       \multi 2;
+                       \melodic < \melodie \commands >
+                       \melodic < \begeleiding \commands >
+               >
        >
        \paper{
                linewidth= 195.\mm;
index b912fb5f0b2d0141d69e4d5271c6c3f2cf2c75e0..6e5746e7255a00a1fe4360b59ce79ff9223174df 100644 (file)
@@ -20,7 +20,7 @@ EndMudelaHeader
 %}
 
 
-\version "0.0.61";
+\version "0.1.0";
 
 toccata_commands = \melodic{
        \meter 4/4;
@@ -131,16 +131,22 @@ fuga2_pedal = \melodic{
        dis4-\rtoe e4-\rheel 'e4-\ltoe |
 }
 
-break = \melodic{ \meter 4/4; r1 }
+break = \melodic{ 
+       %\meter 4/4;
+       r1
+}
 
 % these should be two separate scores...
 \score{
-       \melodic < \multi 3;
+       \melodic < \multi 1;
 
-                {\$toccata_right     \break   \$fuga2_right }
-                {\$toccata_left  \break   \$fuga2_left }
+                < \id Piano ""; \multi 3;
+                  {\$toccata_right     \break   \$fuga2_right }
+                  { \$toccata_left  \break   \$fuga2_left }
+               > 
        
-                {\$toccata_pedal    \break   \$fuga2_pedal }
+                {  \$toccata_pedal    \break   \$fuga2_pedal }
+               
                
        >
        \paper{}
index 80b6ac10ae047b14c2d40aed9c2ba9a96f18a056..aae1ded22add10d40063c97b0c663e604a56724f 100644 (file)
@@ -14,7 +14,7 @@
  Tested Features: lyrics
 EndMudelaHeader
 %}
-\version "0.0.61";
+\version "0.1.0";
 
 melody = \melodic{
        \clef violin;
@@ -115,13 +115,19 @@ textiii = \lyric{
 
 \score{
        < \multi 3;
-               \melodic <\global \melody >
+               \melodic <
+                       \id "Piano" "";\multi 3;
+                       < \global 
+                               \melody >
+                       < \global 
+                               \accompany >
+               >
                
                % ugh
                \lyric < \id "Lyric" "1"; \global \tekst \hegedraagjetekst >
 %              \lyric < \id "Lyric" "2";  \global \texte >
 %              \lyric < \id "Lyric" "3"; \global \texti \textii \textiii >
-               \melodic < \global \accompany >
+               
        >
        \paper{
                unitspace= 2.5\cm;
index 89970f8776985b55d46f809cfece00eb30f9d1b9..08101712ad9479d16f45649f33438bcded1c6947 100644 (file)
@@ -9,7 +9,7 @@
 
 %}
 
-\version "0.0.61";
+\version "0.1.0";
 
                                     % should add \need{dutch.ini} for
                                     % correct parsing of note names
@@ -160,7 +160,8 @@ bassdux =
 
         
 \score {
-    \melodic < \multi 1;
+    \melodic < \id "Piano" ""; 
+              \multi 1;
                  < \multi 2; 
                        \global 
                        \dux
@@ -172,7 +173,10 @@ bassdux =
                  >
              >
 
-    \paper{}
+    \paper{
+%      unitspace = 40.0\pt;    geometric = 1.6;
+       geometric= 1.4; unitspace= 34.\pt;
+    }
     \midi {
         \tempo 4:84;
     }
index 2607a2ed089d0257fd3308ed8785aada8832c8b1..4f074fb2dc0b7f03a32d708b8fe9cd825ec927fd 100644 (file)
@@ -12,7 +12,7 @@
 #include <iostream.h>
 
 // mmm
-#define MUDELA_VERSION "0.0.61"
+#define MUDELA_VERSION "0.1.0"
 
 #include "script-def.hh"
 #include "symtable.hh"
@@ -170,6 +170,7 @@ yylex(YYSTYPE *s,  void * v_l)
 %token <id>    SCRIPT_IDENTIFIER
 %token <id>    STAFF_IDENTIFIER
 %token <id>    REAL_IDENTIFIER
+%token <id>    INPUT_TRANS_IDENTIFIER
 %token <id>    INT_IDENTIFIER
 %token <id>    SCORE_IDENTIFIER
 %token <id>    MIDI_IDENTIFIER
@@ -283,6 +284,7 @@ declarable_identifier:
 
 old_identifier:
        IDENTIFIER
+       |       INPUT_TRANS_IDENTIFIER
        |       MELODIC_REQUEST_IDENTIFIER 
        |       POST_REQUEST_IDENTIFIER
        |       SCRIPT_IDENTIFIER
@@ -332,6 +334,10 @@ declaration:
                $$ = new Request_id(*$1, $3, MELODIC_REQUEST_IDENTIFIER);
                delete $1;
        }
+       | declarable_identifier '=' input_translator_spec {
+               $$ = new Input_translator_id ( *$1, $3, INPUT_TRANS_IDENTIFIER);
+               delete $1;
+       }
        ;
 
 
@@ -342,7 +348,11 @@ input_translator_spec:
        ;
 
 input_translator_spec_body:
-       STRING STRING   { 
+       INPUT_TRANS_IDENTIFIER  {
+               $$ = $1->input_translator(true);
+               $$-> set_spot( THIS->here_input() );
+       }
+       | STRING STRING { 
                $$ = new Input_translator; 
                $$->base_str_ = *$1;
                $$->type_str_ =*$2;