From ce1ca7d20617d7ba113d975468feff9baa419b90 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 10 Feb 2002 23:28:34 +0100 Subject: [PATCH] patch::: 1.5.30.uu1 2002-02-07 Han-Wen Nienhuys * stepmake/aclocal.m4: fixed bison version check to be more robust. * lily/stem.cc (position_noteheads): fix for cluster chords. * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler * python 2.2 support. --- ChangeLog | 11 +++++ Documentation/topdocs/INSTALL.texi | 2 +- Documentation/user/refman.itely | 6 +-- VERSION | 2 +- aclocal.m4 | 8 ++-- config.hh.in | 3 ++ configure.in | 2 +- input/regression/breathing-sign.ly | 6 ++- input/regression/non-empty-text.ly | 7 +-- input/regression/stanza-number.ly | 2 +- input/template/piano-dynamics.ly | 6 +-- input/test/markup.ly | 7 ++- lily/afm.cc | 2 +- lily/dynamic-engraver.cc | 2 +- lily/kpath.cc | 1 + lily/stem.cc | 3 +- lily/text-engraver.cc | 17 ++++--- lilypond-mode.el | 2 + ly/engraver-init.ly | 1 + mf/feta-bolletjes.mf | 18 ++------ mf/feta-eindelijk.mf | 4 +- mf/feta-klef.mf | 6 +-- mf/feta-macros.mf | 51 ++++++++++++-------- mf/feta-params.mf | 2 +- mf/feta-puntje.mf | 12 ++--- mf/feta-schrift.mf | 74 ++++++++---------------------- mf/feta-toevallig.mf | 11 ++--- python/midi.c | 2 + scm/grob-description.scm | 7 ++- scripts/lilypond-book.py | 2 +- stepmake/aclocal.m4 | 8 ++-- 31 files changed, 146 insertions(+), 141 deletions(-) diff --git a/ChangeLog b/ChangeLog index 90166e4d2f..07252e7ad5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2002-02-07 Han-Wen Nienhuys + + * stepmake/aclocal.m4: fixed bison version check to be more + robust. + + * lily/stem.cc (position_noteheads): fix for cluster chords. + + * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler + + * python 2.2 support. + 2002-02-04 Han-Wen * VERSION: 1.5.30 released diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index a2e4043133..27ddf6868b 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -116,7 +116,7 @@ on the FTP site. You need the following packages to compile Lilypond. @itemize -@item A reasonably new C++ compiler: EGCS 1.1, GCC 2.95.2 or +@item A reasonably new version of the GNU C++ compiler: EGCS 1.1, GCC 2.95.2 or newer. Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}. @item Python (version 1.5 or newer; not 2.1.x) diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index f34b6ba4eb..4879e34658 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -3541,19 +3541,19 @@ details, see the file @file{scm/font.scm}. @cindex @code{papersize} To change the paper size, you must first set the -@code{papersize} variable at top level. Set it to +@code{papersize} paper variable variable. Set it to the strings @code{a4}, @code{letter}, or @code{legal}. After this specification, you must set the font as described above. If you want the default font, then use the 20 point font. @example - papersize = "a4" + \paper{papersize = "a4"} \include "paper16.ly" @end example The file @code{paper16.ly} will now include a file named @file{a4.ly}, which will set the paper variables @code{hsize} and @code{vsize} (used by -@code{ly2dvi}) +Lilypond and @code{ly2dvi}) @c . {Line break} @node Line break diff --git a/VERSION b/VERSION index 4b265d335f..a967b76a90 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=30 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=uu1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index 082312d741..0c3c31bd78 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -482,10 +482,12 @@ AC_DEFUN(AC_STEPMAKE_LEXYACC, [ AC_CHECK_SEARCH_RESULT($BISON, bison, Please install Bison, 1.25 or newer) AC_CHECK_SEARCH_RESULT($FLEX, flex, Please install Flex, 2.5 or newer) + +## Urg. We should fix this configure test. -- so clumsy if test $BISON != "error"; then - bison_version=`$BISON --version | sed 's/^.*version 1.//g'` - if test `echo $bison_version | sed 's/\..*$//g'` -lt 25; then - AC_STEPMAKE_WARN(Your bison is a bit old (1.$bison_version). You might have to install 1.25) + bison_version=`$BISON --version | head -1 | sed 's/^.* 1\.//g'` + if test $bison_version -lt 25; then + AC_STEPMAKE_WARN(The bison installed might be too old (1.$bison_version). You might have to install 1.25) fi fi diff --git a/config.hh.in b/config.hh.in index 972377ac50..fd68a01406 100644 --- a/config.hh.in +++ b/config.hh.in @@ -41,6 +41,9 @@ /* define if you have kpse_find_tfm */ #define HAVE_KPSE_FIND_TFM 0 +/* define if you have python2.2/Python.h header */ +#define HAVE_PYTHON2_2_PYTHON_H 0 + /* define if you have python2.1/Python.h header */ #define HAVE_PYTHON2_1_PYTHON_H 0 diff --git a/configure.in b/configure.in index 687edd4e4a..e7a5ea11b1 100644 --- a/configure.in +++ b/configure.in @@ -52,7 +52,7 @@ AC_STEPMAKE_MAKEINFO AC_PATH_PROG(PERL, perl, error) -AC_HAVE_HEADERS(python2.1/Python.h python2.0/Python.h python2/Python.h python/Python.h python1.5/Python.h Python.h) +AC_HAVE_HEADERS(python2.2/Python.h python2.1/Python.h python2.0/Python.h python2/Python.h python/Python.h python1.5/Python.h Python.h) AC_STEPMAKE_END diff --git a/input/regression/breathing-sign.ly b/input/regression/breathing-sign.ly index 5ad99b6e82..a663a8a001 100644 --- a/input/regression/breathing-sign.ly +++ b/input/regression/breathing-sign.ly @@ -21,7 +21,11 @@ two measures all have the same distance from each other: < \context Voice = two { \stemDown es4 \breathe bes es } \context Voice = one { \stemUp g4 as g } > | - es8 d es f g4 \breathe | +% Change to wedge: + \property Voice.BreathingSign \override #'text = #"scripts-upbow" + es8 d es f g8 \breathe f | +% Revert to old layout: + \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::brew_molecule es8 d \breathe es f g f | es2 r4 \bar "||" } diff --git a/input/regression/non-empty-text.ly b/input/regression/non-empty-text.ly index d3eee8bedc..43c81652d8 100644 --- a/input/regression/non-empty-text.ly +++ b/input/regression/non-empty-text.ly @@ -7,11 +7,12 @@ textNonEmpty is used to respect the horizontal size of text. " } \score { \notes { -\property Voice.TextScript \override #'no-spacing-rods = ##f -c4_"very wide and long text" c4 +c2_"very wide and long text" c | \break +\fatText % short for \property Voice.textNonEmpty = ##t +c_"very wide and long text" c } \paper { - linewidth = -1.0 + linewidth = 3.\cm } } diff --git a/input/regression/stanza-number.ly b/input/regression/stanza-number.ly index bd56fc5ad5..55991ad5a2 100644 --- a/input/regression/stanza-number.ly +++ b/input/regression/stanza-number.ly @@ -7,7 +7,7 @@ texidoc = "Stanza numbers may differ for the first and following systems." < \context LyricsVoice \lyrics { \property LyricsVoice . stanza = "first" -\property LyricsVoice . stz = "2nd" +\property LyricsVoice . stz = #'("2" (super "nd")) Foo1 Bar1 } \notes { c''1 \break c''1 }>} diff --git a/input/template/piano-dynamics.ly b/input/template/piano-dynamics.ly index 59a0a08218..e95a273378 100644 --- a/input/template/piano-dynamics.ly +++ b/input/template/piano-dynamics.ly @@ -26,11 +26,7 @@ lower = \notes\relative c { } dynamics = \notes { - \outputproperty #(make-type-checker 'dynamic-interface) - #'extra-offset = #'(0 . 2.5) s2\fff\> s4 - \outputproperty #(make-type-checker 'dynamic-interface) - #'extra-offset = #'(0 . 2.5) \!s\pp } @@ -67,6 +63,8 @@ pedal = \notes { TextScript \override #'font-relative-size = #1 TextScript \override #'font-shape = #'italic + DynamicText \override #'extra-offset = #'(0 . 2.5) + Hairpin \override #'extra-offset = #'(0 . 2.5) \consists "Skip_req_swallow_translator" diff --git a/input/test/markup.ly b/input/test/markup.ly index 621567dbad..17474621c2 100644 --- a/input/test/markup.ly +++ b/input/test/markup.ly @@ -26,15 +26,18 @@ d-#'(lines "Violoncello" " e" "Contrabasso") e-#'((lines (baselineskip . 0) (kern . 1.5)) "Violoncello" " e" "Contrabasso") e-#'(((baselineskip . 0) (kern . 1.5) lines) "Violoncello" " e" "Contrabasso") + g-"ÅÖÄÜÇÕ" } \paper{ linewidth = -1.\mm - \translator{ + fontenc = "T1" + \translator{ \ScoreContext TextScript \override #'font-family = #'roman TextScript \override #'font-shape = #'upright TextScript \revert #'no-spacing-rods TextScript \override #'direction = #1 - } + TextScript \override #'font-encoding = #'T1 + } } } diff --git a/lily/afm.cc b/lily/afm.cc index 4485349e29..1072990430 100644 --- a/lily/afm.cc +++ b/lily/afm.cc @@ -15,7 +15,7 @@ Adobe_font_metric::Adobe_font_metric (AFM_Font_info * fi) checksum_ = 0; font_inf_ = fi; - for (int i= 256; i--;) + for (int i= 256 >? fi->numOfChars; i--;) ascii_to_metric_idx_.push (-1); for (int i=0; i < fi->numOfChars; i++) diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 3fe710acac..fd92417cbc 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -145,7 +145,7 @@ Dynamic_engraver::process_music () Music * rq = accepted_spanreqs_drul_[START]; if (script_req_l_) rq = script_req_l_ ; - announce_grob(line_spanner_, rq->self_scm()); + announce_grob(line_spanner_, rq ? rq->self_scm(): SCM_EOL); } diff --git a/lily/kpath.cc b/lily/kpath.cc index aed208d5ab..c1d2bffaa0 100644 --- a/lily/kpath.cc +++ b/lily/kpath.cc @@ -13,6 +13,7 @@ #define popen REALLYUGLYKLUDGE #define pclose ANOTHERREALLYUGLYKLUDGE +#define getopt YAKLUDGE #if HAVE_KPATHSEA_KPATHSEA_H extern "C" { diff --git a/lily/stem.cc b/lily/stem.cc index f02c00598a..4f33d16066 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -407,7 +407,8 @@ Stem::position_noteheads (Grob*me) { if (parity) { - Real l = heads[i]->extent (heads[i], X_AXIS).length (); + Real l = Note_head::head_extent (heads[i], X_AXIS).length (); + heads[i]->translate_axis (l * get_direction (me), X_AXIS); } parity = !parity; diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 3a463407f2..38716da2af 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -128,12 +128,17 @@ Text_engraver::create_grobs () text->set_grob_property ("text", r->get_mus_property ("text")); SCM nonempty = get_property ("textNonEmpty"); - if (to_boolean (nonempty)) - /* - empty text: signal that no rods should be applied. - */ - text->set_grob_property ("no-spacing-rods" , SCM_BOOL_F); - + + if (gh_boolean_p (nonempty)) + if (gh_scm2bool (nonempty)) + /* + empty text: signal that no rods should be applied. + Default nowadays. + */ + text->set_grob_property ("no-spacing-rods" , SCM_BOOL_F); + else + text->set_grob_property ("no-spacing-rods" , SCM_BOOL_T); + announce_grob (text, r->self_scm ()); texts_.push (text); } diff --git a/lilypond-mode.el b/lilypond-mode.el index b2331af875..23696508ee 100644 --- a/lilypond-mode.el +++ b/lilypond-mode.el @@ -262,6 +262,8 @@ Must be the car of an entry in `LilyPond-command-alist'." ;;"LilyPond" LilyPond-command-default)) (t LilyPond-command-default))) + + (completion-ignore-case t) (answer (or LilyPond-command-force (completing-read diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 8acac587da..5c309e6fb4 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -240,6 +240,7 @@ LyricsVoiceContext= \translator{ \consists "Extender_engraver" \consists "Hyphen_engraver" \consists "Stanza_number_engraver" + \consists "Skip_req_swallow_translator" phrasingPunctuation = #".,:!?\"" } diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 9e24390594..d59e748b5f 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -121,8 +121,8 @@ fet_beginchar ("Brevis notehead", "-1", "brevishead"); y4 = y2; y3 = y1; - draw z1 -- z2; - draw z3 -- z4; + draw_gridline(z1,z2,stemthick); + draw_gridline(z3,z4,stemthick); fet_endchar; % whole note @@ -431,19 +431,7 @@ fet_endchar; fet_beginchar("Ledger ending", "ledgerending", "ledgerending") set_char_box (5/2 ledgerlinethickness#, 5/2 ledgerlinethickness#, ledgerlinethickness#/2,ledgerlinethickness#/2); - pickup pencircle scaled 1.3 blot_diameter; - - rt x2 = w; - lft x1 = -b; - x3 = x2; - bot y1 = -d; - y2 = y1; - - top y3 = h; - y4 = y3; - x4 = x1; - - filldraw z1 --- z2 --- z3 --- z4 --- cycle ; + draw_rounded_block((-b,-d),(w,h),1.3 blot_diameter); fet_endchar; diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index 55b73ee4a2..f81107f1c8 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -73,7 +73,7 @@ fet_beginchar( "whole rest (outside staff)", "0o", "outsidewholerest"); y5 = y6 = 0; lft x5 = - b - block_rest_y; rt x6 = w + block_rest_y; - draw z5 .. z6; + draw_gridline(z5,z6,ledgerlinethickness); fet_endchar; fet_beginchar("half rest (outside staff)", "1o", "outsidehalfrest"); @@ -84,7 +84,7 @@ fet_beginchar("half rest (outside staff)", "1o", "outsidehalfrest"); y5 = y6 = 0; lft x5 = - b - block_rest_y ; rt x6 = w + block_rest_y; - draw z5 .. z6; + draw_gridline (z5,z6,ledgerlinethickness); fet_endchar; diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index cf05a663a5..39e8f6ee5d 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -147,10 +147,10 @@ def draw_bass_clef(expr exact_center, reduction) = penlabels(1,2,3,4); save dot_diam; - 2 dot_diam = reduction* (staff_space - stafflinethickness); + 2 dot_diam = round reduction* (staff_space - stafflinethickness); pickup pencircle scaled dot_diam; - draw z5; - draw z5 yscaled -1; + drawdot z5; + drawdot z5 yscaled -1; enddef; diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index 6fa8d3a3e6..26320c6a6b 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -117,26 +117,41 @@ def distorted_ellipse(expr a,b,err_y,err_x,super) = superellipse((a,err_x),(-err_y,b),(-a,-err_x),(err_y,-b),super); enddef; -% stolen from feta-eindelijk, but still -% FIXME: too high -def draw_block (expr bottom_left, top_right) = - pickup pencircle scaled blot_diameter; - begingroup; - save x,y; - bot y1 = ypart bottom_left; - top y2 = ypart top_right; - y3 = y2; - y4 = y1; - rt x1 = xpart top_right; - x2 = x1; - lft x3 = xpart bottom_left; - x4 = x3; - - filldraw z1--z2--z3--z4--cycle; - endgroup; - enddef; +def draw_rounded_block (expr bottom_left, top_right, roundness) = + save round; + round = floor min(roundness,xpart (top_right-bottom_left), + ypart (top_right-bottom_left)); + + + pickup pencircle scaled round; + + begingroup; + save x,y; + z2+(round/2,round/2) = top_right; + z4-(round/2,round/2) = bottom_left; + y3 = y2; + y4 = y1; + x2 = x1; + x4 = x3; + fill bot z1 .. rt z1 --- rt z2 .. top z2 --- + top z3 .. lft z3 --- lft z4 .. bot z4 --- cycle; + endgroup; + enddef; + + + + def draw_block (expr bottom_left, top_right) = + draw_rounded_block (bottom_left, top_right, blot_diameter); + enddef; + + def draw_gridline (expr bottom_left,top_right,thickness) = + draw_rounded_block (bottom_left-(thickness/2,thickness/2), + top_right+(thickness/2,thickness/2), + thickness); + enddef; + def draw_brush(expr a,w,b,v) = save x,y; diff --git a/mf/feta-params.mf b/mf/feta-params.mf index b9c9d9924b..2f793da494 100644 --- a/mf/feta-params.mf +++ b/mf/feta-params.mf @@ -41,7 +41,7 @@ overdone_heads = 0.0; % FIXME: According to [Wanske], only outside corners should be round % I don't think we do this anywhere -- jcn numeric blot_diameter; -blot_diameter# = .4pt#; +blot_diameter# = .45pt#; if (blot_diameter# * hppp) < 1: blot_diameter# := 1/hppp; fi diff --git a/mf/feta-puntje.mf b/mf/feta-puntje.mf index ad04883de9..fbd7c6a9db 100644 --- a/mf/feta-puntje.mf +++ b/mf/feta-puntje.mf @@ -1,13 +1,13 @@ fet_begingroup("dots"); -save dot_diam; -2 dot_diam# = staff_space# - stafflinethickness#; -define_pixels(dot_diam); +save dot_radius; +4 dot_radius# = staff_space# - stafflinethickness#; +define_whole_blacker_pixels(dot_radius); fet_beginchar("duration dot","dot", "dot") - pickup pencircle scaled dot_diam; - drawdot (dot_diam/2,0); - set_char_box(0, dot_diam#, dot_diam#/2, dot_diam#/2); + pickup pencircle scaled dot_radius; + drawdot (dot_radius,0); + set_char_box(0, 2*dot_radius#, dot_radius#, dot_radius#); fet_endchar; fet_endgroup("dots"); diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf index b9bc92b634..bb9df75307 100644 --- a/mf/feta-schrift.mf +++ b/mf/feta-schrift.mf @@ -12,7 +12,7 @@ fet_begingroup("scripts") def draw_fermata = - save alpha, radius, crook_thinness, crook_fatness, dot_diam; + save alpha, radius, crook_thinness, crook_fatness, dot_radius; % [Wanske] and some Baerenreiter editions % suggest ca 80 degrees iso half-circle @@ -27,7 +27,7 @@ def draw_fermata = set_char_box(w#, w#, crook_thinness#/2, h#); define_pixels(radius, crook_thinness, crook_fatness); - dot_diam = 4/3 crook_fatness; + dot_radius = round (4/6 crook_fatness); penpos1(crook_thinness, 0); @@ -41,10 +41,10 @@ def draw_fermata = addto currentpicture also currentpicture xscaled -1; - pickup pencircle scaled dot_diam; + pickup pencircle scaled 2dot_radius; x4 =0; bot y4 = - crook_thinness/2; - draw z4; + drawdot z4; enddef; fet_beginchar("fermata up", "ufermata", "ufermata") @@ -134,9 +134,9 @@ fet_endchar; fet_beginchar("staccato dot", "staccato", "staccato") save radius; radius# = 1.4 stafflinethickness#; - define_pixels(radius); + define_whole_pixels(radius); pickup pencircle scaled 2 radius; - draw (0,0); + drawdot (0,0); set_char_box(radius#, radius#, radius#, radius#); fet_endchar; @@ -144,7 +144,8 @@ def draw_staccatissimo = save radius, height; height# = .8 staff_space#; radius# = 2 stafflinethickness#; - define_pixels(radius, height); + define_whole_pixels(radius); + define_pixels(height); draw_brush((0,0), stafflinethickness, (0, height),2 radius); set_char_box(radius#,radius#, blot_diameter#/2, height# + radius#); @@ -166,14 +167,11 @@ fet_endchar; fet_beginchar("portato/single tenuto", "tenuto", "tenuto") save thick; thick# = 1.4 stafflinethickness#; - define_pixels(thick); + define_whole_pixels(thick); set_char_box(.6 staff_space#, .6 staff_space#, thick#/2,thick#/2); pickup pencircle scaled thick; - lft x1 = -b; - rt x2 = w; - y1 = y2 = 0; - draw z1 .. z2; + draw_rounded_block((-b,-thick/2),(w,thick/2),thick); fet_endchar; @@ -184,19 +182,14 @@ fet_endchar; def draw_portato = save thick, radius; thick# = 1.4 stafflinethickness#; - define_pixels(thick); radius# = 1.4 stafflinethickness#; - define_pixels(radius); + define_whole_pixels(thick,radius); set_char_box(.6 staff_space#, .6 staff_space#, thick#/2,.5 staff_space#+ radius#); - pickup pencircle scaled thick; - lft x1 = -b; - rt x2 = w; - y1 = y2 = 0; - draw z1 .. z2; + draw_rounded_block((-b,-thick/2),(w,thick/2),thick); pickup pencircle scaled 2 radius; - draw (0,h); + drawdot (0,h); enddef; @@ -280,14 +273,8 @@ fet_beginchar("plus (stopped)", "stopped", "plusstop") size# = 1.1 staff_space#; set_char_box(size#/2, size#/2, size#/2, size#/2); - pickup pencircle scaled thick; - - rt x1 = w; - y1 = 0; - z2 = -z1; - - draw z1 .. z2; - draw (z1 .. z2) rotated 90; + draw_rounded_block((-b,-thick/2),(w,thick/2),thick); + addto currentpicture also currentpicture rotated 90; fet_endchar; % @@ -316,37 +303,17 @@ fet_endchar; fet_beginchar("Downbow", "downbow", "downbow") save stemthick, beamheight; - save wd; + save wd,round; define_pixels(wd) wd# = 1.5 staff_space#; stemthick = 1.2 stafflinethickness; - set_char_box(wd#/2, wd#/2, 0, 4/3 staff_space#); beamheight = 4/10 h; - - pickup pencircle scaled blot_diameter; - top y2 - bot y1 = beamheight; - top y2 = h; - rt x1 = w; - x1 = x2; - y2 = y3; - y1 = y4; - x3 = 0; - x4 = x3; - save p; - path p; - filldraw z1 -- z2 -- z3 -- z4 --cycle; - - pickup pencircle scaled stemthick; - - bot y5 =0; - rt x5 = rt x6 = w; - y6 = h - beamheight; - draw z6 -- z5; - labels(1, 2,3,4,5,6); + draw_rounded_block((-b,h-beamheight),(w,h),blot_diameter); + draw_rounded_block((-b,-d),(-b+stemthick,h-stemthick),stemthick); addto currentpicture also currentpicture xscaled -1; fet_endchar; @@ -716,9 +683,8 @@ fet_beginchar("Coda", "coda", "coda") fill halfcoda; fill (halfcoda scaled -1); - pickup pencircle scaled thin; - draw (0,-h) -- (0,h); - draw (-w,0) -- (w,0); + draw_gridline((0,-h),(0,h),thin); + draw_gridline((-w,0),(w,0),thin); fet_endchar; diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf index a71a57aaab..ed316e66f0 100644 --- a/mf/feta-toevallig.mf +++ b/mf/feta-toevallig.mf @@ -66,19 +66,16 @@ fet_beginchar("Sharp" , "1", "sharp"); pickup pencircle scaled roundness; filldraw (beam shifted (0,-interbeam/2)); - filldraw (beam shifted (0,interbeam/2)); pickup pencircle scaled stemwidth; x3 = x4 = xpart center; bot y3 = -1.5 staff_space + ypart center; top y4 = 1.5 staff_space + ypart center; - path stem; - stem := z3 .. z4; numeric xs; xs := interstem* beamwidth / 2; - draw stem shifted (- xs, - xs* beamslope); - draw stem shifted (xs , xs *beamslope); + draw_gridline (z3-(xs,xs* beamslope),z4-(xs,xs*beamslope),stemwidth); + addto currentpicture also currentpicture rotated 180 shifted (w,0); labels(1,2,3,4); fet_endchar; @@ -111,8 +108,8 @@ fet_beginchar( "Natural", "0", "natural") top y3 = 1.5 staff_space; top y4 = beamtop; - draw (xpart z1, -y4) .. z3; - draw (xpart z2, -y3) .. z4; + draw_gridline((xpart z1, -y4),z3,stemwidth); + draw_gridline((xpart z2, -y3),z4,stemwidth); labels(1,2,3,4); fet_endchar; diff --git a/python/midi.c b/python/midi.c index a5fab33c30..0026201651 100644 --- a/python/midi.c +++ b/python/midi.c @@ -23,6 +23,8 @@ midi.parse (s) /* urg */ #if HAVE_PYTHON2_PYTHON_H #include +#elif HAVE_PYTHON2_2_PYTHON_H +#include #elif HAVE_PYTHON2_1_PYTHON_H #include #elif HAVE_PYTHON2_0_PYTHON_H diff --git a/scm/grob-description.scm b/scm/grob-description.scm index ea731b477c..af6e7aa0a2 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -136,10 +136,13 @@ (BreathingSign . ( (break-align-symbol . Breathing_sign) (breakable . #t ) - (molecule-callback . ,Breathing_sign::brew_molecule) + (molecule-callback . ,Text_item::brew_molecule) + (lookup . name) + (font-family . music) + (text . "scripts-rcomma") (Y-offset-callbacks . (,Breathing_sign::offset_callback)) (visibility-lambda . ,begin-of-line-invisible) - (meta . ,(grob-description break-aligned-interface)) + (meta . ,(grob-description break-aligned-interface text-interface font-interface)) )) (Clef . ( diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index 2eb4a0c5f2..e1a7f86b31 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -487,7 +487,7 @@ re_dict = { 'lilypond-file': '(?m)^(?!@c)(?P@lilypondfile(\[(?P.*?)\])?{(?P[^}]+)})', 'lilypond' : '(?m)^(?!@c)(?P@lilypond(\[(?P.*?)\])?{(?P.*?)})', # pyton2.2b2 barfs on this - 'lilypond-block': r"""(?m)^(?!@c)(?P(?s)(?P@lilypond(\[(?P.*?)\])?\s(?P.*?)@end lilypond\s))""", + 'lilypond-block': r"""(?m)^(?!@c)(?P(?s)(?P@lilypond(\[(?P.*?)\])?\s(?P.*?)@end lilypond\s))""", # 1.5.2 barfs on this. # 'lilypond-block': r"""(?m)^(?!@c)(?P@lilypond(\[(?P.*?)\])?\s(?P.*?)@end lilypond\s)""", diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 3003cbd938..20a3f58ec1 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -480,10 +480,12 @@ AC_DEFUN(AC_STEPMAKE_LEXYACC, [ AC_CHECK_SEARCH_RESULT($BISON, bison, Please install Bison, 1.25 or newer) AC_CHECK_SEARCH_RESULT($FLEX, flex, Please install Flex, 2.5 or newer) + +## Urg. We should fix this configure test. -- so clumsy if test $BISON != "error"; then - bison_version=`$BISON --version | sed 's/^.*version 1.//g'` - if test `echo $bison_version | sed 's/\..*$//g'` -lt 25; then - AC_STEPMAKE_WARN(Your bison is a bit old (1.$bison_version). You might have to install 1.25) + bison_version=`$BISON --version | head -1 | sed 's/^.* 1\.//g'` + if test $bison_version -lt 25; then + AC_STEPMAKE_WARN(The bison installed might be too old (1.$bison_version). You might have to install 1.25) fi fi -- 2.39.5