You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm wondering if we should create a similar class like ContinuationTie that models ties at the start of 2nd endings and the like. Not for this PR but something to think about.
changed the title [-]I'm wondering if we should create a similar class like `ContinuationTie` that models ties at the start of 2nd endings and the like. Not for this PR but something to think about.[/-][+]support continuation tie in api[/+]on Jul 2, 2026
@rpatters1, see if you agree with the coding agent's take on this in #328. It quoted the spec to us 😅
Per the MusicXML spec (core::TiedType's doc comment): "For other ties that are visually attached
to a single note, such as a tie leading into or out of a repeated section or coda, use two tied
elements on the same note, one start and one stop."
The main thing is, we have to suppress the <tie> tag for continuation ties. That is, there is neither a tie start nor a tie stop on a continuation tie. (The playback element.) Then the <notations> has to be encoded with the tied elements in order start, stop. And if the tie continues beyond that, another <start> along with a <tie type="start">.
We need to be sure the MX writer is getting those details correct. Continuation ties do not participate in isTieStart or isTieStop.
ChatGPT is claiming there's a continue type for tied. I don't think that is applicable here. We'd need a more authoritative source.
Just to be clear, here is what I mean by continuation tie:
According the docs, the continue value for tied is more for system breaks. But it might be applicable here. This is where we need an example. I will see if I can make one.
We got an answer from the main musicxml guy, and none of what I said above is right. Basically, to support continuation ties the client needs
access to the number attribute of tied
the ability to control exactly what gets emitted in the <notations> array of <tied>.
I don't think the API can do it for us, because it requires too much knowledge of which ending is going where. Honestly, at this point it is very low priority for me, because the current Finale export doesn't export them either. And I'm not sure how much importer support there is on the other side.
And even then, I am still not sure if this correct. I would be amazed if there are any importers that do this. I might want to come back to this after everything else in my exporter is working. But probably not before then.
I've updated my answer based on a better reading of the MusicXML docs at w3c-cg/musicxml#666 (comment). In a nutshell:
Ties that are visually attached to only one note, other than undamped ties, should be specified with two <tied> elements on the same note, first type=“start” then type=“stop”. This can be used to represent ties into or out of repeated sections or codas.
I've updated my answer based on a better reading of the MusicXML docs at w3c-cg/musicxml#666 (comment). In a nutshell:
Ties that are visually attached to only one note, other than undamped ties, should be specified with two <tied> elements on the same note, first type=“start” then type=“stop”. This can be used to represent ties into or out of repeated sections or codas.
Thank you @infojunkie for visiting us over here and pointing to the discussion. It seems pretty complicated!
Activity
[-]I'm wondering if we should create a similar class like `ContinuationTie` that models ties at the start of 2nd endings and the like. Not for this PR but something to think about.[/-][+]support continuation tie in api[/+]webern commentedon Jul 7, 2026
@rpatters1, see if you agree with the coding agent's take on this in #328. It quoted the spec to us 😅
And confirmed that our bools do this for us...
docs: confirm isTieStart+isTieStop already model the continuation tie
rpatters1 commentedon Jul 7, 2026
The main thing is, we have to suppress the
<tie>tag for continuation ties. That is, there is neither a tie start nor a tie stop on a continuation tie. (The playback element.) Then the<notations>has to be encoded with thetiedelements in orderstart,stop. And if the tie continues beyond that, another<start>along with a<tie type="start">.We need to be sure the MX writer is getting those details correct. Continuation ties do not participate in
isTieStartorisTieStop.ChatGPT is claiming there's a
continuetype fortied. I don't think that is applicable here. We'd need a more authoritative source.rpatters1 commentedon Jul 7, 2026
Here are examples, as best as I can tell.
Start
Stop
Continuation
Continuation + tie to next note
or possibly
This is far enough into the weeds that I am not sure how to do the combo. I wonder if there is an example somewhere. Maybe Cuthbert's examples.
rpatters1 commentedon Jul 7, 2026
Just to be clear, here is what I mean by continuation tie:
According the docs, the
continuevalue fortiedis more for system breaks. But it might be applicable here. This is where we need an example. I will see if I can make one.rpatters1 commentedon Jul 7, 2026
I have posted a question here to the musicxml repo. I'd say let's mothball this until/unless we get a definitive answer.
rpatters1 commentedon Jul 8, 2026
We got an answer from the main musicxml guy, and none of what I said above is right. Basically, to support continuation ties the client needs
numberattribute oftied<notations>array of<tied>.I don't think the API can do it for us, because it requires too much knowledge of which ending is going where. Honestly, at this point it is very low priority for me, because the current Finale export doesn't export them either. And I'm not sure how much importer support there is on the other side.
webern commentedon Jul 8, 2026
I tend to agree. It sounds like the kind of thing the api is meant to suppress:
rpatters1 commentedon Jul 8, 2026
Based on my reading of @infojunkie's answer in the musicxml repo, the correct way to to encode this example:
Would be in bar 2:
and in bar 4
And even then, I am still not sure if this correct. I would be amazed if there are any importers that do this. I might want to come back to this after everything else in my exporter is working. But probably not before then.
docs: confirm isTieStart+isTieStop already model the continuation tie
infojunkie commentedon Jul 11, 2026
I've updated my answer based on a better reading of the MusicXML docs at w3c-cg/musicxml#666 (comment). In a nutshell:
webern commentedon Jul 22, 2026
Thank you @infojunkie for visiting us over here and pointing to the discussion. It seems pretty complicated!