jtackaberry / reaticulate

An articulation management system for REAPER
Other
101 stars 46 forks source link

BUG REPORT [5.0pre3] - GUI cuts some articulation lists off towards the bottom #155

Closed seventh-sam closed 2 years ago

seventh-sam commented 2 years ago

@jtackaberry

One of two bugs I found testing 5.0pre3. Will post the other shortly.

EDIT: Running REAPER v6.45, Windows 10 (Up to date)

Some articulation lists showed up in the GUI with an arbitrary part of the list cut off towards the bottom (see included screenshots).

I tested the following:

image image image

Let me know if there's anything else you need from me regarding this.

jtackaberry commented 2 years ago

Hm, this is a concerning one. I've not run into anything like this on my end. A few questions:

  1. What's the resolution of your Reaper window?
  2. What is your system UI scaling percentage set to in Windows?
  3. Does the window scroll with the mouse wheel to bring the clipped articulation into view?
  4. Does it go away if you resize the Reaper window smaller?
  5. Does this reproduce if you undock Reaticulate? At all undocked window sizes?
  6. Is it the same articulation relative to the end of the bank that's getting clipped? Like is it always the last one, second last, etc.
  7. If you add a second bank to the track does it change the clip position?

Thanks!

seventh-sam commented 2 years ago

@jtackaberry

Okay, I've dug into this and narrowed down the culprit (which can hopefully lead to the solution!).

I was wrong before. I went through all your questions with a fine tooth comb, tested all of those factors in combination with each other, and found the only factor that causes this glitch seems to be the presence of //! spacer="" in the bank. Any bank that had no spacers in it worked as it should. I tested this with about two dozen of my own banks (with spacers in them) as well as test banks made post-installation of 5.0pre3 just to be sure, so I'm reasonably confident that something about how the spacers work is what's causing the glitch.

Furthermore:

(Note: I tested the following behaviors with many banks both new and old, but I've only included screen captures of one for brevity's sake. In other words, I'm able to reproduce the following regardless of monitor, resolution, date of bank creation, etc.)

Behavior if the bank has the "wrong" amount of spacers:

singlebank_glitchedspacers

Behavior if the bank has the "right" amount of spacers:

singlebank_rightspacers

If multiple banks are loaded, and the glitched one is first:

One column: image

Two columns: image

Three columns: image

The above behaviors remain true regardless of docking or zoom size

If multiple banks are loaded, and the glitched one is second:

image


I can't help but notice that the locations on the GUI where the banks glitch out just so happen to coincide with where the banks overlap if multiple banks are loaded up. If I had to guess, it looks to me like the script isn't properly factoring spacers into the proportions and subsequent drawing of the bank's bottom boundaries in the GUI. Think this is the culprit?

I hope all that helps! Let me know if you need any clarification or further testing and I'd be more than happy to help.

jtackaberry commented 2 years ago

Wow, this is some brilliant sleuthing Sam. I wish all my bug reports looked like this. :)

Thanks to your excellent detail and inferences, I've been able to quickly reproduce the problem. It's specifically related to the "flow box" widget I wrote for rtk to do the adaptive multi-column layout and it's almost certainly a stupid oversight where I forgot to account for the top-padding (which is all the spacer is) in one of the calculations.

I had all kinds of fears that the issue was lower level than that but I'm now pretty sure it's an easy fix.

Thanks!

jtackaberry commented 2 years ago

Fixed in 0.5.0-pre4 which I just released. Feel free to reopen if I didn't quite fix it. :)