From 286b6f7d2e80e438c95154b7e20724741f235aaa Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 28 Feb 2001 16:28:06 +0100 Subject: [PATCH] patch::: 1.3.133.jcn2 1.3.133.jcn2 ============ * Easy-play bugfixes: don't do showpage for each notehead, output staff-symbol first, moved to lily.ps. * Bugfix: don't print so many decimals in ps output. * Bugfix for refman example. --- CHANGES | 10 +++++++ Documentation/user/refman.itely | 2 ++ VERSION | 2 +- lily/include/lily-guile.hh | 1 + lily/line-of-score.cc | 12 +++++++- lily/midi-walker.cc | 2 +- ps/lily.ps | 23 +++++++++++++++ scm/ps.scm | 50 ++++++++++++--------------------- scm/tex.scm | 8 +++--- 9 files changed, 71 insertions(+), 39 deletions(-) diff --git a/CHANGES b/CHANGES index cae7ddb46c..b3416049fd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,13 @@ +1.3.133.jcn2 +============ + +* Easy-play bugfixes: don't do showpage for each notehead, output +staff-symbol first, moved to lily.ps. + +* Bugfix: don't print so many decimals in ps output. + +* Bugfix for refman example. + 1.3.133.jcn1 ============ diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 363985a0c7..cca14f14a8 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -2525,6 +2525,7 @@ If you just want the splitting of Threads and setting of directions, and not the textual markings, you may set the property @var{soloADue} to false: @lilypond[verbatim,singleline] +\score { \context Staff < \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' { @@ -2540,6 +2541,7 @@ not the textual markings, you may set the property @var{soloADue} to false: soloADue = ##f } } +} @end lilypond There are a number of other properties that you can use to tweak the diff --git a/VERSION b/VERSION index 922f0005d0..67f82fc622 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=133 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index ebb7e70c3f..d2cf5074ee 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -49,6 +49,7 @@ SCM ly_parse_scm (char const* s, int* n); SCM ly_quote_scm (SCM s); SCM ly_type (SCM); bool type_check_assignment (SCM val, SCM sym, SCM type_symbol) ; +SCM ly_number2string (SCM s); /* display and print newline. diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 3a1222d833..924b2c9ec4 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -323,8 +323,18 @@ Line_of_score::post_processing (bool last_line) /* all elements. - */ + */ +#if 0 for (SCM s = get_grob_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s)) +#else + /* + Output the staff-symbol (the last element in this list) first, + this fixes easy-play. + Maybe scm_reverse () is too inefficient, we could cache/remove + last element from list traversal above. + */ + for (SCM s = scm_reverse (get_grob_property ("all-elements")); gh_pair_p (s); s = gh_cdr (s)) +#endif { Grob *sc = unsmob_grob (gh_car (s)); Molecule *m = sc->get_molecule (); diff --git a/lily/midi-walker.cc b/lily/midi-walker.cc index fe67eaf0fa..c63e046fde 100644 --- a/lily/midi-walker.cc +++ b/lily/midi-walker.cc @@ -61,7 +61,7 @@ Midi_walker::do_start_note (Midi_note* note_p) new stop note wins */ stop_note_queue[i].ignore_b_ = true; -#if 0 // Ugh: this fixes stuck notes bug, but breaks most everything else? +#if 1 /* don't replay start note, */ play_start = false; break; diff --git a/ps/lily.ps b/ps/lily.ps index c94a3706f7..5956635e65 100644 --- a/ps/lily.ps +++ b/ps/lily.ps @@ -77,6 +77,29 @@ stroke } bind def +/draw_ez_ball % ch letter_col ball_col font +{ + % font + findfont 0.7 scalefont setfont + 0.1 setlinewidth + 0 0 moveto + 0 setgray + 0.5 0 0.5 0 360 arc closepath fill stroke + % ball_col + 1 eq { + 0.01 setlinewidth + 1 setgray + 0.5 0 0.4 0 360 arc closepath + fill stroke + } if + % letter_col + setgray + % 0.25 is empiric centering. Change to taste + 0.25 -0.25 moveto + % ch + show +} bind def + /draw_volta % h w thick vert_start vert_end { /vert_end exch def diff --git a/scm/ps.scm b/scm/ps.scm index d4442ecb39..d17843731e 100644 --- a/scm/ps.scm +++ b/scm/ps.scm @@ -35,7 +35,7 @@ (ly-warn (string-append "Programming error: No such font known " (car name-mag-pair) " " - (number->string (cdr name-mag-pair)) + (ly-number->string (cdr name-mag-pair)) )) "") ; issue no command @@ -48,7 +48,7 @@ " { /" (car name-mag) " findfont " - "12 " (number->string (cdr name-mag)) " mul " + "12 " (ly-number->string (cdr name-mag)) " mul " "lilypondpaperoutputscale div scalefont setfont } bind def " "\n")) @@ -76,24 +76,24 @@ (define (dashed-slur thick dash l) (string-append (apply string-append (map control->string l)) - (number->string thick) + (ly-number->string thick) " [ " - (number->string dash) + (ly-number->string dash) " " - (number->string (* 10 thick)) ;UGH. 10 ? + (ly-number->string (* 10 thick)) ;UGH. 10 ? " ] 0 draw_dashed_slur")) (define (dashed-line thick on off dx dy) (string-append - (number->string dx) + (ly-number->string dx) " " - (number->string dy) + (ly-number->string dy) " " - (number->string thick) + (ly-number->string thick) " [ " - (number->string on) + (ly-number->string on) " " - (number->string off) + (ly-number->string off) " ] 0 draw_dashed_line")) (define (decrescendo thick w h cont) @@ -149,16 +149,16 @@ (define (invoke-dim1 s d) (string-append - (number->string (* d (/ 72.27 72))) " " s )) + (ly-number->string (* d (/ 72.27 72))) " " s )) (define (placebox x y s) (string-append - (number->string x) " " (number->string y) " {" s "} placebox ")) + (ly-number->string x) " " (ly-number->string y) " {" s "} placebox\n")) (define (bezier-sandwich l thick) (string-append (apply string-append (map control->string l)) - (number->string thick) + (ly-number->string thick) " draw_bezier_sandwich")) (define (start-line height) @@ -191,26 +191,12 @@ lilypondpaperoutputscale lilypondpaperoutputscale scale (define (unknown) "\n unknown\n") -;; note heads with letters. (define (ez-ball ch letter-col ball-col) - (string-append " -/Helvetica-Bold findfont -0.7 scalefont -setfont -0.1 setlinewidth - 0 0 moveto -0 setgray -0.5 0 0.5 0 360 arc -closepath " - (if (equal? ball-col 0) " fill " " stroke ") - (number->string letter-col) - " -setgray -% 0.25 is empiric centering. Change to taste -0.25 -0.25 moveto - (" ch ") show -showpage ") - ) + (string-append + " (" ch ") " + (numbers->string (list letter-col ball-col)) + " /Helvetica-Bold " ;; ugh + " draw_ez_ball")) (define (define-origin a b c ) "") (define (no-origin) "") diff --git a/scm/tex.scm b/scm/tex.scm index 499b2efdd3..bbb45d4550 100644 --- a/scm/tex.scm +++ b/scm/tex.scm @@ -30,7 +30,7 @@ (ly-warn (string-append "Programming error: No such font known " (car name-mag-pair) " " - (number->string (cdr name-mag-pair)) + (ly-number->string (cdr name-mag-pair)) )) "") ; issue no command (string-append "\\" (cddr c))) @@ -64,7 +64,7 @@ "\\font\\" command "=" (car name-mag) " scaled " - (number->string (inexact->exact (* 1000 (cdr name-mag)))) + (ly-number->string (inexact->exact (* 1000 (cdr name-mag)))) "\n")) (define (ez-ball c l b) @@ -180,8 +180,8 @@ (define (define-origin file line col) ; use this for column positions (if point-and-click - (string-append "\\special{src:" (number->string line) ":" - (number->string col) " " file "}" + (string-append "\\special{src:" (ly-number->string line) ":" + (ly-number->string col) " " file "}" ;; arg, the clueless take over the mailing list... ; "\\special{-****-These-warnings-are-harmless-***}" ; "\\special{-****-PLEASE-read-http://appel.lilypond.org/wiki/index.php3?PostProcessing-****}" -- 2.39.2