From 301b0906a670e7f7762df325f65d58d8c85f4067 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 27 Aug 1999 15:24:23 +0200 Subject: [PATCH] release: 1.2.3 --- BUGS | 5 +++ CHANGES | 12 ++++++ Documentation/tex/mudela-book-test.doc | 17 ++++++++ Documentation/tex/tutorial.yo | 2 +- Documentation/topdocs/AUTHORS.yo | 2 + Documentation/topdocs/INSTALL.yo | 11 +++++ Documentation/topdocs/PATCHES.yo | 2 +- NEWS | 2 +- TODO | 59 ++++++++++++++++++++------ VERSION | 4 +- input/paddy.abc | 2 +- lily/tie.cc | 2 + make/mudela-rules.make | 6 +-- make/out/lilypond.lsm | 8 ++-- make/out/lilypond.spec | 4 +- mudela-mode.el | 2 +- scripts/abc2ly.py | 10 ++++- scripts/mudela-book.py | 54 +++++++++++------------ 18 files changed, 147 insertions(+), 57 deletions(-) create mode 100644 Documentation/tex/mudela-book-test.doc diff --git a/BUGS b/BUGS index 53ffd70c9e..cebc3c73e6 100644 --- a/BUGS +++ b/BUGS @@ -25,6 +25,11 @@ is buggy; you should upgrade: All compiling with -O2 is suspect, in particular guile-1.3, and Lily herself will break. +[Linux i386] + +A binary RPM of Guile 1.3 has been distributed from the LilyPond ftp +site. This binary was made in RedHat 5.x, and it will fail if this +RPM is used with RedHat 6.x. [LinuxPPC, egcs-1.1b] diff --git a/CHANGES b/CHANGES index 63f2e16343..85ca28b417 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,13 @@ +pl 2.mk1 + - bf, tie.cc: handle postbreak left align correctly +pl 2.lec1 + - abc2ly fixes. + +pl 2.hwn1 + - rewrite of mudela-book. Now uses chunks, and you can put +\input, \include and \mudelagraphics in verbatim sections. + + pl 2.jcn2 - bf: auto-beamer: don't junk beam if manual beam shows up @@ -5,6 +15,8 @@ pl 2.jcn1 - add-html-footer.py, ls-latex.py .tely updates and fixes - tely (texinfo-lily) rules and test Documentation/metadoc/foo.tely +************* + pl 1.uu2 - complete rewrite of mudela-book. Much cleaner now. Support for texinfo. diff --git a/Documentation/tex/mudela-book-test.doc b/Documentation/tex/mudela-book-test.doc new file mode 100644 index 0000000000..05c65ab914 --- /dev/null +++ b/Documentation/tex/mudela-book-test.doc @@ -0,0 +1,17 @@ +\documentclass{article} + +\begin{document} + +\begin[eps,intertext="this is that",verbatim]{mudela} +\score { \notes {c4 g4 }} +\end{mudela} + +\begin{verbatim} +\begin[eps,intertext="this is that",verbatim]{mudela} +\score { \notes {a a }} +\end{mudela} +\end{verbatim} + +chit chat chot \verb|\mudela{a4 b}| \mudela{a b} and \mudelafile[fragment]{testje.fly}. + +\end{document} diff --git a/Documentation/tex/tutorial.yo b/Documentation/tex/tutorial.yo index 4cd545b203..5d5c11bac0 100644 --- a/Documentation/tex/tutorial.yo +++ b/Documentation/tex/tutorial.yo @@ -71,7 +71,7 @@ includefile(html-disclaimer.yo-urg) ) -sect(Intro,-d bold(u)ction) +sect(Introduction) label(tutorial:introduction) latexcommand(\parindent2pc) diff --git a/Documentation/topdocs/AUTHORS.yo b/Documentation/topdocs/AUTHORS.yo index 5a1bb4b6cd..3d41246cb2 100644 --- a/Documentation/topdocs/AUTHORS.yo +++ b/Documentation/topdocs/AUTHORS.yo @@ -46,6 +46,8 @@ it()nemail(Jeffrey B. Reed)(daboys@austin.rr.com), Windows-NT support. it()Shay Rojanski Some mudela source. +it()Laura Conrad (lconrad@world.std.com) + fixes to abc2ly ) diff --git a/Documentation/topdocs/INSTALL.yo b/Documentation/topdocs/INSTALL.yo index 10b600bec1..9724f77a3a 100644 --- a/Documentation/topdocs/INSTALL.yo +++ b/Documentation/topdocs/INSTALL.yo @@ -291,6 +291,17 @@ lurl(ftp://freshmeat.net/pub/rpms/lilypond/) and lurl(http://linux.umbc.edu/software/lilypond/rpms/). +For compilation on a RedHat system you need these packages, +in addition to the thoes needed for running: +itemize( +it() glibc-devel +it() libstdc++-devel +it() guile-devel +it() flex +it() bison +) + + sect(DEBIAN GNU/LINUX) A Debian package is also available; contact Anthony Fok diff --git a/Documentation/topdocs/PATCHES.yo b/Documentation/topdocs/PATCHES.yo index 4827716c15..eee04b313b 100644 --- a/Documentation/topdocs/PATCHES.yo +++ b/Documentation/topdocs/PATCHES.yo @@ -16,7 +16,7 @@ goes like this: itemize( it()make your fix/add your code -it()Add changes to NEWS, and add yourself to Documentation/AUTHORS.yo +it()Add changes to NEWS, and add yourself to Documentation/topdocs/AUTHORS.yo it()generate a patch, it()e-mail your patch to one of the mailing lists gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org diff --git a/NEWS b/NEWS index cb3928f8f9..ec51328dcd 100644 --- a/NEWS +++ b/NEWS @@ -26,4 +26,4 @@ WHAT'S NEW? * Lots of bugfixes. - +pl 1.2.2.lec1 fix to abc2ly for fermata and space following >; to paddy.abc to include X: header line (lec1); to PATCHES.yo to point to real authors.yo diff --git a/TODO b/TODO index 594ae3ad4a..dcef3fa46f 100644 --- a/TODO +++ b/TODO @@ -8,11 +8,54 @@ m Most of the items are marked in the code as well Grep -i for TODO, FIXME and ugh/ugr/urg. -.* TODO +.* TODO +. * don't take Dimension_cache::offset in Dimension_cache::extent . * Break_req handling is silly (break_forbid () + \break fucks up.) . * redo all --help messages. . * HaraKiriStaffContext removes bar lines and doesn't remove staff margin text on removed staff lines. +. * Mondrup: + +- I would like to avoid that ties across line breaks run _through_ the +clef on the new line + +- I would like the possibility of forcing clef- and key- changes to be +printed _after_ the new bar line + +- I would like an option to define the number of systems on which the +score must be distributed. As it is now it seems that I may only +influence that indirectly through the gourlay_maxmeasures property. + +- if I change the property minVerticalAlign in a multi staff score with +lyrics the change affects the lyrics too. I would like the change to +_only_ affect staves. + +- I would like to be able to influence the sloping of xtuplet brackets + +- for one of my test scores containing a modern edition of an early +17'th century composition I have a leading measure containing the +orginal clefs and note values of the original composition. I use the +"harmonic" and "diamond" note head styles for that measure and would +like to have the stems of these notes _centered_ on the notehead as in +the mensural music notation. + +- after the leading measure in the above mentioned score I want a double +bar line fully drawn across the staves and after that keep to the +ChoirStaff bar line types in the rest of the scores + +- I would like to be able to define invisible melismatic slurs in order +to avoid printing slurs conflicting with an original ms of printing. Of +course I can achieve that by just inserting empty syllables in the +lyrics. But this facility implemented in the MusiXTeX preprocessor M-tx +is nice so ... + +- if I explicitly beam notes in a staff with auto beaming disabled I +would like to have these beams also to be melismatic. + +- do I need to get warnings on 'No one to print a repeat brace' when I +issue a '\repeat fold 2 \alternative' statement with an empty leading +text item in a \lyrics context in order to achieve multiple lyrics lines +in a _section_ of a score ? . * make all Feta (including dynamics) available to the user in textual scripts. Examples: "D.S. al \coda", "\mf espress.". @@ -55,19 +98,7 @@ abc2ly, midi2ly? .* BUGS . * [c8. c16 c16 c16] in 6/8 timesig. . * staffside spanner (crescendo!) along with staffswitch. -. * --- 1, sometimes broken slurs start too early in the next line: - -\score { - \context Staff { - \clef "bass"; - \notes \relative c' { - \time 4/4; \key g; - a4 g8 fis a d c d ~ \break | d e d b a b a fis \break - } - } -} - ---- 2, margin notes don't work correctly for the pianostaff (in the +. * --- 2, margin notes don't work correctly for the pianostaff (in the following example, i expect the "piano" string to be centered vertically between the two staves): diff --git a/VERSION b/VERSION index 5e63caf7eb..d05f557d1e 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=2 -PATCH_LEVEL=2 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=3 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/paddy.abc b/input/paddy.abc index 0f917a2618..6b574944f5 100644 --- a/input/paddy.abc +++ b/input/paddy.abc @@ -1,4 +1,4 @@ - +X:1 T:Paddy O'Rafferty C:Trad. M:6/8 diff --git a/lily/tie.cc b/lily/tie.cc index 9df607babf..b5364963e8 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -129,6 +129,8 @@ Tie::do_post_processing() if (head_l_drul_[LEFT]) dx_f_drul_[LEFT] = head_l_drul_[LEFT]->extent (X_AXIS).length (); + else + dx_f_drul_[LEFT] = spanned_drul_[LEFT]->extent (X_AXIS).length (); dx_f_drul_[LEFT] += x_gap_f; dx_f_drul_[RIGHT] -= x_gap_f; diff --git a/make/mudela-rules.make b/make/mudela-rules.make index b39c4c0484..e74e96f70c 100644 --- a/make/mudela-rules.make +++ b/make/mudela-rules.make @@ -4,9 +4,9 @@ $(outdir)/%.latex: %.doc cd $(outdir); $(PYTHON) $(depth)/../scripts/mudela-book.py -I .. -I $(depth)/../input/test/ --dependencies ../$< - sed 's! \.\./! !g'< $(basename $@).dep > $(outdir)/temp.dep - sed 's!^\(.*\):!'$(outdir)'/\1:!g' < $(outdir)/temp.dep > $(basename $@).dep - rm $(outdir)/temp.dep +# sed 's! \.\./! !g'< $(basename $@).dep > $(outdir)/temp.dep +# sed 's!^\(.*\):!'$(outdir)'/\1:!g' < $(outdir)/temp.dep > $(basename $@).dep +# rm $(outdir)/temp.dep $(outdir)/%.texi: %.tely cd $(outdir); $(PYTHON) $(depth)/../scripts/mudela-book.py -I .. -I $(depth)/../input/test/ --dependencies --format=texi ../$< diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 6cc17d00d5..f50828e4b9 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.2.2 -Entered-date: 23AUG99 +Version: 1.2.3 +Entered-date: 27AUG99 Description: LilyPond is a music typesetter. It produces beautiful sheet music using a high level description file as input. LilyPond is part of @@ -12,8 +12,8 @@ Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.2.2.tar.gz + 1000k lilypond-1.2.3.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.2.2.tar.gz + 1000k lilypond-1.2.3.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index fdc84eaa5f..e7ea2921b1 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.2.2 +Version: 1.2.3 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.2.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.2.3.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mudela-mode.el b/mudela-mode.el index fd8d61b95f..ceb25563f5 100644 --- a/mudela-mode.el +++ b/mudela-mode.el @@ -160,7 +160,7 @@ ) (make-local-variable 'comment-end) (make-local-variable 'comment-start-skip) - (setf comment-start-skip "%{") + (setq comment-start-skip "%{") ;?? (make-local-variable 'comment-column) (make-local-variable 'imenu-generic-expression) (setq imenu-generic-expression mu-imenu-generic-expression) diff --git a/scripts/abc2ly.py b/scripts/abc2ly.py index e81ebaef01..1b7b0687e5 100644 --- a/scripts/abc2ly.py +++ b/scripts/abc2ly.py @@ -429,11 +429,15 @@ def parse_duration (str, parser_state): current_dots = parser_state.next_dots parser_state.next_dots = 0 + + while str[0] == ' ': + str = str [1:] + while str[0] == '>': str = str [1:] current_dots = current_dots + 1; parser_state.next_den = parser_state.next_den * 2 - + while str[0] == '<': str = str [1:] den = den * 2 @@ -474,6 +478,10 @@ def try_parse_articulation (str, state): state.next_articulation = state.next_articulation + '-\\trill' str = str[1:] + if str[:1] =='H': + state.next_articulation = state.next_articulation + '-\\fermata' + str = str[1:] + # s7m2 input doesnt care about spaces if re.match('[ \t]*\(', str): str = string.lstrip (str) diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index 35c3b93644..29e6f29ff5 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -53,7 +53,7 @@ options = [ ] format = '' -no_lily = 0 +run_lilypond = 1 no_match = 'a\ba' # format specific strings, ie. regex-es for input, and % strings for output @@ -199,8 +199,9 @@ def compose_full_body (body, opts): l = latex_linewidths[cols][paper][latex_size] # urg: breaks on \include of full score - # if not 'nofly' in opts and not re.search ('\\\\score', body): - # opts.append ('fly') + # Use nofly option if you want to \include full score. + if not 'nofly' in opts and not re.search ('\\\\score', body): + opts.append ('fly') if 'fly' in opts: body = r"""\score { @@ -407,9 +408,9 @@ def find_mudela_shorthands (b): if str_opts: str_opts = '[' + str_opts + ']' - str = "%% copied from %s" % full_path + str + str = ("%% copied from file `%s'\n" % full_path) + str return get_output ('output-mudela') % (str_opts, str) - + b = get_re('mudela-file').sub (mudela_file, b) b = get_re('mudela').sub (mudela_short, b) return b @@ -418,7 +419,7 @@ def find_mudela_chunks (str): """Find mudela blocks, while watching for verbatim. Returns (STR,MUDS) with \mudelagraphic substituted for the blocks in STR, and the blocks themselves MUDS""" - + chunks = [] while str: m = get_re ("mudela-block").search( str) @@ -430,28 +431,28 @@ def find_mudela_chunks (str): chunks.append (('input', str[:m.start (0)])) opts = m.group (1) - if opts: - opts = opts[1:-1] - else: - opts = '' + if opts: + opts = opts[1:-1] + else: + opts = '' optlist = get_re('comma-sep').split (opts) body = m.group (2) chunks.append (('mudela', body, optlist)) - + str = str [m.end (0):] - + return chunks - - - + + + def advance_counters (counter, opts, str): """Advance chap/sect counters, revise OPTS. Return the new counter tuple""" (chapter, section, count) = counter - done = '' - while str: + done = '' + while str: m = get_re ('interesting-cs').search(str) if not m: done = done + str @@ -504,9 +505,8 @@ def schedule_mudela_block (base, chunk, extra_opts): file_body = compose_full_body (body, opts) updated = update_file (file_body, base + '.ly') - todo = [base] # UGH. - + if not os.path.isfile (base + '.tex') or updated: todo.append ('tex') updated = 1 @@ -545,6 +545,7 @@ def schedule_mudela_block (base, chunk, extra_opts): def find_eps_dims (match): "Fill in dimensions of EPS files." + fn =match.group (1) dims = bounding_box_dimensions (fn) @@ -597,22 +598,23 @@ def transform_input_file (in_filename, out_filename): chunks = newchunks newchunks = [] - # Do It. - if not __main__.no_lily: + if __main__.run_lilypond: compile_all_files (chunks) # finishing touch. for c in chunks: - if c[0] == 'mudela' and 'eps' in c[2]: + if c[0] == 'mudela' and 'eps' in c[2]: body = re.sub (r"""\\mudelaepswidth{(.*?)}""", find_eps_dims, c[1]) newchunks.append (('mudela', body)) else: newchunks.append (c) - if chunks and chunks[0][0] == 'input': - chunks[0] = ('input', completize_preamble (chunks[0][1])) - + + chunks = newchunks + if chunks and chunks[0][0] == 'input': + chunks[0] = ('input', completize_preamble (chunks[0][1])) + return chunks def system (cmd): @@ -805,7 +807,7 @@ def main(): elif o == '--help' or o == '-h': help () elif o == '--no-lily' or o == '-n': - __main__.no_lily = 1 + __main__.run_lilypond = 0 elif o == '--dependencies': do_deps = 1 elif o == '--default-mudela-fontsize': -- 2.39.5