MakeMusic
SmartMusic Finale Garritan MusicXML

Overlapping Groups

Moderator: Michael Good

Overlapping Groups

Postby Matthew.James.Briggs » Sun Sep 11, 2016 2:27 pm

I understand the concept of nested part groups like this

Code: Select all
<part-group number="1" type="start"/>
...parts...
<part-group number="2" type="start"/>
...parts...
<part-group number="2" type="stop"/>
...parts...
<part-group number="1" type="stop"/>


But nothing in the spec seems to stop us from doing "overlapping" groups like this

Code: Select all
<part-group number="1" type="start"/>
...parts...
<part-group number="2" type="start"/>
...parts...
<part-group number="1" type="stop"/>
...parts...
<part-group number="2" type="stop"/>


Is the "overlapping" example considered a valid MusicXML use case? I see that Finale does support this, so is this considered valid in MusicXML? Are there scores out there that require this?

The result of this is that, in considering a music notation data model, it seems that part groups really are a totally separate declarative entity rather than a container of parts. Does everyone seem to agree on this?
Attachments
Groups.jpg
Groups.jpg (186.23 KB) Viewed 1409 times
“Now that things are so simple, there's so much to do.” - Morton Feldman
http://matthewjamesbriggs.com
User avatar
Matthew.James.Briggs
 
Posts: 23
Joined: May, 2014
Location: Seattle, WA, USA
Reputation: 0
Software Owned:
Max OS X, Finale, Logic Pro, XCode, Xmplify, Sublime Text

Re: Overlapping Groups

Postby Matthew.James.Briggs » Sun Sep 11, 2016 2:36 pm

p.s. I'm concerned about the fact that the 'number' attribute is optional and described with "The number attribute is used to distinguish overlapping and nested part-groups, not the sequence of groups."

I guess 'group-id' would have been a better name for this attribute (in retrospect) and that it's use should be mandatory and that, ideally some manner of enforcing a start/stop pair with the same ID would have been ideal.

Also, it seems the quoted documentation answers my question. Yes, overlapping parts are supported. The main trick is that the implementation cannot rely on the number field being present and must handle malformed start/stop pairs somehow.
“Now that things are so simple, there's so much to do.” - Morton Feldman
http://matthewjamesbriggs.com
User avatar
Matthew.James.Briggs
 
Posts: 23
Joined: May, 2014
Location: Seattle, WA, USA
Reputation: 0
Software Owned:
Max OS X, Finale, Logic Pro, XCode, Xmplify, Sublime Text

Who is online

Users browsing this forum: No registered users and 2 guests

cron