reaper-oss / sws

The SWS extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc
https://www.sws-extension.org/
MIT License
455 stars 85 forks source link

New Reaper track spacers cause issues with SWS mouse dependent features #1761

Closed musicbynumbers closed 9 months ago

musicbynumbers commented 1 year ago

Not sure if this is something Reaper devs can fix but the new track spacers mess up the vertical positioning on a few SWS things when used in conjunction with the mouse position.

Mainly things like:

-contextual toolbars (showing menu under mouse) -previewing item under mouse -SWS zoom tool (can no longer draw a box)

There's probably others and this might also affect reascripts etc too.

I've mentioned it here on the reaper pre release forum too. https://forum.cockos.com/showpost.php?p=2679292&postcount=19

nofishonfriday commented 1 year ago

Oh dear, seems SWS constantly needs to catch up on REAPER development. 🗡️ Thanks for the report.

@cfillion Haven't looked into it closely yet, but part of it may already be fixed by #1734 I guess. (probably should use native GetTrackFromPoint() too instead of GetTrackFromY()in BR_MouseUtil.cpp)

nofishonfriday commented 1 year ago

@musicbynumbers

-SWS zoom tool (can no longer draw a box)

Can't confirm here. Ok, the zoom box is offset (due to the spacers, needs recalculation), but I can still draw the zoom boxes with some spacers inserted on initial testing. (R6.79+dev0522, SWS 2.13.2.0 pre, Win10) Do you see different behaviour? If so, can upload an example project?

spacers

musicbynumbers commented 1 year ago

Hi @nofishonfriday - I'll try and do a test project later but the zoom issue was actually trying to zoom into a lower set of items on say track 100 (big project) whilst also having groups of tracks above this that had track spacers roughly 10 tracks apart.

This seemed to cause the zoom of a few tracks/items at around the 100th track area to be off due to say about 10 spacers worth of spacers being spread out in the 100 or so tracks above them.

I removed the spacers from the project I noticed it in so will try to recreate.

musicbynumbers commented 1 year ago

@nofishonfriday - Try this reaper project. I've put some midi items right at the bottom. If I try to zoom into one of them (on a single track). For me, it will zoom vertically to 2 or 3 tracks and you should be able to see that the zoom area box whilst drawing the zoom area is off too. Let me know if it doesn't work and maybe it's worth me sending settings over etc :)

SWS zoom test.zip

musicbynumbers commented 1 year ago

Hi @nofishonfriday - just checking in that you saw the project I uploaded here and if you were able to reproduce it?

No rush, it was just in case you didn't see it in the first place. :)

nofishonfriday commented 1 year ago

@musicbynumbers Saw it, thanks, but didn't get around having a look yet. (Just to note: SWS dev is slow at times, as currently we're only 2 active (spare time) contributers, cfillion and me...)

musicbynumbers commented 1 year ago

@nofishonfriday - that's fine and totally not expecting anything soon (or at all) and appreciate what you guys do for sure! It was more that I forgot to "at" you and didn't know if that still sends you a message or not just by replying, so wasn't sure if you had seen it. all good! :)

jeremybernstein commented 1 year ago

workin' on it!

musicbynumbers commented 1 year ago

workin' on it!

Awesome! Thanks! Happy to test when ready etc :)

highvoltaged commented 1 year ago

Oh, i opened an issue for this. I will delete it. I'll just add it here, it might help.

The two scripts: SWS/wol: Adjust envelope or track height under mouse cursor (MIDI CC relative/mousewheel) Adjust envelope or track height under mouse cursor, zoom center to mouse cursor (MIDI CC relative/mousewheel)

are not working properly, if there is visual spacers above the mouse cursor. Seems like the targeted track is is shifted by the size of the spacers above the actual mouse cursor.

How to recreate:

Create a lot of tracks. (15-20) Create at least 3 visual spacers under the first few tracks Try to use the mouse commands on a track below the spacers. A track below the cursor will get zoomed, the more spacers, the more it gets shifted

ferro4prez commented 1 year ago

Can confirm the BR_PositionAtMouseCursor return value is shifted downward by the existence of Track Spacers in the project.

jeremybernstein commented 1 year ago

See above, workin' on it! I'm on vacation for a few days, I'll try to get this merged when I get back at the end of this week.

highvoltaged commented 9 months ago

EDIT: I needed to update to latest beta SWS.

Seems to be working! Thanks