xLightsSequencer / xLights

xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
GNU General Public License v3.0
549 stars 208 forks source link

v2024.14 Virtual Matrix not rendering properly with simultaneous Picture effect and group effect #4717

Closed continja closed 1 month ago

continja commented 1 month ago

Describe the bug In ver 2024.14.1, adding an image to a virtual matrix that is part of a group with the Shockwave effect applied reduces the size of the virtual matrix and cuts off the group effect. Works fine in ver 2024.12.1 and 2024.13.1.

To Reproduce Steps to reproduce the behavior: (and/or link to a short video showing the problem with audio track describing what you are doing)

  1. Create a virtual matrix with # Strings = 50 and Nodes/String = 200.
  2. Create a group (eg, 'all house') that includes the virtual matrix.
  3. Create a new sequence. Add a Shockwave effect to the 'all house ' group on the timeline.
  4. At the same position on the timeline, add a Picture effect to the virtual matrix.

This works as expected.

  1. Change the size of the virtual matrix to # Strings = 51 (or higher) and Nodes/String = 200.

One or more rows are cut off at the bottom of the virtual matrix where the Shockwave effect displays, though the Picture is visible on the whole matrix. Continuing to increase the # Strings removes more rows from the bottom.

Expected behavior As occurs in v2024.13.1 and prior, the Shockwave group effect should be visible over the entire virtual matrix behind/blended with the Picture effect on the matrix.

Videos

  1. Test_ver2024.12.1.mp4 - Virtual Matrix size set to my usual 270x480 using ver2024.12.1. Shockwave looks the same on the matrix, whether the Picture is on or not.
  2. Test_ver2024.14.1mmp4 - Matrix still set to 270x480 using ver2024.14.1. Shockwave is fine when Picture is off. When Picture is on, most of the bottom of the matrix is cut off. At this size, it looks like the Picture is blocking the Shockwave, but it's not. See 4 below.
  3. Test_ver2024.14.1_50x200.mp4 - Matrix size set to 50x200 using ver2024.14.1. Shockwave works as expected and looks the same whether the Picture is on or not.
  4. Test_ver2024.14.1_70x200.mp4 - Matrix size set to 70x200 using ver2024.14.1. Shockwave looks as expected when Picture is off. When Picture is on, Shockwave is cut off several rows from the bottom.

Screenshots

  1. Model Preview_50x200.png - Shows the Shockwave effect moving across the 50x200 virtual matrix behind a black box with a green border.
  2. Model Preview_70x200.png - Shows the Shockwave effect moving across the 70x200 matrix behind the same Picture, with rows cut off the bottom.

Versions (please complete the following information):

Additional context

Attachments Model Preview_50x200 Model Preview_70x200 https://github.com/user-attachments/assets/c3e689be-ada6-4990-87fa-846fc33438f4 https://github.com/user-attachments/assets/39783a87-fea5-4544-80e0-f60fb6bd87e9 https://github.com/user-attachments/assets/d8ebce22-8adf-40bd-a74a-36047719ee1b https://github.com/user-attachments/assets/5299cfb4-463e-4264-bddd-c7ec0ea7db6d

Link to packaged sequence.

derwin12 commented 1 month ago

I put in a check to limit buffer to stop it from crashing. I will increase that value to fix the issue. The vm throws the buffer over this limit.