From: hanwen Date: Mon, 23 Feb 2004 16:13:42 +0000 (+0000) Subject: (start_translation_timestep): X-Git-Tag: release/2.1.27~9 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d5a4e1accf848d083b998e159fa90cb048aba632;p=lilypond.git (start_translation_timestep): init Recording_group_engraver twice. --- diff --git a/ChangeLog b/ChangeLog index acbcfc5804..38430fe566 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-02-23 Han-Wen Nienhuys + + * lily/recording-group-engraver.cc (start_translation_timestep): + init Recording_group_engraver twice. + 2004-02-23 Jan Nieuwenhuizen * gcc-3.4 snapshot: 3.4.0 20040215 (prerelease) compile fixes, and @@ -21,6 +26,22 @@ 2004-02-23 Han-Wen Nienhuys + * Documentation/user/invoking.itexi (Point and click): add index + entry. + + * scm/slur.scm (calc-slur-extremity): use 'stem only if slur would + go under beam. + + * lily/beam-quanting.cc: tune down ROUND_TO_ZERO_SLOPE, this fixes + sarabande beam. + + * flower/warn.cc (programming_error): cross fingers not thumbs. + + * lily/rest.cc (polyphonic_offset_callback): return 0 when + staff-position is set. + + * VERSION: release 2.1.26 + * scm/chord-entry.scm (construct-chord): process transposition after processing explicit-11. diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index 0bde1670bd..21910a2db4 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -511,6 +511,9 @@ information. @section Point and click @cindex poind and click +@cindex source specials +@cindex specials, source + Point and click lets you find notes in the input by clicking on them in the Xdvi window. This makes it easier to find input that causes some error in the sheet music. diff --git a/Documentation/user/macros.itexi b/Documentation/user/macros.itexi index 5f209a9407..d0d949645f 100644 --- a/Documentation/user/macros.itexi +++ b/Documentation/user/macros.itexi @@ -129,19 +129,19 @@ internals document, @internalsref{\NAME\} @macro refbugs @noindent -@heading Bugs +@subsubheading Bugs @end macro @macro seealso @noindent -@heading See also +@subsubheading See also @end macro @macro refcommands @noindent -@heading Predefined commands +@subsubheading Predefined commands @end macro @@ -159,7 +159,7 @@ internals document, @internalsref{\NAME\} @macro syntax @noindent -@heading Syntax +@subsubheading Syntax @end macro diff --git a/Documentation/user/music-glossary.tely b/Documentation/user/music-glossary.tely index a2e8631908..f3bedcb418 100644 --- a/Documentation/user/music-glossary.tely +++ b/Documentation/user/music-glossary.tely @@ -1111,7 +1111,7 @@ of the 20th century \StaffContext \consists Custos_engraver } -raggedright = ##t + raggedright = ##t } } @end lilypond diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 10c1061d1e..6b07d6aa18 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -8349,9 +8349,12 @@ is fixed beforehand. This is also done with a staves is fixed by setting @code{forced-distance}. If you want to override this, use a @code{\translator} block as follows: @example - \translator @{ - \PianoStaffContext - VerticalAlignment \override #'forced-distance = #9 + \paper @{ + \translator @{ + \PianoStaffContext + \override VerticalAlignment #'forced-distance = #9 + @} + @dots{} @} @end example This would bring the staves together at a distance of 9 staff spaces, @@ -8364,6 +8367,7 @@ Internals: Vertical alignment of staves is handled by the + @node Horizontal spacing @subsection Horizontal Spacing diff --git a/VERSION b/VERSION index 9889055627..2dfd00af37 100644 --- a/VERSION +++ b/VERSION @@ -2,5 +2,5 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=1 PATCH_LEVEL=26 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=hwn1 diff --git a/flower/warn.cc b/flower/warn.cc index 117e8fdc6b..40a2b8a331 100644 --- a/flower/warn.cc +++ b/flower/warn.cc @@ -41,7 +41,7 @@ error (String s) void programming_error (String s) { - message (_f ("programming error: %s (Continuing; cross thumbs)\n", + message (_f ("programming error: %s (Continuing; crossing fingers)\n", s.to_str0 ())); } diff --git a/lily/beam-quanting.cc b/lily/beam-quanting.cc index 2a828e0ee5..2650c4d827 100644 --- a/lily/beam-quanting.cc +++ b/lily/beam-quanting.cc @@ -39,7 +39,7 @@ const int DAMPING_DIRECTION_PENALTY = 800; const int MUSICAL_DIRECTION_FACTOR = 400; const int IDEAL_SLOPE_FACTOR = 10; -const Real ROUND_TO_ZERO_SLOPE = 0.05; +const Real ROUND_TO_ZERO_SLOPE = 0.02; const int ROUND_TO_ZERO_POINTS = 4; extern bool debug_beam_quanting_flag; diff --git a/lily/include/timing-translator.hh b/lily/include/timing-translator.hh index c2aaf37d66..2ec194f76a 100644 --- a/lily/include/timing-translator.hh +++ b/lily/include/timing-translator.hh @@ -18,7 +18,6 @@ class Timing_translator : public virtual Translator { public: - // VIRTUAL_COPY_CONS (Translator); TRANSLATOR_DECLARATIONS(Timing_translator); diff --git a/lily/recording-group-engraver.cc b/lily/recording-group-engraver.cc index 70b7f79f27..25f5392172 100644 --- a/lily/recording-group-engraver.cc +++ b/lily/recording-group-engraver.cc @@ -27,7 +27,8 @@ void Recording_group_engraver::initialize () { Engraver_group_engraver::initialize (); - accumulator_ = gh_cons (SCM_EOL, SCM_EOL); + accumulator_ = gh_cons (gh_cons (now_mom (). smobbed_copy (), SCM_EOL), + SCM_EOL); } Recording_group_engraver::Recording_group_engraver() @@ -38,8 +39,15 @@ void Recording_group_engraver::start_translation_timestep () { Engraver_group_engraver::start_translation_timestep(); - - scm_set_car_x (accumulator_, gh_cons (now_mom ().smobbed_copy (), SCM_EOL)); + + + /* + We have to do this both in initialize() and + start_translation_timestep(), since start_translation_timestep() + isn't called on the first time-step.g + */ + if (!gh_pair_p (gh_car (accumulator_))) + scm_set_car_x (accumulator_, gh_cons (now_mom ().smobbed_copy (), SCM_EOL)); } void diff --git a/lily/rest.cc b/lily/rest.cc index 658c2e80af..a7475e452e 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -165,6 +165,9 @@ SCM Rest::polyphonic_offset_callback (SCM smob, SCM) { Grob* me = unsmob_grob (smob); + if (gh_number_p (me->get_property ("staff-position"))) + return gh_double2scm (0); + Direction d = get_grob_direction (me); Real off = 2* d ; if(off) diff --git a/scm/slur.scm b/scm/slur.scm index 711ee90fb1..73e087db0f 100644 --- a/scm/slur.scm +++ b/scm/slur.scm @@ -8,12 +8,16 @@ (define (attached-to-stem slur dir) (let* ((note-columns (ly:grob-property slur 'note-columns)) - (col (if (= dir 1) (car note-columns) (car (last-pair note-columns)))) + (col (if (= dir RIGHT) + (car note-columns) + (car (last-pair note-columns)))) (stem (ly:grob-property col 'stem))) (and (eq? col (ly:spanner-get-bound slur dir)) - (ly:grob? stem) - (ly:grob-property stem 'heads)))) + ;(ly:grob? stem) + ;(pair? (ly:grob-property stem 'heads)) + + ))) ;; @@ -23,26 +27,44 @@ ;; (define (calc-slur-extremity slur dir) (let* ((note-columns (ly:grob-property slur 'note-columns)) - (col (car (if (= dir 1) note-columns (reverse note-columns)))) - (stem (ly:grob-property col 'stem))) - + (col (if (= dir 1) + (car note-columns) + (car (last-pair note-columns)))) + (stem (ly:grob-property col 'stem)) + (beaming (if (and (ly:grob? stem) + (ly:grob? (ly:grob-property stem 'beam))) + (ly:grob-property stem 'beaming) + '(() . ()))) + (one-side-beaming (if (= dir RIGHT) + (car beaming) + (cdr beaming))) + + ) (cond ((< (length note-columns) 1) 'head) - ((not (attached-to-stem slur dir)) 'loose-end) + ((not (attached-to-stem slur dir)) + + 'loose-end) ((and stem (not (equal? (ly:grob-property slur 'direction) (ly:grob-property stem 'direction)))) 'head) - ((and (attached-to-stem slur dir) + ((and (memq (ly:spanner-get-bound slur dir) + (ly:grob-property slur 'note-columns)) (ly:grob? stem) - (ly:grob? (ly:grob-property stem 'beam)) + + ;; slur would go under beam for 'head + (> (length one-side-beaming ) 0) ;; and beam on same side as slur (equal? (ly:grob-property stem 'direction) - (ly:grob-property slur 'direction))) + (ly:grob-property slur 'direction)) + ) 'stem) - ((not (attached-to-stem slur dir)) 'loose-end) - (else 'head)) + ((not (attached-to-stem slur dir)) + 'loose-end) + (else + 'head)) ))