[MEI-L] clef as milestone element
Andrew Hankinson, Mr
andrew.hankinson at mail.mcgill.ca
Tue May 31 09:37:52 CEST 2011
Hi Thomas,
No, I think you got it right. The problem is that we need a minimal way of marking a system break within the flow of the music. We came up with the idea of using a @systemref on <sb /> to point to a <system> element in the separate layout tree. That's fine, and fairly unobtrusive. Parsers can ignore any <sb />s if they want to do their own layout, and thus ignore any of the information in the <layout /> tree.
The problem is that <clef> and <custos> occupy an uncomfortable middle ground between being a musical element and a purely layout element. We *could* store them on the <system/> element, and I might be able to be convinced of this, but that would seem to be placing musical structures outside of the flow of the music. I do recognize, however, that I just finished making a case that these were more layout than musical. I'm a study in opposites some days. :)
Because it helps me to visualize how this might look, you're saying:
<layout>
...
<system id="1">
<clef ... />
<custos ... />
</system>
...
</layout>
<staff>
<layer>
...
<sb systemref="1" />
....
-Andrew
(Note: Here's a plug for the latest version of the layout module on the MEI Incubator. Freshly updated! https://gershwin.music.mcgill.ca/trac/mei-incubator/browser/mei-incubator/layout)
On 2011-05-31, at 3:13 AM, TW wrote:
> Hi Andrew,
>
> do you want the clef element for rendering purposes? As far as I
> understand, for storing rendering information you're developing a
> separate layout tree anyway, so can't you record the clef (and even
> the system break) there? Then the musical data doesn't get cluttered
> with layout information. When there are different readings of
> differing length, then different layouts are required anyway. When
> generating performance material, different layouts for the score and
> each individual part are required as well (or would this be out of
> scope?).
>
> I hope I didn't totally misunderstand the issue.
>
> Thomas Weber
>
>
> 2011/5/31 Andrew Hankinson, Mr <andrew.hankinson at mail.mcgill.ca>:
>> 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