-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Note length is calculated before tempo automation #4928
Comments
Reproduced.
Pretty much, but, as always, there's a little more to it than that. LMMS is supposed to change the length of notes to match tempo changes. You'll notice that if you place the note a tick before (or after) the tempo change, it behaves properly. The problem appears to be as follows:
TL;DR: The note has the wrong length because neither the original size calculation nor the tempo resizing give the note the correct length. The original size calculation only works for notes after the tempo change, and the tempo resizing only works for notes before it. How to fix: the connection from @douglasdgi Can you try making the following change and see if it fixes the bug? In connect( &m_tempoModel, SIGNAL( dataChanged() ),
this, SLOT( setTempo() ) );
connect( &m_tempoModel, SIGNAL( dataUnchanged() ),
this, SLOT( setTempo() ) ); to connect( &m_tempoModel, SIGNAL( dataChanged() ),
this, SLOT( setTempo() ), Qt::DirectConnection );
connect( &m_tempoModel, SIGNAL( dataUnchanged() ),
this, SLOT( setTempo() ), Qt::DirectConnection ); |
@DomClark It looks like it worked perfectly, though I am getting constant complaints in the terminal when running LMMS: |
@DomClark Ignore the last post, I replaced the wrong part (because I modified Song.cpp earlier). I'll try it on a fresh copy of LMMS. |
Nevermind my neverminding of that post (someday I'll grow a brain), I tried it on a fresh copy of LMMS RC8 and the terminal gave me the same complaints. But it does appear to function just fine. |
Glad to hear that it works; I'll make a PR soon. The warning is from further connections downstream which are now queued instead of the initial |
Please let me know if this is a duplicate.
Steps to reproduce:
This is most likely because the note's length is calculated at 100 BPM, and then the project's tempo switches to 200 BPM. This is frustrating, because whenever you want a sudden tempo change you have to go into 1/192 and change it right before the measure switches (and may also throw things off slightly when somebody wants to remix your song and you send them the project stems).
The text was updated successfully, but these errors were encountered: