[MEI-L] clef as milestone element
Johannes Kepper
kepper at edirom.de
Tue May 31 08:36:33 CEST 2011
Hi Andrew,
what about solution d): add a new attribute to <staffdef> called @clef.repeat (or similar)? This could provide a rule of thumb which could then be overridden by staffdef/clef if necessary. Seems to be much simpler to me, and <staffdef> already captures defaults like this one.
Best,
Johannes
Am 31.05.2011 um 08:11 schrieb Maja Hartwig:
> Hi Andrew!
> We think you are right, that a clefchange makes no sense within this context.
> Did you already tried this solution?
>
> <measure>
> <staff>
> <layer>
> <note/>
> <sb/>
> <staffgrp>
<!-- what's the reason for the extra <staffgrp> here? As we're in <layer>already, it should be clear that only this one staff is affected -->
> <staffdef>
> <clef line="2" shape="G"/>
> </staffdef>
> </staffgrp>
> <note/>
> </layer>
> </staff>
> </measure>
>
> Nothing against crazy solutions ;-), but in our opinion, allowing <clef> within <sb> is not the best way to encode this, because <sb> applies only the layout as you said, but the <clef> should be regarded as an independent element. If the clef appears in the second measure after a systembreak e.g, you have to indicate that, too, but it has nothing to do with a <sb>.
>
> <measure n="1"/>
> <sb/>
> <measure n="2"/>
> <measure n="3">
> <staffgrp>
> <staffdef n="1" clef.line="2" clef.shape="G"/>
> </staffgrp>
> <staff n="1">
> <layer>
> <note/>
> </layer>
> </staff>
> </measure>
>
> We would prefer to keep it within <staffdef>.
>
> Best,
> Kristina and Maja
>
>
>
>
>
> Am 31.05.2011 um 01:18 schrieb Andrew Hankinson, Mr:
>
>> Hi all,
>>
>> tl;dr Should clefs be considered a milestone element?
>>
>> The <clef> element in MEI is currently only allowed within <clefchange> and <staffdef> elements. I can understand why, since <staff> is supposed to reflect musical linearity and not be affected by system breaks, which is more a physical artifact of page layout. So, a <clef> should only occur if a) it's part of the staff definition, or b) it's changing.
>>
>> *However*, an interesting question comes up when encoding clefs at the beginning of systems. Currently, the only way to encode this is to wrap a <clef> in a <clefchange>, but for most of the time, it's not actually changing; it's only a "courtesy" clef.
>>
>> So, to give an example. Suppose the following:
>>
>> <staff n="1">
>> <layer n="1">
>> <sb n="1"/>
>> <clef line="3" shape="F"/>
>> <note pname="f" oct="3"/>
>> <note pname="g" oct="3"/>
>> ...
>> <sb n="2" />
>> <clef line="3" shape="F"/>
>> <note pname="c" oct="3"/>
>> <note pname="d" oct="3"/>
>>
>> ...etc...
>>
>> This is currently invalid MEI, but I'm not really sure how to capture the clefs at the beginning of each system without a) incorporating them into a <clefchange> (semantically wrong), b) allowing <clef> directly within layer, or (really crazy) c) changing <sb> to include clef information (e.g., allow <clef> within <sb>, and/or add @clef.shape and @clef.line directly on <sb>.
>>
>> What I'd like to suggest is option b), but I'm sure there's a very good reason why I'm wrong. :)
>>
>> -Andrew
>> _______________________________________________
>> mei-l mailing list
>> mei-l at lists.uni-paderborn.de
>> https://lists.uni-paderborn.de/mailman/listinfo/mei-l
>
> _______________________________________________
> mei-l mailing list
> mei-l at lists.uni-paderborn.de
> https://lists.uni-paderborn.de/mailman/listinfo/mei-l
More information about the mei-l
mailing list