-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Spec] Specify if there should be a trailing end-of-phrase line #44
Comments
Im not at a computer but i think the end of file |
I agree that this should be specified - I would vote against a trailing |
So in conclusion (and correct me if i'm wrong) : |
I‘m also not a big fan of the trailing line-breaks or the trailing I definitively agree that there should not be a trailing line-break. But I also think that the existence of a trailing line-break should not cause programs to reject a file. Maybe the spec could allow trailing line breaks syntactically but define them as semantically irrelevant and recommend not to use them? As for the trailing |
The current phrasing of the spec includes an optional Lines 86 to 88 in 23bf930
The current phrasing also allows for end-of-phrase markers (I use this term instead of line breaks to differentiate them from newlines within the file) to appear anywhere within the body of a song. Lines 722 to 725 in 23bf930
By this spec it is syntactically valid to have end-of -phrase markers anywhere (even before the first note, after the last note or multiple times in a row). The spec includes this addition which discourages the use of leading or trailing end-of-phrase markers: Lines 841 to 842 in 23bf930
Does this capture the consensus of this issue? I'm not quite sure how we can best vote on this. Maybe we split this into two votes? |
Yes this a good description of the problems in this issue. Let's vote about this like:
|
I would consider the final E the final end-of-phrase marker, thus it is discouraged to have an end-of-phrase marker after the last line. |
I'm personally strongly in favor of allowing end-of-phrase markers anywhere within the file. I can understand the desire to restrict the format in a more consistent way but I think this is better achieved via a recommendation that repeated end-of-phrase markers SHOULD NOT be used. I'm thinking of two analogies that behave similarly:
I also think that allowing repeated end-of-phrase markers can simplify (compliant) implementations. Implementations would have to check for empty phrases in both cases: Either to filter them out or to raise an error because the file is invalid. Simply filtering out empty phrases as opposed to rejecting a file seems the more desirable behavior to me. |
This comment was marked as resolved.
This comment was marked as resolved.
I don't see why karaoke programs would be forced to reject incompliant input. By definition, this should not be a concern of this spec. Using set notation: So in this case, repeated markers should be forbidden, such that editors may not produce ambiguous output. However, karaoke programs may still accept invalid input and fix it up, regardless of the spec.
I'm not aware of any examplaes where UB is an intentional design choice, except to allow for more efficient implementations (like in C) or for legacy support (like in Javascript). In other words, unless there's a very specific reason for it, I would always consider UB a design flaw. |
Final Result: Trailling end-of-phrase lineDear all, we have a final result for this issue. Thanks for discussion. @codello would you be so kind and write the result down in spec.md?
|
Suggestion
Specify in the Ultrastar format specification whether there must/may/must not be an end-of-phrase (-) line at the end of a song, right before the end-of-file (E) line or at the end of each player's notes in a duet song.
Use case
The Ultrastar format specification does not specify whether a trailing end-of-phrase line is allowed. Currently there are tools in the Ultrastar ecosystem that produce trailing end-of-phrases and others that fail to read them.
Examples:
Extra info/examples/attachments
No response
The text was updated successfully, but these errors were encountered: