Dirk Laurie <[EMAIL PROTECTED]> wrote
>The following constructions look intuitive but are not valid PMX at
>this stage:
>
>c4x3 r d
>( one of the three notes is a rest )
>
>c4x3 d.e
>( one of the three notes is dotted and another short )
>...
>Can one override the selection of \NOTes ... \en etc made by PMX?
Only by trickery, such as inline TeX. But WARNING: If you change
either the total scalable or unscalable horizontal spacing in a line
by using in-line TeX, PMX will be unaware of it, and this may cause
erroneous horizontal adjustments for accidental spacings, etc. The
consequences are far more subtle than in MusiXTeX itself where similar
violations lead to ugly solid black vertical lines. And they can be
corrected after the fact using "X.."
>Suggestion:
>
>A possible syntax for handling constructions like these could be:
>
>t8x3/2 c8 r d t8x3/2 c8 d.e t8x3/2 c4 d8
>
>where the third is a 2+1 triplet. The word t[n1]x[n2]/[n3] stands
>for "tuplet of n1-th notes with n2 in the time of n3"
I've thought a lot about such extensions of xtuplet constructions, and
even sat down and started pragramming a few times, but could never see
it through. The difficulties are in setting the horizontal spacing
and in constructing the beams, no-beams, or combinations. It was
complicated enough as it now stands, where xtups can only contain
equal notes (no rests, no unequal timings). Remember, the xtup may or
may not set the horizontal spacing for itself and other staves. To
help sort this out, I always start a new notes group at the beginning
of every xtup, and end one at the end. These may or may not be the
same notes group, depending on whether timing has changed in other
staves. And when xtups overlap notes in other systems, either at the
start or finish of the xtup, simply doing the necessary comparisons to
determine which staff sets the spacing becomes very complicated. In
fact there are still some nominally legal cases that are not handled
correctly. Once the horizontal spacing is figured out, xtups are
always handled internally as forced beams...even ones with no visible
beams. The full generalization would require handling e.g. a quarter
+ 2 sixteenth triplets, not only changing the horizontal spacing but
also switching from no-beam to beam in mid-xtup. Ugh.
To be realistic, I may work on including equal-value rests in xtups
sometime soon, but it may be quite a while before I get to the other
options.