From 457ad54d27d8ef70664f958d458d7cae364d54af Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 30 Jul 2013 11:45:58 +0200 Subject: [PATCH] Issue 3481: Let PartialSet use music property 'duration instead of 'partial-duration This allows for \partial to be subjected to the operation of \shiftDurations. --- lily/partial-iterator.cc | 2 +- ly/music-functions-init.ly | 2 +- scm/define-music-display-methods.scm | 2 +- scm/define-music-properties.scm | 2 -- scm/define-music-types.scm | 5 +++++ 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lily/partial-iterator.cc b/lily/partial-iterator.cc index 2b1ff3eb5b..7c3b3e965b 100644 --- a/lily/partial-iterator.cc +++ b/lily/partial-iterator.cc @@ -36,7 +36,7 @@ void Partial_iterator::process (Moment m) { if (Duration * dur - = unsmob_duration (get_music ()->get_property ("partial-duration"))) + = unsmob_duration (get_music ()->get_property ("duration"))) { Context *ctx = get_outlet (); Moment now = ctx->now_mom (); diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index a25198f3e0..8af797115f 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -976,7 +976,7 @@ partial = (descend-to-context (context-spec-music (make-music 'PartialSet 'origin location - 'partial-duration dur) + 'duration dur) 'Timing) 'Score)) diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index 6d9dc82506..537e5d24df 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -993,7 +993,7 @@ Otherwise, return #f." context-type 'Timing element (music 'PartialSet - partial-duration ?duration)))) + duration ?duration)))) (and ?duration (format #f "\\partial ~a" diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm index cdfe5f3cd3..4082cc4902 100644 --- a/scm/define-music-properties.scm +++ b/scm/define-music-properties.scm @@ -143,8 +143,6 @@ top-level, a page marker object is instanciated instead of a score.") (page-turn-permission ,symbol? "When the music is at top-level, whether to allow, forbid or force a page turn.") (parenthesize ,boolean? "Enclose resulting objects in parentheses?") - (partial-duration ,ly:duration? "The length of a partial measure as a -duration.") (part-combine-status ,symbol? "Change to what kind of state? Options are @code{solo1}, @code{solo2} and @code{unisono}.") (pitch ,ly:pitch? "The pitch of this note.") diff --git a/scm/define-music-types.scm b/scm/define-music-types.scm index 5cc5907fbc..0a796a1981 100644 --- a/scm/define-music-types.scm +++ b/scm/define-music-types.scm @@ -397,6 +397,11 @@ Syntax: @code{\\override} [ @var{context} @code{.} ] (PartialSet . ((description . "Create an anacrusis or upbeat (partial measure).") (iterator-ctor . ,ly:partial-iterator::constructor) + ;; The length-callback is kind of cheesy since 'elements is + ;; empty. We just use that in order to get a zero length + ;; for the overall timing in spite of having a non-zero + ;; duration field. + (length-callback . ,ly:music-sequence::cumulative-length-callback) (types . (general-music partial-set)) )) -- 2.39.2