LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.81k stars 987 forks source link

[Feature Request] Have the black and grey squares in Song-Editor change based on the signature #7281

Open bratpeki opened 1 month ago

bratpeki commented 1 month ago

Enhancement Summary

Basically, the black and grey squares are always showing in 4/4 time, independent of the time signature used. Changing it would allow for easier tracking of the time signature.

Implementation Details / Mockup

The implementation should be similar to how the 4/4 time coloring schema is done. If N/D is the time signature, the color should change after N*D beats, and one bar should be N beats long.

This poses a question of how automating the signature would effect the Song-Editor UI. Regarding that, I'm open to suggestions.

Please search the issue tracker for existing feature requests before submitting your own.

bratpeki commented 1 month ago

I realized my request is quite confusing, and am discussing it with Jernemies. I'll get back to this when I have more idea of what exactly I am asking for.

michaelgregorius commented 1 month ago

I guess what you are requesting can best be described with the following image:

7281-5 4-beat

Here I have set the time signature to 5/4 and have added a note clip that contains five quarter notes. The grid in the background still shows four lines per beat instead of the expected five lines. This results in offsets between the notes and the grid.

Lack of tempo map

I think what you are asking for might also be hard to implement. If I understand correctly LMMS has no concept of a tempo map which would be needed to correctly paint the beat lines and measures.

@LMMS/developers, do I understand correctly that changes to tempo and measures are implemented with automation patterns?

If that's the case then the following attached project shows some problems with that approach: 7281 - Change measures via automation.zip

It's a project that starts with 5/4 in the first measure and then switches to 4/4. After the switch the first pattern is drawn incorrectly (which might in part be what this issue is describing. Another problem is that the view of the song editor is changing in a sudden fashion.

RoxasKH commented 1 month ago

I guess what you are requesting can best be described with the following image:

Here I have set the time signature to 5/4 and have added a note clip that contains five quarter notes. The grid in the background still shows four lines per beat instead of the expected five lines. This results in offsets between the notes and the grid.

Lack of tempo map

I think what you are asking for might also be hard to implement. If I understand correctly LMMS has no concept of a tempo map which would be needed to correctly paint the beat lines and measures.

@LMMS/developers, do I understand correctly that changes to tempo and measures are implemented with automation patterns?

If that's the case then the following attached project shows some problems with that approach: 7281 - Change measures via automation.zip

It's a project that starts with 5/4 in the first measure and then switches to 4/4. After the switch the first pattern is drawn incorrectly (which might in part be what this issue is describing. Another problem is that the view of the song editor is changing in a sudden fashion.

If it can help, pianoroll actually already update itself in a similar manner according to that info (while song editor only updates the playbar numbers). I dunno how it's implemented, but i'm guessing the same behaviour can be kind of followed.

Sudden view changes are something inevitable with automations imo, so as long as tempo changes are done that way i don't think there's a nice way around it.

https://github.com/LMMS/lmms/assets/40141826/3bc1522a-9f6c-4240-87af-9f21a5e4433f