New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Glitch in "SWS/S&M: Move selected FX up/down in chain for selected tracks" when FX chains are open #1791
Comments
I cannot reproduce this on MacOS. |
Yeah, should have mentioned that it's Windows, v7 |
I'll take a look when I have the time. |
I think the reason, as far as i've been able to figure out, is that in non-focused FX chain window LASTSEL value in the chunk isn't updated even though visually selection seems to follow the FX instance. Looking at the track chunk after applying the action to a non-focused FX chain window (as depicted in the animation below) i always found the last FX index to be associated with LASTSEL token, because it had been selected initially, and LASTSEL value never got actually updated. This is what causes the FX to get stuck in an alternating cycle rather than move. I can't read C++ code very much but to me it seems that these SWS actions rely on a function which uses chunk to move FX in the chain (SNM_MoveOrRemoveTrackFX) rather than on the dedicated API function TrackFX_CopyToTrack and that's where the problem lies i think. Because of this in some scenarios these SWS actions cannot be used in a custom action to move FX with the mousewheel if SWS/BR: Focus arrange action is involved meant to keep FX chain window out of focus. A custom action such as this: Custom: Move track FX up/down with mousewheel Here's comparison of custom actions. one based on these SWS actions (showcased first) and another based on my scripts which move take FX and don't rely on the chunk. As can be seen, mine work without a hitch with non-focused FX chain window. |
Line 671 in a8a254c
|
Also just noticed in the first animation from my previous post: when FX 5 (4-Tap Phaser) is moved up, the UI which ends up being open after the movement belongs to FX 4 (4-Band EQ) that takes 4-Tap Phaser's place at position 5 which indicates that this is what is actually selected. |
I replicated cfillion's test and still could replicate the issue. FX 1 and 2 keep alternating with none being able to move further down. In the animation after the custom action is executed the 2nd FX is highlighted in grey as if it were selected but the open UI belongs to the 1st FX which is what actually is selected and which isn't supposed to be. So the problem seems to affect Windows, version 7 at least. |
Looks like it's a REAPER bug.
|
Small behavior change: the SWS API function of the same name now creates an undo point on its own if not called within an undo block. Fixes reaper-oss#1791
Thank you, works in the latest build. |
After the first run the index of the selected FX seems to only be updated for the focused FX chain (belonging to the selected track with the greatest index), whereas for the rest the change in the index of the selected FX isn't registered, meaning that if the 1st FX was originally selected, after it has been moved to the 2nd position the 1st FX continues to be treated as selected which of course breaks the sequence.
In the animation the down movement action is used.
The text was updated successfully, but these errors were encountered: