Skip to content

Conversation

@Bentroen
Copy link
Member

  • Auto-saving will now wait until you pause the song to prevent stuttering.
  • Fixed notes in the first tick of a song not playing when selected.
  • Fixed C8 key on piano not being playable through keyboard shortcuts.
  • Fixed a crash when scrolling down to layer 200.
  • Fixed scrollbar in the note block area getting outside the screen in some window sizes.
  • Fixed compatibility indicator being incorrect in some circumstances.

This causes a lag spike which disrupts a smooth song playback.
The calculation for the amount of columns wasn't taking into consideration the width of the scrollbar, which, in specific window resolutions, would cause it to be rendered too far to the right - thus making it inaccessible.

To prevent this, I'm now subtracting half of the width of the scrollbar (8). Subtracting the full width (16) would cause too much useful space to be wasted just so the scrollbar is fully rendered (a full column could be drawn in the space it occupies). Subtracting *half* of the width, half of the width is as hidden as it can get.
Fixes #47

CAUSE:
To know when to play a column, the program checks when floor(marker_prevpos) != floor(marker_pos) (these variables correspond to the position of the marker in the previous frame and in the current frame, respectively). When the marker is at the absolute beginning of the song, its position is 0. Making its way to tick 1 of the song (second column), it will increase to one and that condition will only be met on the second tick, where pos and prevpos will be, for example, 1 and 0.9 [floor(1) != floor(0.9)]. That will never be true for the first tick of the song, since floor(<1) = 0, and, as such, it's never played.

SOLUTION:
An explicit check for the marker being in the beginning of the song AND marker_pos and prevpos being different (meaning you just started playing the song or dragged the marker) was added to the condition. This is not ideal, as it adds another check every tick in the song for something that only happens at the beginning. Ideally, there should be an overhaul in the program to set the marker position to -1 (or something like that) when the marker is at the beginning of the song.
Prevents the program from crashing when reaching layer 200 due to running out of free text boxes. Fixes #92.
It will still crash on layer ~10,000, so a proper fix must still be applied (for example, preventing the user from scrolling at all beyond the 10,000th layer).
Added a box around changelog content and resized the scrollbar to span the whole height
Was previously displaying 1.11+, which incorrectly indicated that any version after 1.11 is compatible. Currently, 1.13+ is not supported.
@Bentroen Bentroen merged commit f0babe6 into master Feb 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants