[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: shiftDuration and partial
From: |
David Kastrup |
Subject: |
Re: shiftDuration and partial |
Date: |
Mon, 29 Jul 2013 18:07:17 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Urs Liska <address@hidden> writes:
> Am 29.07.2013 17:26, schrieb Stjepan Horvat:
>> hi guys..di you realize that shiftDuration doesn't convert the partial
>> part..?!
>> is this a bug?
>>
>> for example:
>>
>> \shiftDuration #1 #0 { c4 d e f } -> c8 d e f
>> but \shiftDuration #1 #0 { \partial 4 c4 d e f } -> c8 d | f g
>>
> I'm not sure, but I think that \partial 4 isn't technically a duration
> such as c4 or r4.
> If that's right it wouldn't be a but but a limitation.
It is technically a duration, but it is stored in a "partial-duration"
music property instead of a "duration" property and thus is not affected
by scaling.
Which seems somewhat weird. But it's been this way always since the
PartialSet event has been created in
commit 743267e6df7253daa9eded70c6c2736902111511
Author: Neil Puttock <address@hidden>
Date: Sun Sep 26 00:43:29 2010 +0100
Fix #372.
Thanks to Carl for providing the inspiration for this patch.
* input/regression/auto-beam-partial-grace.ly:
new regtest
* input/regression/display-lily-tests.ly:
remove TODO for scaled duration \partial test
* lily/partial-iterator.cc (new file):
use a simple music iterator to calculate the correct measurePosition
setting, and warn for \partial used after the start of a score
* scm/define-music-display-methods.scm:
simplify display method for partial: since the new music object `PartialSe
carries the original duration from the parser, extra code for converting
moments to durations is no longer required
* scm/define-music-properties.scm (all-music-properties):
add property for \partial, partial-duration
* scm/define-music-types.scm (music-descriptions):
add PartialSet
* scm/ly-syntax-constructors.scm (partial):
change constructor to allow 'origin to be set directly (used by iterator
to signal warning message)
use PartialSet
I think it could reasonably safe be replaced with just "duration" (and
thus would transform under shiftDurations), but the usefulness is likely
somewhat limited since \partial may only be used at the beginning of a
piece for some reason.
--
David Kastrup