Replies: 3 comments
-
I like that, yeah! Either that or making the BPM go up to four digits so you can get smaller fractions. |
Beta Was this translation helpful? Give feedback.
-
#1530 has some points that may be useful or concerning to you. |
Beta Was this translation helpful? Give feedback.
-
Also an important thing to consider would be storing the ticksPerBar with the project itself, not in the lmmsrc file. This is because every time the ticksPerBar is changed, all of the midi clips, automation clips, etc have to be updated, since notes/nodes are stored by their tick positions. If a user set the ticksPerBar in the normal settings menu (for all projects) then when opening any other project which was composed in a different ticksPerBar, it would have to be updated on load. This is dangerous because not all transformations are reversible. Going from 192 ticksPerBar to 960 ticksPerBar is fine, since every note's position can just be multiplied by 5. But the reverse? If a user has a note at 12 ticks, 12/5 is not a whole number, so it would have to be rounded. So, I think it would be better if each project stores its own ticksPerBar value by itself. That way opening different projects would not cause any issues, and the user can change the ticksPerBar of one project without affecting any others. If a user wants to set the default ticksPerBar for all future projects, they can set it in their template file, and that should work the same. Anyhow, that's the reason I made #7865 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey!
So for a while I believe we've been thinking of making the default 192 ticks per bar changeable by the user in the settings, to allow for more flexible and precise composition without resorting to floating point
TimePos
es. Like if you want to compose with 1/5ths in 4/4, you can change it to 960 or something. Or add any other prime factors you want depending on what divisions and how much precision you need.I attempted to start doing this a while back, and I got pretty far, though some parts of LMMS appear to rely on 192 ticks per bar somehow hardcoded. It shouldn't be too hard to fix those issues(?)
Also, when changing the ticksPerBar, we would have to update all the midi clips and everything so that the notes stay in the right place. This would require more work, but we already have similar signals for time signature and sample rate changing, so I could maybe look at how those work.
Are there any thoughts/concerns by anyone about this?
Beta Was this translation helpful? Give feedback.
All reactions