-
Notifications
You must be signed in to change notification settings - Fork 19
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
<directions> (global). Explicitly encode location: left or right? #251
Comments
Don't we already have a "measure location" data type for this, where 0 = at or just after the left barline and 1 = at or just before the right barline? |
Thanks Christina. My point is not about what data type to use or what values to place, but about the convenience of this separation and if convenient, the need to mandate it. It is true that there is a measure locator data type but Also, the specification does not mention that this separation is required. In the MNX examples, e.g. this one https://w3c.github.io/mnx/docs/mnx-reference/examples/jumps-dal-segno/ , the By the way, to my knowledge value 0 is start of measure but value for end of measure depends on the time signature, so value 1 would be the end of measure only for 4/4 time signature. |
Is this issue more general: how can style attributes be attached to music content, and how/when is this information applied? The directions/left/right issue is just one case among many, isn't it? |
@joeberkovitz No, my question was specific. I have started an implementation to get better knowledge about the different proposals (I'm not good at very abstract reasoning) and I found this problem: at which location should I place a direction coming from a measure global? Probably for some directions, deciding if it should go at start or at end is trivial. But I'm not sure if this is going to be the case for all directions. That's why I open this issue. I don't see its relation with attachment of style attributes, to me location has nothing to do with styles or layout. So, perhaps it would be better to open another issue for attachment of style attributes if needed. |
If we go this route, I'd recommend the terminology "start" and "end," or "measure-start" and "measure-end," instead of "left" and "right," to provide more flexibility in sheet music for right-to-left languages. |
I'm in doubt myself here... |
Thanks for the comments. But before entering into the details it would be nice if we solve the main question: Do you think it is necessary to classify directions in global measures into two sets, those that are associated to the start of the measure and other one for those associated to the end of the measure? Or is it simple enough for a consumer application to deduce the location and this is not needed? If you are in favor of an explicit indication this can be achieved in different ways. Let's discuss it once the previous question is solved. Just an example of two simple possible options:
|
This question was already addressed in the Draft MNX Specification here. Each child direction has its own mandatory I think it's unfortunate that this information seems to have been discarded in the migration to 1.0, and if there is a reason why then it would be good to understand. Furthermore I do not think it makes sense to attach a |
@joeberkovitz Thank you very much for all this information. I agree that I'm having serious problems with the specification because I don't know which of the two papers, the one you pointed (the specification in old format, more complete) or the new paper (the MNX 1.0 draft specification in new format) is the valid one. There are important differences between them, for instance, this one of I agree that if would be nice to know which information has been discarded and the reasons for it. And better, it should be clearly marked one of these two specifications as "Obsolete" or, if both are valid, it is urgent keep them synchronized. Current situation is not good as it is impossible to know with certainty what to discuss and improve. Also, in last meeting it was raised the issue of starting with tentative implementations, but without a clear draft specification this is an impossible task. |
I don't have much preference, as long as we're consistent. Every language has its own convention. In CSS, it's start/end; In Swift, it's leading/trailing; etc. If you have a preference, I'm curious what your thoughts are on why one is better than the other. |
@adrianholovaty I've added a new issue #253 to try to get clarity on the apparent missing info in the 1.0 spec. I think it will help to first figure out what is missing and migrate it into the 1.0 spec before pursuing this directions issue further. |
@adrianholovaty Acording to your post in #253 (comment), how should we deal with this issue? Is still |
With respect to the |
I looked at the newly migrating measure location data type and think that we need to make some changes.
|
@clnoel re (1), I have also seen the need for barline-relative locations, and agree that the present measure location definition needs some additional way to cover that. That is a slightly different issue than this one (which I think can be closed) and I would like to migrate that question to a new thread. Perhaps this can be thought of as a "measure-relative" location rather than a "barline-relative" location to avoid assuming that there are barlines. Also prefer "start/end" to avoid baking in a culturally specific reading order. (2) I think you're right and at the very least, an |
This issue can be closed as soon as it is confirmed that children of directions have a mandatory location attribute. And then, perhaps it would be necessary to open an issue to fix all examples using directions in global measures, to add a location attribute to them. |
In 1751e71 I've updated the spec to document the Note that this is just a subset of direction elements. For all others, I don't think a
In 58d7153 I updated the appropriate examples to use Marking this issue as closed now that this has been worked out. Please let me know if I overlooked anything. |
@adrianholovaty In elements Edited to replace fine by tempo |
@cecilios Thanks! I've fixed |
<directions>
defined in<measure> (global)
go in different locations, some at start of measure, e.g.<time signature=...>
, and others at end of measure, e.g.<jump type="dsalfine"/>
. But if all directions goes in a single<directions>
container in a<measure> (global)
this creates ambiguity about the direction location, and the location of each child must be decided by the consumer application based on child type and context.Perhaps it would be better to explicitly define the location by using an attribute. e.g.:
A default value could be defined for most common cases, e.g. "left"
The text was updated successfully, but these errors were encountered: