lilypond-user
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]