Preserve All Smart Shapes when Pitch is Changed in Speedy Entry Using MIDI
IWBNI no smart shapes were deleted when pitches are changed in speedy entry by using the MIDI keyboard. As it is now, notehead-attached smart shapes (i.e. glissandos and tab slides) are deleted when pitches are changed in this way. Note-attached and measure-attached smart shapes are preserved by this operation.
For example, suppose a glissando is attached to a note at middle C. The following steps may be used to change the pitch of the C note to D in speedy entry with the MIDI keyboard:
Using these steps it is possible to change a chord to a single note, a single note to a chord, or a chord to a chord. More generally, the procedure can change an initial set of m pitches:
{pi1, pi2, ..., pim}
to a final set of n pitches
{pf1, pf2, ..., pfn}
where the pitches have been numbered from lowest frequency to highest.
This feature could be implemented by attaching to the final set of pitches any notehead-attached smart shapes that were attached to the initial set of pitches. Suppose that for some number a, there is a notehead-attached smart shape that is attached to the initial pitch pia. The notehead-attached smart shape can be attached to a final pitch using to the following rules:
Case 1: m = n
In this case, the final set of pitches contains the same number of pitches as the initial set. The smart shape that was attached to pia could become attached to the pitch pfa in the set of final pitches. For example, if a two-note chord is changed to a different two-note chord and there were a glissando attached to the lowest note of the initial chord, the glissando would be attached to the lowest note of the final chord.
Case 2: m > n
In this case, there are fewer pitches in the final set then in the initial set. The smart shape that was attached to pia could become attached to the pitch pfb in the set of final pitches where b is given by:
b = ceil( (a / ceil(m/n)) )
where the function ceil(x) is the smallest integer that is greater than or equal to x. For example, if a ten-note chord is changed to a three-note chord and three glissandos were attached to the lowest, fifth note from the bottom, and highest notes of the initial chord, these three glissandos would be attached to the lowest, middle, and highest notes of the final chord, respectively.
Case 3: m < n
In this case, there are more pitches in the final set then in the initial set. The smart shape that was attached to pia could become attached to the pitch pfb in the set of final pitches where b is given by:
b = 1, for a = 1
b = n, for a = m
b = ((a-1) * floor(n/m)) + floor( (floor(n/m)+1)/2 ), otherwise.
where the function floor(x) is the largest integer that is less than or equal to x. For example, if a three-note chord is changed to a ten-note chord and three glissandos were attached to the lowest, middle and highest notes of the initial chord, these three glissandos would be attached to the lowest, fifth note from the bottom, and highest notes of the final chord, respectively.
Created: March 18, 2000 (based on a submission from Robert Puff)
Last Updated: March 18, 2000
Version: Finale 2000b