diff options
author | Han-Wen Nienhuys <hanwen@xs4all.nl> | 1997-08-21 12:13:09 +0200 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@xs4all.nl> | 1997-08-21 12:13:09 +0200 |
commit | c573fa28c07b03f17d96b97815765f1a8bf8c47a (patch) | |
tree | 8e1c5aac47a4e3a54d354357005eac217db9f476 | |
parent | 4219effd5e8bf754338492df44a6a9f34b6a164e (diff) |
release: 0.1.10
46 files changed, 319 insertions, 247 deletions
diff --git a/AUTHORS.text b/AUTHORS.text index e8e36bb310..74174c3073 100644 --- a/AUTHORS.text +++ b/AUTHORS.text @@ -61,6 +61,6 @@ CCCCOOOONNNNTTTTRRRRIIIIBBBBUUUUTTTTOOOORRRRSS -12/Aug/97 LilyPond 0.1.9 1 +12/Aug/97 LilyPond 0.1.10 1 @@ -2,8 +2,8 @@ *** NOTE - This license applies to all files except the included input files - (which are in the subdirectory input/ + This license applies to all files except the included example +input files (which are in the subdirectory input/ ) *** END NOTE diff --git a/Documentation/CodingStyle.pod b/Documentation/CodingStyle.pod index cddf90b58e..5e0048a364 100644 --- a/Documentation/CodingStyle.pod +++ b/Documentation/CodingStyle.pod @@ -66,12 +66,8 @@ The class Class_name_abbreviation is coded in F<class-name-abbr.*> in emacs: - (add-hook 'c-mode-hook - '(lambda ()(setq c-basic-offset 4))) - - (add-hook 'c++-mode-hook - '(lambda() (c-set-style "Stroustrup") + '(lambda() (c-set-style "gnu") ) ) diff --git a/Documentation/gnu-music.pod b/Documentation/gnu-music.pod index c209f2a31a..2a2ee0009a 100644 --- a/Documentation/gnu-music.pod +++ b/Documentation/gnu-music.pod @@ -142,7 +142,7 @@ of use and power. =back -=head1 TASKS (LONGTERM) +=head1 COMPONENTS =over 4 @@ -203,6 +203,10 @@ automatic accompaniment, etc. =back +=head1 PLAN + + + =head1 PROGRAMS =over 4 diff --git a/Documentation/index.pod b/Documentation/index.pod index 992009edc9..6701961f3f 100644 --- a/Documentation/index.pod +++ b/Documentation/index.pod @@ -19,71 +19,62 @@ examples of what LilyPond can do: MIDI, PS, .gif and input. </a > -=head2 Documentation +=head2 Documentation: Introduction =over 4 =item * -<a href=faq.html +<a href=ANNOUNCE.txt > -FAQs +The announce of 0.1 </a > -=item * -<a href=INSTALL.html -> -The installation instructions. -</a -> =item * -<a href=tex_manuals.html +<a href=DEDICATION.txt > -PS documents about LilyPond +DEDICATION </a > - =item * -<a href=mi2mu.html +<a href=faq.html > -manual page for mi2mu, the MIDI convertor. +FAQs </a > =item * -<a href=lilypond.html +<a href=INSTALL.html > -The manual page +The installation instructions. </a > + +=head2 Why: Background Information + +=over 4 + =item * -<a href=convert-mudela.html +<a href=MANIFESTO.html > -The mudela convertor: convert-mudela +Design criteria </a > =item * -<a href=mudela-book.html +<a href=gnu-music.html > -mudela in TeX: mudela-book +The GNU Music project </a > - -=back - -=head2 Background information - -=over 4 - =item * -<a href=MANIFESTO.html +<a href=mutopia.html > -Design criteria +Mutopia -- Music To the People </a > @@ -102,32 +93,43 @@ The lilypond logo (medium size, format: .gif) > +=back + +=head2 Documentation: manpages, manuals + =item * -<a href=gnu-music.html +<a href=tex_manuals.html > -The GNU Music project +PS documents about LilyPond </a > + =item * -<a href=mutopia.html +<a href=mi2mu.html > -Mutopia -- Music To the People +manual page for mi2mu, the MIDI convertor. </a > +=item * +<a href=lilypond.html +> +The manual page +</a +> =item * -<a href=ANNOUNCE.txt +<a href=convert-mudela.html > -The announce of 0.1 +The mudela convertor: convert-mudela </a > =item * -<a href=DEDICATION.txt +<a href=mudela-book.html > -DEDICATION +mudela in TeX: mudela-book </a > diff --git a/Documentation/mutopia.pod b/Documentation/mutopia.pod index bdefc53132..b473664996 100644 --- a/Documentation/mutopia.pod +++ b/Documentation/mutopia.pod @@ -5,7 +5,10 @@ Mutopia project - manifesto =head1 DESCRIPTION Random ranting about the Mutopia project, aka "Music To the People." -[Not yet finished, so this is unpolished] + +This is the ultimate goal which I want to accomplish using LilyPond +and mudela. This project is still vapourware, so don't ask questions +unless you want to put in effort into The GNU Music project, =head1 WHY diff --git a/Documentation/other-packages.pod b/Documentation/other-packages.pod index 3049783499..6238267843 100644 --- a/Documentation/other-packages.pod +++ b/Documentation/other-packages.pod @@ -69,7 +69,7 @@ A NeXT package by William F. Clocksin. Requires Adobe fonts. =head2 Proprietary -=item Scribe, http:// +=item Scribe, http://adu1.adu.lattrobe.edu.au/Music/Scribe.html A formatter for medieval scores. diff --git a/INSTALL.text b/INSTALL.text index bbbec823a1..0720e8bead 100644 --- a/INSTALL.text +++ b/INSTALL.text @@ -61,7 +61,7 @@ RRRRUUUUNNNNNNNNIIIINNNNGGGG -8/Aug/97 LilyPond 0.1.9 1 +8/Aug/97 LilyPond 0.1.10 1 @@ -127,7 +127,7 @@ CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRIIIINNNNGGGG a -8/Aug/97 LilyPond 0.1.9 2 +8/Aug/97 LilyPond 0.1.10 2 @@ -193,7 +193,7 @@ INSTALL(1) LilyPond documentation INSTALL(1) -8/Aug/97 LilyPond 0.1.9 3 +8/Aug/97 LilyPond 0.1.10 3 @@ -259,7 +259,7 @@ IIIINNNNSSSSTTTTAAAALLLLLLLLIIIINNNNGGGG -8/Aug/97 LilyPond 0.1.9 4 +8/Aug/97 LilyPond 0.1.10 4 @@ -325,7 +325,7 @@ RRRREEEEDDDDHHHHAAAATTTT LLLLIIIINNNNUUUUXXXX -8/Aug/97 LilyPond 0.1.9 5 +8/Aug/97 LilyPond 0.1.10 5 @@ -391,6 +391,6 @@ AAAAUUUUTTTTHHHHOOOORRRRSSSS -8/Aug/97 LilyPond 0.1.9 6 +8/Aug/97 LilyPond 0.1.10 6 @@ -1,6 +1,7 @@ -pl 9.jcn3 - - bf: standchen - - update 20pt table +pl 10 + - bf: init pending_indent_i_ + - output header to TeX file. Who wants to write TeX to make it work? + - mi2mu: bf's, --key option - removed Duration(int,int) - bf: Duration_convert::dur2_str @@ -10,6 +11,10 @@ pl 9.jcn2 - bf: String_convert::bin2_i; added bin2_u - bf's: Binary_source_file - bf: constr. Tempo/Timing_req +pl 0.1.8.jcn3 + - table20, standchen-{16,20}* +******* +aug 18 pl 9 - declare rhythic_request @@ -24,8 +29,6 @@ pl 8.mb: - use log of duration-name ******* -pl 0.1.8.jcn3 - - table20, standchen-{16,20}* aug 15 pl 8 @@ -12,11 +12,6 @@ grep for TODO and ugh/ugr * collision.cc: 138, g++ errors - * bugreport to doc++ devel: struct not in class hier; public - virtual baseclasses - - * DOC++ bugs/newer version? - * Rational infty(HUGE_VAL) on glibc / w32 * Fix profiling. gprof bugreport? @@ -34,12 +29,8 @@ PROJECTS -used fixed fp * \header - - Generate TeX titles from \header: - - title = XXX - -> \def\title{XXXX} - revise lexer mode - - write perl script for handling it + - write perl script for handling it into databases * emacs-mode for mudela @@ -48,10 +39,17 @@ PROJECTS - Use Automake - shared lib on Solaris too. - check libtool, automake - - generate stuff in out/default, out/sun5-irix etc iso out/ and out-sun5/ + + * Add mudela to Rosegarden. + + * a musical dictionary. See Documentation/Vocab* + - other languages + - emacs forms mode for editing it. + + * chords - guitar chords - chord names @@ -105,7 +103,9 @@ PROJECTS - slur start/end * Output an output format independent (ofi) typeset file; and - make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters. (difficult) + make ofi2 TeX, MusixTex, Display PostScript, PostScript, + Ascii... interpreters. (difficult) + - poor man's ascii output possible? - MusixTeX output possible? (would have to be done before break calc.) - NIFF ? @@ -151,7 +151,6 @@ PROJECTS - update 20 pt table - mixed fontsizes - * lines: - Ledger lines, should be separate item: Ledger_lines, Ledger_lines - set different line sizes / thicknesses @@ -1,6 +1,6 @@ TOPLEVEL_MAJOR_VERSION = 0 TOPLEVEL_MINOR_VERSION = 1 -TOPLEVEL_PATCH_LEVEL = 9 +TOPLEVEL_PATCH_LEVEL = 10 # use to send patches, always empty for released version: -TOPLEVEL_MY_PATCH_LEVEL = .jcn3 +TOPLEVEL_MY_PATCH_LEVEL = diff --git a/bin/make-website.in b/bin/make-website.in index 54bfc14151..be95633992 100644 --- a/bin/make-website.in +++ b/bin/make-website.in @@ -35,16 +35,18 @@ sub get_version sub set_html_footer { - my $MAILADRESS=$ENV{MAILADRESS}; + my $MAILADDRESS=$ENV{MAILADDRESS}; my @pw=(getpwuid($<)); my $username=$pw[6]; $footstr = "\n<hr>Please take me <a href=index.html>back to the LilyPond index</a>\n<hr> <font size=-1> -This page was built using <code>" . $id_str . "</code> from lilypond-$lily_version by -<p> -<address><br>$username <a href=mailto:$MAILADRESS><<!bla>$MAILADRESS</a>></address> +This page was built using <code>" . $id_str . "</code> from lilypond-" + . $lily_version . + " by<p> +<address><br>$username <a href=mailto:" + . $MAILADDRESS . "><<!bla>" . $MAILADDRESS ."</a>></address> <p></font>"; } @@ -76,7 +78,7 @@ sub my_system local $base="lilypond/"; local @examples=("twinkle-pop", "twinkle", "multi", "wohltemperirt" - ,"standchen", "toccata-fuga-E", "scsii-menuetto", + ,"standchen-16", "standchen-20", "toccata-fuga-E", "scsii-menuetto", "cadenza", "scales", "rhythm", "gallina"); # rhythm, scales, @@ -278,6 +280,7 @@ sub main chomp($cwd = `pwd`); die "need to be in directory Documentation\n" if ( ! ($cwd =~ /Documentation$/)); get_version; + print "lily v. " . $lily_version . "\n"; set_html_footer; diff --git a/bin/mudela-book.in b/bin/mudela-book.in index 374f223a1f..9aec75cb60 100644 --- a/bin/mudela-book.in +++ b/bin/mudela-book.in @@ -6,6 +6,29 @@ my $outname = "-"; my $outdir; use Getopt::Long; + +# do something, check return status +sub my_system +{ + my (@cmds) = @_; + foreach $cmd (@cmds) { + my ($ignoreret)=0; + if ( $cmd =~ /^-/ ) { + $ignoreret = 1; + $cmd = substr ($cmd, 1); + } + + my $ret = ( system ($cmd)); + if ($ret) { + if ($ignoreret) { + print STDERR "ignoring failed command \`$cmd\' (status $ret)\n"; + }else { + print STDERR "\nmudela-book: failed on command \`$cmd\' (status $ret)\n"; + exit 2; + } + } + } +} sub gen_mufile { return "$outdir/$outname$mudcount.ly"; @@ -40,7 +63,7 @@ sub close_mudela } if ( ! -f gen_texfile) { - system "lilypond ". gen_mufile; + my_system "lilypond ". gen_mufile; rename "lelie.tex", gen_texfile; } print BOOK "\\preexample\\input " . gen_texfile . "\n\\postexample\n"; diff --git a/init/paper16.ly b/init/paper16.ly index aa26646b6a..9a6f98aecc 100644 --- a/init/paper16.ly +++ b/init/paper16.ly @@ -2,10 +2,8 @@ \include "table16.ly" -Gourlay = 1.0 -Wordwrap = 0.0 -default_paper = \paper { +paper_sixteen = \paper { linewidth = 15.0 \cm; rule_thickness = 0.4\pt; bar_size = 16.0 \pt; diff --git a/init/paper20.ly b/init/paper20.ly index b2f0b3ed22..e2878e6de7 100644 --- a/init/paper20.ly +++ b/init/paper20.ly @@ -2,30 +2,29 @@ \include "table20.ly" -Gourlay = 1.0 -Wordwrap = 0.0 - -default_paper = \paper { +paper_twenty = \paper { linewidth = 15.0 \cm; rule_thickness = 0.4\pt; bar_size = 20.0 \pt; interline = 5.\pt; notewidth = 6.0\pt; - wholewidth = 4.8\pt; + wholewidth = 7.5\pt; unitspace = 22.\pt; % basicspace = 4.\pt; % geometric = 1.414; geometric = 0.; - - arithmetic_basicspace = 2.5; - arithmetic_multiplier = 4.8\pt; + basicspace = 8.\pt; + arithmetic_basicspace = 2.; + arithmetic_multiplier = 6.\pt; + % interbeam = 2.667\pt; gourlay_energybound = 100000.; - gourlay_maxmeasures = 8.; + gourlay_maxmeasures = 12.; castingalgorithm = \Gourlay; \symboltables { \table_twenty } \requesttranslator { \orchestral_score_translator } } + diff --git a/init/symbol.ly b/init/symbol.ly index 1a2752d88f..2474f20c43 100644 --- a/init/symbol.ly +++ b/init/symbol.ly @@ -2,5 +2,33 @@ \version "0.1.1"; -\include "symbol16.ly" +breve = \duration { -1 0 } +longa = \duration { -2 0 } + +\include "dynamic.ly" +\include "dutch.ly" +\include "script.ly" +\include "engraver.ly" + +Gourlay = 1.0 +Wordwrap = 0.0 + +\include "paper16.ly" +\include "paper20.ly" + + +default_paper = \paper{ + \paper_sixteen +} + +% ugh +\include "midi.ly" + +% declarations for standard directions +left = -1 +right = 1 +up = 1 +down = -1 + + diff --git a/init/symbol16.ly b/init/symbol16.ly deleted file mode 100644 index d71a898201..0000000000 --- a/init/symbol16.ly +++ /dev/null @@ -1,20 +0,0 @@ -\version "0.1.1"; - -breve = \duration { -1 0 } -longa = \duration { -2 0 } - -\include "dynamic.ly" -\include "dutch.ly" -\include "script.ly" -\include "engraver.ly" -\include "paper16.ly" - -% ugh -\include "midi.ly" - -% declarations for standard directions -left = -1 -right = 1 -up = 1 -down = -1 - diff --git a/init/symbol20.ly b/init/symbol20.ly deleted file mode 100644 index 8541a4247a..0000000000 --- a/init/symbol20.ly +++ /dev/null @@ -1,21 +0,0 @@ -% symbol20.ly -\version "0.1.1"; - -breve = \duration { -1 0 } -longa = \duration { -2 0 } - -\include "dynamic.ly" -\include "dutch.ly" -\include "script.ly" -\include "engraver.ly" -\include "paper20.ly" - -% ugh -\include "midi.ly" - -% declarations for standard directions -left = -1 -right = 1 -up = 1 -down = -1 - diff --git a/init/table16.ly b/init/table16.ly index 60e20ab0c0..290318e7cd 100644 --- a/init/table16.ly +++ b/init/table16.ly @@ -41,7 +41,7 @@ table_sixteen= } "style" = \table { - "roman" "\settext{%}" 0.0\pt 6.0\pt 0.0\pt 8.0\pt + "roman" "\settext{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt "italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt "dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt } diff --git a/init/table20.ly b/init/table20.ly index d18a9a81f6..57f6c6305e 100644 --- a/init/table20.ly +++ b/init/table20.ly @@ -76,7 +76,7 @@ table_twenty = } "balls" = \table { - "-1" "\breveball" 0.0\pt 7.5\pt -2.5\pt 2.5\pt + "-1" "\breveball" 0.0\pt 7.5\pt -2.5\pt 2.5\pt "0" "\wholeball" 0.0\pt 7.5\pt -2.5\pt 2.5\pt "1" "\halfball" 0.0\pt 6.0\pt -2.5\pt 2.5\pt "2" "\quartball" 0.0\pt 6.0\pt -2.5\pt 2.5\pt @@ -100,11 +100,10 @@ table_twenty = "botlines" "\botlines{%}" -3.0\pt 9.0\pt 0.0\pt 0.0\pt } -% "|" "\maatstreep{%}" 0.0\pt 5.0\pt 0.0\pt 20.0\pt "bars" = \table { "empty" "\emptybar" "" "" 0.0\pt 0.0\pt 0.0\pt 16.0\pt - "|" "\maatstreep{%}" 0.0\pt .64\pt 0.0\pt 20.0\pt + "|" "\maatstreep{%}" 0.0\pt 0.64\pt 0.0\pt 20.0\pt "||" "\doublebar{%}" 0.0\pt 4.0\pt 0.0\pt 20.0\pt "|." "\finishbar{%}" 0.0\pt 2.0\pt 0.0\pt 20.0\pt ".|" "\startbar{%}" 0.0\pt 4.0\pt 0.0\pt 20.0\pt diff --git a/init/table_twenty.ly b/init/table_twenty.ly deleted file mode 100644 index e69de29bb2..0000000000 --- a/init/table_twenty.ly +++ /dev/null diff --git a/input/multi.ly b/input/multi.ly index 90ce751c7a..6c0a8fe03f 100644 --- a/input/multi.ly +++ b/input/multi.ly @@ -1,14 +1,12 @@ -%{MudelaHeader - - filename:multi.ly - title: - description: stupid testfile for pl68 features. - composers: - entered-by:HWN - copyright: public domain +\header{ +filename multi.ly +description stupid testfile for pl68 features. +enteredby HWN +copyright public domain +} +%{ +Tested Features: \multi - Tested Features: \multi -EndMudelaHeader %} diff --git a/input/standchen-16.ly b/input/standchen-16.ly index dbbbeb5cd4..191760b3ca 100644 --- a/input/standchen-16.ly +++ b/input/standchen-16.ly @@ -1,27 +1,18 @@ -% standchen-16.ly +%{ +16-point version of "leise flehen meine lieder" +%} \include "standchen-part.ly" \score{ - < - < \id "Lyric" "1"; - \tekstI - \tekstII - > - < \id "Piano" ""; - \multi 2; - \melodic < \melodie \commands > - \melodic < \begeleiding \commands > - > - > + \themusic \paper{ % 16pt mustn't use whole page width linewidth= 160.\mm; - % 16pt doesn't need much space - unitspace= 8.\mm; % we want gourlay, don't set geometric % geometric= 1.4; gourlay_maxmeasures = 9.; + \output "standchen.out"; } \midi{ \tempo 4 = 54; diff --git a/input/standchen-16.tex b/input/standchen-16.tex new file mode 100644 index 0000000000..2818ebc4ac --- /dev/null +++ b/input/standchen-16.tex @@ -0,0 +1,21 @@ +\documentclass{article} %UGH +\usepackage{a4} +\oddsidemargin-1in\advance\oddsidemargin7.5mm +\evensidemargin\oddsidemargin +\hsize210mm\vsize297mm % so what does a4 do, anyway? +\textwidth\hsize\advance\textwidth-15mm +\topmargin-1in\advance\topmargin10mm +\textheight\vsize\advance\textheight-35mm +\pagestyle{empty} +\begin{document} +\input lilyponddefs +\input titledefs +\def\interscoreline{\vskip3mm} +\title{St\"andchen\normalsize\\[2ex](Serenade)} +\composer{Franz Schubert (1797-1828)} +\instrument{M\"a\ss ig} % heu +%#%\tempo{M\"a\ss ig} +\maketit +\input standchen.out +%\input lelie.tex +\end{document} diff --git a/input/standchen-20.ly b/input/standchen-20.ly index 2b25430c52..5a9eb1b6da 100644 --- a/input/standchen-20.ly +++ b/input/standchen-20.ly @@ -1,26 +1,20 @@ -% standchen-20.ly -% process using: -% lilypond -i symbol20.ly standchen-20 +%{ +20-point version of "leise flehen meine lieder" +%} \include "standchen-part.ly" \score{ - < - < \id "Lyric" "1"; - \tekstI - \tekstII - > - < \id "Piano" ""; - \multi 2; - \melodic < \melodie \commands > - \melodic < \begeleiding \commands > - > - > + \themusic \paper{ + \paper_twenty % 20pt music uses whole pagewidth linewidth= 195.\mm; - % 20pt music needs some space - unitspace= 13.\mm; + + % we want gourlay, don't set geometric + % geometric= 1.4; + gourlay_maxmeasures = 9.; + \output "standchen.out"; } \midi{ \tempo 4 = 54; diff --git a/input/standchen-20.tex b/input/standchen-20.tex index a296f248d5..2818ebc4ac 100644 --- a/input/standchen-20.tex +++ b/input/standchen-20.tex @@ -16,6 +16,6 @@ \instrument{M\"a\ss ig} % heu %#%\tempo{M\"a\ss ig} \maketit -\def\startbar#1{}%huh? -\input lelie.tex +\input standchen.out +%\input lelie.tex \end{document} diff --git a/input/standchen-part.ly b/input/standchen-part.ly index 1e887c3472..e1e86247ac 100644 --- a/input/standchen-part.ly +++ b/input/standchen-part.ly @@ -1,16 +1,14 @@ -%{MudelaHeader - - filename: standchen.ly - title: St\"andchen (Serenade) "Leise flehen meine Lieder" - opus: D. 957 No. 4 - composers: Franz Schubert (1797-1828) - Text by Ludwig Rellstab (1799-1860) - entered-by:JCN - copyright: public domain - +\header{ +filename standchen-part.ly +title St\"andchen (Serenade) "Leise flehen meine Lieder" +opus D. 957 No. 4 +composers Franz Schubert (1797-1828) + Text by Ludwig Rellstab (1799-1860) +enteredby JCN +copyright public domain +} +%{ Tested Features: multivoice, accents, lyrics, chords, piano music - -EndMudelaHeader %} \version "0.1.1"; @@ -471,4 +469,16 @@ tekstII = \lyric{ _ _ _ _ _ _ } - + +themusic = + < + < \id "Lyric" "1"; + \tekstI + \tekstII + > + < \id "Piano" ""; + \multi 2; + \melodic < \melodie \commands > + \melodic < \begeleiding \commands > + > + > diff --git a/input/standchen.ly b/input/standchen.ly deleted file mode 100644 index e69de29bb2..0000000000 --- a/input/standchen.ly +++ /dev/null diff --git a/input/standchen.tex b/input/standchen.tex deleted file mode 100644 index e69de29bb2..0000000000 --- a/input/standchen.tex +++ /dev/null diff --git a/lily/header.cc b/lily/header.cc new file mode 100644 index 0000000000..f2a54aab2d --- /dev/null +++ b/lily/header.cc @@ -0,0 +1,22 @@ +/* + header.cc -- implement Header + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl> +*/ + +#include "string.hh" +#include "assoc-iter.hh" +#include "header.hh" + +String +Header::TeX_string() const +{ + String s; + for (Assoc_iter<String, String> i(*this); i.ok(); i++) + { + s += "\\def\\mudela" + i.key() + "{" + i.val() + "}"; + } + return s; +} diff --git a/lily/include/header.hh b/lily/include/header.hh index e48733ece4..c5fcae96a8 100644 --- a/lily/include/header.hh +++ b/lily/include/header.hh @@ -16,6 +16,7 @@ struct Header : Assoc<String, String> { + String TeX_string()const; }; #endif // HEADER_HH diff --git a/lily/include/my-lily-parser.hh b/lily/include/my-lily-parser.hh index 8869ccb514..766906c282 100644 --- a/lily/include/my-lily-parser.hh +++ b/lily/include/my-lily-parser.hh @@ -21,59 +21,60 @@ #include "input.hh" class My_lily_parser { - char const* here_ch_C()const; - Array<Input> define_spot_array_; - String init_str_; + char const* here_ch_C()const; + Array<Input> define_spot_array_; + String init_str_; - void add_requests (Chord*v); + void add_requests (Chord*v); - Chord * get_note_element (Note_req * ,Duration *); - Chord* get_rest_element (String,Duration *); - Chord* get_word_element (Text_def*, Duration*); + Chord * get_note_element (Note_req * ,Duration *); + Chord* get_rest_element (String,Duration *); + Chord* get_word_element (Text_def*, Duration*); - void set_last_duration (Duration const *); - void set_default_duration (Duration const *); - void set_duration_mode (String s); - friend int yyparse (void*); + void set_last_duration (Duration const *); + void set_default_duration (Duration const *); + void set_duration_mode (String s); + friend int yyparse (void*); public: - int default_octave_i_; - Duration default_duration_; - Plet plet_; + int default_octave_i_; + Duration default_duration_; + Plet plet_; + Header *default_header_p_; - String textstyle_str_; - bool first_b_; - bool last_duration_mode_b_ ; - Array<Request*> pre_reqs, post_reqs; - int fatal_error_i_; - Sources * source_l_; - int error_level_i_; - bool init_parse_b_; - My_lily_lexer * lexer_p_; + String textstyle_str_; + bool first_b_; + bool last_duration_mode_b_ ; + Array<Request*> pre_reqs, post_reqs; + int fatal_error_i_; + Sources * source_l_; + int error_level_i_; + bool init_parse_b_; + My_lily_lexer * lexer_p_; - Moment plet_mom(); - void add_notename (String, Melodic_req* req_p); - Input here_input()const; - void remember_spot(); - Input pop_spot(); + Moment plet_mom(); + void add_notename (String, Melodic_req* req_p); + Input here_input()const; + void remember_spot(); + Input pop_spot(); - Paper_def*default_paper(); - Midi_def*default_midi(); - void do_yyparse(); - void parser_error (String); - void clear_notenames(); + Paper_def*default_paper(); + Midi_def*default_midi(); + void do_yyparse(); + void parser_error (String); + void clear_notenames(); - Request* get_parens_request (char c); + Request* get_parens_request (char c); - void set_debug(); - void set_yydebug (bool); - void print_declarations(); - bool ignore_version_b_; + void set_debug(); + void set_yydebug (bool); + void print_declarations(); + bool ignore_version_b_; public: - void do_init_file(); - void parse_file ( String init_str, String file_str); - My_lily_parser (Sources * sources_l); - ~My_lily_parser(); - void set_version_check (bool ignore); + void do_init_file(); + void parse_file ( String init_str, String file_str); + My_lily_parser (Sources * sources_l); + ~My_lily_parser(); + void set_version_check (bool ignore); }; #endif // MY_LILY_PARSER_HH diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index f195e9ef5e..eb5d2f0d82 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -14,6 +14,8 @@ #include "musical-request.hh" #include "command-request.hh" #include "parser.hh" +#include "header.hh" + void My_lily_parser::clear_notenames() @@ -80,6 +82,7 @@ My_lily_parser::parse_file (String init, String s) My_lily_parser::~My_lily_parser() { delete lexer_p_; + delete default_header_p_; } void @@ -270,6 +273,7 @@ My_lily_parser::My_lily_parser (Sources * source_l) error_level_i_ = 0; last_duration_mode_b_ = true; fatal_error_i_ = 0; + default_header_p_ =0; } void diff --git a/lily/parser.y b/lily/parser.y index b72857d0d2..288d1407f1 100644 --- a/lily/parser.y +++ b/lily/parser.y @@ -228,6 +228,8 @@ yylex(YYSTYPE *s, void * v_l) mudela: /* empty */ | mudela mudela_header { + delete THIS->default_header_p_ ; + THIS->default_header_p_ = $2; } | mudela score_block { add_score($2); @@ -415,6 +417,8 @@ score_block: /* handle error levels. */ $$->errorlevel_i_ = THIS->error_level_i_; THIS->error_level_i_ = 0; + if (!$$->header_p_ && THIS->default_header_p_) + $$->header_p_ = new Header(*THIS->default_header_p_); } ; @@ -461,6 +465,9 @@ paper_body: /* empty */ { $$ = THIS->default_paper(); // paper / video / engrave } + | PAPER_IDENTIFIER { + $$ = $1->paperdef(); + } | paper_body OUTPUT STRING ';' { $$->outfile_str_ = *$3; delete $3; } diff --git a/lily/score.cc b/lily/score.cc index f421259e3f..80057719c2 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -119,7 +119,6 @@ Score::midi() { // should we? hampers debugging. warning ("Errors found, /*not processing score*/"); -// return; } *mlog << endl; @@ -143,7 +142,6 @@ Score::paper() { // should we? hampers debugging. warning ("Errors found, /*not processing score*/"); -// return; } *mlog << endl; @@ -185,6 +183,9 @@ Score::paper_output() the_output << "% outputting Score, defined at: " << location_str() << "\n"; + if (header_p_) { + the_output << header_p_->TeX_string(); + } pscore_p_->output (the_output); } diff --git a/make/lilypond.lsm b/make/lilypond.lsm index e8ca4a48fc..edf3e37143 100644 --- a/make/lilypond.lsm +++ b/make/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 0.1.9 -Entered-date: 17AUG97 +Version: 0.1.10 +Entered-date: 20AUG97 Description: GNU LilyPond is a program which converts music definition files into visual or auditive output: it can typeset formatted sheet music to a TeX file and and @@ -14,8 +14,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys) jan@digicash.com (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps - 340k lilypond-0.1.9.tar.gz + 340k lilypond-0.1.10.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/ - 340k lilypond-0.1.9.tar.gz + 340k lilypond-0.1.10.tar.gz Copying-policy: GPL End diff --git a/make/lilypond.spec b/make/lilypond.spec index 170ab05067..54021e8745 100644 --- a/make/lilypond.spec +++ b/make/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 0.1.9 +Version: 0.1.10 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.9.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.10.tar.gz Summary: A preprocessor to make TeX typeset music. URL: http://www.stack.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys <hanwen@stack.nl> @@ -25,11 +25,12 @@ make all %install rm -rf $RPM_BUILD_ROOT strip lily/out/lilypond mi2mu/out/mi2mu +make -C Documentation gifs make prefix="$RPM_BUILD_ROOT/usr" install %files %doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README -%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/gallina.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen.ly input/standchen.tex input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wohltemperirt.ly Documentation/mudela-course.doc Documentation/mudela-man.doc -%doc Documentation/lelie_logo.gif +%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/gallina.ly input/gallina.tex input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen-16.ly input/standchen-20.ly input/standchen-20.tex input/standchen-part.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wohltemperirt.ly Documentation/mudela-course.doc Documentation/mudela-man.doc +%doc Documentation/out/lelie_logo.gif /usr/bin/convert-mudela /usr/bin/mudela-book /usr/bin/lilypond diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 772371bd2d..92cb6510b1 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -25,11 +25,12 @@ make all %install rm -rf $RPM_BUILD_ROOT strip lily/out/lilypond mi2mu/out/mi2mu +make -C Documentation gifs make prefix="$RPM_BUILD_ROOT/usr" install %files %doc @TEXT_DOCS@ %doc @EXAMPLE_LYS@ -%doc Documentation/lelie_logo.gif +%doc Documentation/out/lelie_logo.gif /usr/bin/convert-mudela /usr/bin/mudela-book /usr/bin/lilypond diff --git a/mi2mu/include/my-midi-lexer.hh b/mi2mu/include/my-midi-lexer.hh deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/include/my-midi-lexer.hh +++ /dev/null diff --git a/mi2mu/include/my-midi-parser.hh b/mi2mu/include/my-midi-parser.hh deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/include/my-midi-parser.hh +++ /dev/null diff --git a/mi2mu/midi-lexer.l b/mi2mu/midi-lexer.l deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/midi-lexer.l +++ /dev/null diff --git a/mi2mu/midi-parser.y b/mi2mu/midi-parser.y deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/midi-parser.y +++ /dev/null diff --git a/mi2mu/mudela-stream.cc b/mi2mu/mudela-stream.cc index 545887091f..250d1bd064 100644 --- a/mi2mu/mudela-stream.cc +++ b/mi2mu/mudela-stream.cc @@ -19,6 +19,7 @@ static int const INDENT_i = 8; Mudela_stream::Mudela_stream (String filename_str) { filename_str_ = filename_str; + pending_indent_i_ = 0; os_p_ = 0; indent_i_ = 0; comment_mode_b_ = false; diff --git a/mi2mu/my-midi-lexer.cc b/mi2mu/my-midi-lexer.cc deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/my-midi-lexer.cc +++ /dev/null diff --git a/mi2mu/my-midi-parser.cc b/mi2mu/my-midi-parser.cc deleted file mode 100644 index e69de29bb2..0000000000 --- a/mi2mu/my-midi-parser.cc +++ /dev/null diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 58a4e11029..9057314d73 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -149,6 +149,7 @@ \def\thinbar#1{\vrule height #1 width 1.6\staffrulethickness} % TODO parametric. \def\thickbar#1{\vrule height #1 width 2\smallspace} \def\maatstreep#1{\thinbar{#1}} +\def\startbar#1{\leftalign{\thickbar{#1}\kern\smallspace\thinbar{#1}}} \def\finishbar#1{\rightalign{\thinbar{#1}\kern\smallspace\thickbar{#1}}} \def\pianobrace#1{{\musicdraw\char#1}} @@ -222,3 +223,5 @@ \def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}} \def\scorelineerrormark{\placebox{0pt}{-10pt}{\bf L!}} \def\unknown{{\bf u}} + +\def\postheader{} |