Skip to content

Suggestion: space.duration should be a fraction rather than a `note value quantity. #400

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

Closed
rpatters1 opened this issue Feb 28, 2025 · 2 comments

Comments

@rpatters1
Copy link

rpatters1 commented Feb 28, 2025

The space object is a spacer that occupies musical time without any graphical content. It would be much more flexible if its duration were a fraction. That is, an array of exactly 2 integer objects whose first number is the numerator and the second the denominator.

This would allow a voice to space precisely to any point in the sequence. Consider the following Finale example.

Image

In this example, the quarter note triplets and the half note are all Finale v1. The two 8ths are Finale v2. The challenge is that v2 items launch from specific events (aka, notes) without participating in the triplet in v1. In this case, v2 arises—like Venus on the shell—directly from the middle quarter note triplet. To make it line up, I added a separate v2 triplet on the first of the 2 eighth notes and then hid it. Otherwise they would align as regular 8th notes that happen to launch from an odd location.

A note value quantity cannot represent 1/6 of a whole note, which is where v2 needs to start. Right now my export is converting it (with a warning) to a space of 683 4096th notes, which is the closest possible ratio to 1/6 it can represent. But a fraction would be exact. Given that there is no need to represent a space graphically, I'm not sure why we aren't using a fraction, just like we did with jumps.

I will admit this scenario may be slightly contrived. The more conventional encoding would be to start a triplet in both voices. Then the space would be a quarter (under the triplet). But that is not how Finale works, and it is not semantically what is there either. There is only a single triplet.

@mscuthbert
Copy link
Contributor

Great idea -- I'm fully on board with using a fraction object. I think that we only should be using note values ("eighth" etc.) where we need to have a visual representation.

Space objects might, however, also benefit from an optional visual representation (for displaying as a ghost note; if hidden/unhidden, etc.) but that shouldn't be the main determination of duration.

adrianholovaty added a commit that referenced this issue Apr 10, 2025
…ity.

This provides for more flexibility. Refs #400.
@adrianholovaty
Copy link
Contributor

Thanks — I've made this change in 518b874.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants