helge17 / tuxguitar

Improve TuxGuitar and provide builds
Other
492 stars 42 forks source link

Bug: changing time signature of empty measure will shift whole song #464

Closed ElektroVirus closed 4 months ago

ElektroVirus commented 4 months ago

thanks for this amazing project. I want to report a bug regarding measurement time signature change.

I want to insert a 1/4 bar in between a song, which has mostly 4/4 bars. I want the bar to contain a pause, but it doesn't matter. The way I'd do it, is by adding an empty bar (it will default to 4/4) and then set it to be 1/4. This however does not work: the whole song after the new bar will be shifted by 3/4 so the pause I want, is still 4/4. It's easier to explain with screenshots.

1

Put cursor into bar 10, select Measure -> Add Measure Add count: 1 Add after the current position 2

Select the new measure, 11 Select Composition -> Time Signature Numerator 1 Denominator 4 Don't apply this time signature to the end

3

Now the bar which was originally 11, is split into bars 12 and 13. I wanted to add a bar with time signature 1/4, but the structure of the rest of the song was changed.

This can be evaded by adding two measures, changing the first measures time signature to 1/4 and the second ones to 7/4 (image 4), after which the second one can be deleted. Now the bar which was originally number 11, is complete and located at bar number 12 (image 5).

4 5

TuxGuitar version 1.6.4, (commit 2d8516b4b65e563c235e8d357c99654d1f219f82) Fedora Linux 40

guiv42 commented 4 months ago

Hi this behavior is somehow logical: there is no reason to delete beats/notes when changing time signature. In fact, when you convert your empty 4:4 measure into 1:4, it does not shift any note, it only shifts measure bars. I would not say that "the structure of the rest of the song was changed": playing the song before and after setting time signature to 1:4 produces exactly the same sound. See your 2nd and 3rd screenshots: from musical standpoint they are equivalent. I think the easiest way to insert one 1:4 measure is to insert one rest beat with duration of a quarter first (by right-shifting notes), then to convert this one rest into one 1:4 measure. See video

https://github.com/user-attachments/assets/b5669ebb-b58f-4691-8834-4f7fd24a9bc6

In your case, with 16th, repeat "Beat/Move one beat right" as many times as needed to reach the expected rest duration (quarter)

ElektroVirus commented 4 months ago

Thank quiv42 you for your quick reply and explanation. Yes, I'd also say that you are correct, from musical point of view the song actually does not change. And good to know there is an easier way :)

guiv42 commented 4 months ago

In fact there's also another way, more efficient for a multi-track song (quite close to your workaround in fact)

https://github.com/user-attachments/assets/fff3210f-7fb6-4997-aa14-dfbeb9a7fb5b

Can this issue be closed? (no plan to change anything on my side)

ElektroVirus commented 4 months ago

Oh, nice to know.

Yes the issue may be closed. The workflow for this case is not the most intuitive for newcomers, but it is not a bug anymore. I'm also pretty sure much more important work exists in TuxGuitar than simplifying this :smile: