[musicxml] Suppress the 'non-controlling' attribute in measures

cecilios has just created a new issue for 
https://github.com/w3c/musicxml:

== Suppress the 'non-controlling' attribute in measures ==
Excuse my English. If something is not clear please ask me for 
clarifications.

I propose to suppress the 'non-controlling' attribute in measures. I 
think there are some conceptual problems about the 'non-controlling' 
attribute that I would like to share.

I understand that MusicXML inherits the 'non-controlling' concept from
 MuseData, probably without much questioning. I assume that in 
MuseData this attribute is just a 'trick' for dealing with 
multi-metric music.

But for a modern web standard these kind of tricks should be avoided. 

MusicXML can provide explicit information about line breaks and page 
breaks, as well as much more formatting information. Therefore, no 
need for tricks. Either export all formatting information or do not 
export it at all and leave the importer application to deal with 
formatting. In any case, MusicXML importers need to be prepared to 
deal with files with no formatting information. The 'non-controlling' 
attribute adds nothing but noise!

It can be argued that this attribute doesn't cause harm and can be of 
help. But:

1. Where is this concept clearly defined? This is the only definition 
I found (from DTD):

" The non-controlling attribute is intended for use in multimetric 
music like the Don Giovanni minuet. If set to "yes", the left barline 
in this measure does not coincide with the left barline of measures in
 other parts. The value is "no" if not specified. "

With this definition the value of this attribute can be easily 
computed just by analysing the time position of barlines! Do we need 
to explicitly encode an easily derivable value? It is good practice 
not to represent derived values, only primitive ones. Among other 
issues, inconsistencies could arise.

2. Is this attribute mandatory? No!!! Then, why any line break 
algorithm should bother about it? The layout algorithms can not rely 
on this attribute as it might not be present when needed! But on the 
contrary, it adds work for MusicXML export (unless, as it is not 
mandatory, the exporter program decides not to deal with it!). What is
 the benefit from having this attribute?

3. Its mere existence 'contaminates' any music program trying to 
export MusicXML format: if a web standard needs it, this transmits the
 idea that for music layout this is necessary information, being 
difficult to do proper layout without it. And somehow may condition 
internal music representation.

It should be expected that line-break algorithms are prepared for 
breaking lines at barlines, but also line-break algorithms should 
naturally deal with music with no barlines at all, without relaying on
 more tricks (non-visible barlines). And multi-metric music is just an
 intermediate case between both, in which breaks should be allowed 
only at barlines common to all parts.

If my interpretation is wrong and the 'non-controlling' concept is 
more than explicitly signalling easily deducible information from 
barlines alignment in time, then the concept needs clarification. 
Probably, it is a new concept: 'hints' for algorithms? This will open 
the door for demanding more 'hints': why hints for line break and not 
for other tasks?

So, if my understanding is correct and I did'nt miss anything, I would
 suggest to consider removing this attribute. Otherwise, I would 
appreciate clarifications. Thank you!

Regards,
Cecilio Salmeron


Please view or discuss this issue at 
https://github.com/w3c/musicxml/issues/115 using your GitHub account

Received on Wednesday, 13 January 2016 22:18:59 UTC