From 8e0022031a160d4d516b9fe53ac5c5adc7d5ae96 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 9 Jul 2001 16:06:20 +0200 Subject: [PATCH] patch::: 1.5.1.jcn1 *** WARNING(reminder): all output via TeX (ie: using ly2dvi or plain *** lilypond) still yields broken stems, bars and staff lines. 1.5.1.jcn1 ========== * Beam knee fix. * Now really included lexer-gcc-3.0.patch. * Make Voice context accept Thread again; this fixes MIDI output for music that uses Thread contexts. * Removed debug printing from chord-name.scm. 1.5.0 ===== --- CHANGES | 18 ++++++++ Documentation/windows/compiling.texi | 2 +- GNUmakefile.in | 2 +- VERSION | 2 +- input/test/knee.ly | 1 + lexer-gcc-3.0.patch | 11 +++++ lily/beam.cc | 7 ++-- ly/engraver-init.ly | 2 +- ly/performer-init.ly | 7 ++-- ps/music-drawing-routines.ps | 63 +++++++++++++++------------- scm/chord-name.scm | 11 +++-- 11 files changed, 80 insertions(+), 46 deletions(-) create mode 100644 lexer-gcc-3.0.patch diff --git a/CHANGES b/CHANGES index 9d68061afb..4b0fa782be 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,21 @@ +*** WARNING(reminder): all output via TeX (ie: using ly2dvi or plain +*** lilypond) still yields broken stems, bars and staff lines. + +1.5.1.jcn1 +========== + +* Beam knee fix. + +* Now really included lexer-gcc-3.0.patch. + +* Make Voice context accept Thread again; this fixes MIDI output for music +that uses Thread contexts. + +* Removed debug printing from chord-name.scm. + +1.5.0 +===== + 1.5.0.jcn1 ========== diff --git a/Documentation/windows/compiling.texi b/Documentation/windows/compiling.texi index dc2b06439d..c3e6b19023 100644 --- a/Documentation/windows/compiling.texi +++ b/Documentation/windows/compiling.texi @@ -56,7 +56,7 @@ introduction of the non-feature bzip2. Here's how I did it: cd winsup/cinstall patch < ../../cygwin-installer.patch cp /home/cygwin/cygwin-1.3.2/usr/lib/mingw/crt2.o . - cd ../bzip + cd ../bz2lib MINGW32=yes CFLAGS='-mno-cygwin' ./configure make cd - diff --git a/GNUmakefile.in b/GNUmakefile.in index faadd6c792..6240b6bcc9 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -20,7 +20,7 @@ SCRIPTS = configure aclocal.m4 README_FILES = DEDICATION COPYING NEWS CHANGES ROADMAP README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt FAQ.txt IN_FILES := $(wildcard *.in) -EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el lilypond-init.el vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch mktexnam.patch +EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el lilypond-init.el vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch mktexnam.patch lexer-gcc-3.0.patch NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES) INSTALLATION_DIR=$(datadir) INSTALLATION_FILES=$(configuration) VERSION diff --git a/VERSION b/VERSION index acde3f6e1f..d340a16921 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=1 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/test/knee.ly b/input/test/knee.ly index 8ab530b85d..c2b1ef7400 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -2,6 +2,7 @@ \score{ \notes\relative c'{ + \property Voice.Beam \override #'auto-knee-gap = ##f [c16 \stemDown c'' \stemBoth c,, d] \stemDown [d'' a \stemBoth c,, g,] \stemUp [g c' \stemBoth a'' d'] diff --git a/lexer-gcc-3.0.patch b/lexer-gcc-3.0.patch new file mode 100644 index 0000000000..fedefc258c --- /dev/null +++ b/lexer-gcc-3.0.patch @@ -0,0 +1,11 @@ +--- ./lily/out-gcc-3.0/lexer.cc~ Tue Jun 26 13:12:26 2001 ++++ ./lily/out-gcc-3.0/lexer.cc Tue Jun 26 13:11:56 2001 +@@ -21,7 +21,7 @@ + #ifdef __cplusplus + + #include +-class istream; ++#include + #include + + /* Use prototypes in function declarations. */ diff --git a/lily/beam.cc b/lily/beam.cc index 8086632514..d345e7de75 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -669,9 +669,10 @@ Beam::set_stem_lengths (Grob *me) continue; Real stem_y = calc_stem_y_f (me, s, y, dy); - - stem_y += Stem::get_direction (s) - * gh_scm2double (me->get_grob_property ("thickness")) / 2; + //stem_y += Stem::get_direction (s) + if (Stem::get_direction (s) == Directional_element_interface::get (me)) + stem_y += Stem::get_direction (s) + * gh_scm2double (me->get_grob_property ("thickness")) / 2; /* caution: stem measures in staff-positions */ Real id = me->relative_coordinate (common, Y_AXIS) diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 968fd4b11e..c8ec356f52 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -407,7 +407,7 @@ EasyNotation = \translator { easyPlay = ##t } -% retain for compatibility reasons. +% retain for compatibility reasons (FIXME: convert-ly) GraceContext = \translator { \type "Engraver_group_engraver" } diff --git a/ly/performer-init.ly b/ly/performer-init.ly index 6ab401df96..97c6638c15 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -21,21 +21,22 @@ StaffContext = \translator { VoiceContext = \translator { \type "Performer_group_performer" \name Voice -% All notes fall to Grace if you leave Thread out (huh?) \consists "Dynamic_performer" \consists "Span_dynamic_performer" \consists "Piano_pedal_performer" - \consists "Note_performer" - \consists "Tie_performer" + \accepts "Thread" } \translator { \VoiceContext } ThreadContext = \translator { \type "Performer_group_performer" \name Thread + \consists "Note_performer" + \consists "Tie_performer" } \translator { \ThreadContext } +% retain for compatibility reasons (FIXME: convert-ly) \translator { \type "Performer_group_performer" \name Grace diff --git a/ps/music-drawing-routines.ps b/ps/music-drawing-routines.ps index 86b39dff6b..0671b23e85 100644 --- a/ps/music-drawing-routines.ps +++ b/ps/music-drawing-routines.ps @@ -2,11 +2,6 @@ % % Functions for direct and embedded PostScript - -% FIXME: set with individual symbols -% round cappings -1 setlinecap - /euclidean_length { 1 copy mul exch 1 copy mul add sqrt @@ -91,39 +86,46 @@ /draw_repeat_slash % width slope thick { - /beamthick exch def - /slope exch def - /width exch def - beamthick beamthick slope div euclidean_length - /xwid exch def - 0 0 moveto - xwid 0 rlineto - width slope width mul rlineto - xwid neg 0 rlineto -% width neg width angle sin mul neg rlineto - closepath fill + 1 setlinecap + 1 setlinejoin + + /beamthick exch def + /slope exch def + /width exch def + beamthick beamthick slope div euclidean_length + /xwid exch def + 0 0 moveto + xwid 0 rlineto + width slope width mul rlineto + xwid neg 0 rlineto + % width neg width angle sin mul neg rlineto + closepath fill } bind def /draw_hairpin % width start_h end_h thick { - setlinewidth - /end_h exch def - /start_h exch def - /wid exch def - 0 start_h moveto - wid end_h lineto - stroke - 0 start_h neg moveto - wid end_h neg lineto - stroke + 1 setlinecap + 1 setlinejoin + + setlinewidth + /end_h exch def + /start_h exch def + /wid exch def + 0 start_h moveto + wid end_h lineto + stroke + 0 start_h neg moveto + wid end_h neg lineto + stroke } bind def /draw_tuplet % height gap dx dy thick dir { - /dir exch def - setlinewidth 1 setlinecap 1 setlinejoin + + /dir exch def + setlinewidth /tuplet_dy exch def /tuplet_dx exch def /tuplet_gapx exch def @@ -196,13 +198,14 @@ /draw_volta % h w thick vert_start vert_end { + 1 setlinecap + 1 setlinejoin + /vert_end exch def /vert_start exch def setlinewidth /volta_w exch def /volta_h exch def - 1 setlinecap - 1 setlinejoin vert_start 0 eq { 0 0 moveto 0 volta_h lineto diff --git a/scm/chord-name.scm b/scm/chord-name.scm index 98a9270875..454c70c1f3 100644 --- a/scm/chord-name.scm +++ b/scm/chord-name.scm @@ -218,7 +218,6 @@ * TODO: any uneven step that's lower than an uneven step which is chromatically altered " - (write-me "adds: " (let ((evens (filter-list (lambda (x) (!= 0 (modulo (cadr x) 2))) steps)) (altered-unevens (filter-list (lambda (x) @@ -236,13 +235,13 @@ '())))) ;; Hmm, what if we have a step twice, can we ignore that? (uniq-list (sort (apply append evens altered-unevens highest) - pitch::<))))) + pitch::<)))) ;; FIXME: unLOOP, see ::additions ;; find the pitches that are missing from `normal' chord (define (chord::subtractions chord-pitches) - (write-me "subs: " (let ((tonic (car chord-pitches))) + (let ((tonic (car chord-pitches))) (let loop ((step 1) (pitches chord-pitches) (subtractions '())) (if (pair? pitches) (let* ((pitch (car pitches)) @@ -265,7 +264,7 @@ (if (= p-step step) (loop (+ step 2) (cdr pitches) subtractions) (loop step (cdr pitches) subtractions))))) - (reverse subtractions)))))) + (reverse subtractions))))) (define (chord::additions->text-banter additions subtractions) (if (pair? additions) @@ -376,7 +375,7 @@ ;; return (MATCHED-EXCEPTION . BASE-CHORD-WITH-UNMATCHED-STEPS) ;; BASE-CHORD-WITH-UNMATCHED-STEPS always includes (tonic 3 5) (define (chord::exceptions-lookup style steps) - (write-me "xl: " (let* ((result (chord::exceptions-lookup-helper + (let* ((result (chord::exceptions-lookup-helper (chord::restyle 'chord::names-alist- style) steps '() #f)) (exception-part (car result)) @@ -391,7 +390,7 @@ ((= i 0) base) ()) unmatched-steps))) - (list exception-part unmatched-with-1-3-5)))) + (list exception-part unmatched-with-1-3-5))) (define (chord::name->text style tonic steps bass-and-inversion) -- 2.39.2