Skip to content
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

Tempo control #21

Open
cifkao opened this issue Jun 30, 2021 · 3 comments
Open

Tempo control #21

cifkao opened this issue Jun 30, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@cifkao
Copy link
Owner

cifkao commented Jun 30, 2021

Add a way to control the tempo. This should be optional – possibly turned on with an attribute, maybe controls="tempo" (which might just reveal the control with CSS).

It's not clear what kind of control to use, an easy one would be <input type="number">.

The functionality itself is present in Magenta.js, we just need to call BasePlayer.setTempo(qpm) at the beginning of playback. However, this feature has some bugs apparently related to the fact that the Magenta.js player doesn't account for tempo when it sets durations:

@cifkao cifkao added the enhancement New feature or request label Jun 30, 2021
@fredgreen182
Copy link

Are there any plans to develop this enhancement?

@cifkao
Copy link
Owner Author

cifkao commented Feb 16, 2022

Personally I'm not planning to implement this, given the fact that even if I figure out the UI part, there are unfortunately the limitations that I described. Solving these limitations would require either relatively heavy changes to Magenta.js, or dropping Magenta.js and switching to a different backend. However, I'm happy to accept contributions on the UI side and I can then help implementing the interaction, keeping in mind that it would be an experimental feature due to these limitations.

@PerryRylance
Copy link

You might find midi-to-milliseconds useful

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

No branches or pull requests

3 participants