[fomus-devel] ongoing improvements....
David Psenicka
dpsenick at uiuc.edu
Mon Apr 17 16:51:51 UTC 2006
Mika Kuuskankare wrote:
>
> On 11.4.2006, at 21.12, David Psenicka wrote:
>
>> I found a few large numbers in some of the slur/text spanner marks
>> (they look more like addresses or indexes)--I'm not sure if that's
>> what you want in there. Originally fomus was supposed to accept any
>> "level" numbers and sort it all out (so the numbers that go into
>> these marks could actually be treated like IDs for each mark), but I
>> think that creates problems and confusion--
>
>
> I actually thought these *were* IDs, which I considered to be a good
> idea. I use a similar idea in ENP and when converting to FOMUS I
> simply used the (unique) address of the slur instances (in my
> program), for example, to distinguish between different simultaneous
> slurs. I, for one, think that this id approach should fit the spirit
> of your program rather nicely. After all, FOMUS seems to sort out
> much more difficult things for the user (such as voice distribution)
> as it is. I guess the main idea is to distinguish between
> "instances". BTW, I tried the v0.1.65 and got no errors but instead
> different results with my bignums and the "small" numbers.
>
>> so now I've changed it so slurs (and any other spanner mark that
>> gets a "level" number) should only use one of several unique numbers
>> (such as 1 & 2 for two levels of slurs). Within each "level" fomus
>> tries to complete missing start and end marks and other problems it
>> finds, so I think this will be less confusing.
>
>
> Does the "level" then (being "1" or "2", etc) affect the output of
> the backend, i.e., does it make a given slur with some "level" number
> to be above another with a smaller "level" number? Does this mean
> that you have to start with "1" and do some book keeping on your own?
>
Actually, I'll have fomus accommodate both approaches (so the user can
treat the numbers as either levels or ids)--it almost works this way
now... So if you use the numbers like IDs you'll have to supply all
:starts and :ends for every slur but if you only use "1" and "2" you can
be lazy and omit the :starts or :ends within each "level". In all cases
when there are overlapping slurs, the lower numbered slurs or marks will
end up being closest to the staff. I think I've rewritten this
algorithm more than any other in the program (I've gone through several
slightly different ways of handling this), though this seems like the
right way to do it now--so once I implement these changes I think it
will finally be set.
> BTW, have you ever considered :div being an attribute to voice
> instead of part? For example, in case of 5/8, where the first voice
> is beamed 3 + 2 and the second voice is beamed 2 + 3?
>
Actually, this might already be possible :) ... If you create two
timesig objects that are identical but with different :div slot values
and assign these to the appropriate parts, fomus should give you
different groupings in different parts. I have to test this--I've been
saving this feature (multiple simultaneous timesigs) to finish later but
as long as polymeters aren't involved it should work.
-David
More information about the Fomus-devel
mailing list