From: Devon Schudy Date: Fri, 4 Apr 2014 13:08:03 +0000 (-0400) Subject: \partial now only makes measurePosition negative at the beginning of a score. X-Git-Tag: release/2.19.4-1~7 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ebda49421d5926699628907ee06bcb1e3d0a9212;p=lilypond.git \partial now only makes measurePosition negative at the beginning of a score. This is more consistent, and means it doesn't disrupt bar numbers when used at the beginning of a measure or after \time. (issue 3888) This changes the semantics for issue 3645 in commit 2d34420eaf1ffdb620739e4640af42c0b3f812c1. --- diff --git a/Documentation/notation/rhythms.itely b/Documentation/notation/rhythms.itely index c0e88b3e27..9ca613ed75 100644 --- a/Documentation/notation/rhythms.itely +++ b/Documentation/notation/rhythms.itely @@ -1433,11 +1433,10 @@ The property @code{measurePosition} contains a rational number, which is usually positive and indicates how much of the measure has passed at this point. @code{\partial @var{duration}} is defined such that no numbered bar gets created: when used at the -beginning of a measure, @code{measurePosition} is set to a +beginning of a score, @code{measurePosition} is set to a negative number, implying that the current bar will be -@emph{preceded} by additional material. When used after a measure -has already started, however, it moves the requested distance -before the @emph{end} of the bar. +@emph{preceded} by additional material. When used elsewhere, it +moves the requested distance before the @emph{end} of the bar. @lilypond[quote,verbatim,relative=1] \set Score.barNumberVisibility = #all-bar-numbers-visible diff --git a/lily/partial-iterator.cc b/lily/partial-iterator.cc index 37b2b603d5..9ed7debe2f 100644 --- a/lily/partial-iterator.cc +++ b/lily/partial-iterator.cc @@ -58,7 +58,7 @@ Partial_iterator::process (Moment m) Moment mp = robust_scm2moment (timing->get_property ("measurePosition"), Rational (0)); - if (mp.main_part_ > Rational (0)) + if (get_outlet ()->now_mom () > 0) mp.main_part_ = measure_length (timing); else mp.main_part_ = 0;