mcallegari / qlcplus

Q Light Controller Plus (QLC+) is a free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc. This project is a fork of the great QLC project written by Heikki Junnila that aims to continue the QLC development and to introduce new features.
Apache License 2.0
1.02k stars 360 forks source link

[4.13.1] Flash buttons with fade out zero out channels entirely #1624

Closed yestalgia closed 1 month ago

yestalgia commented 1 month ago

Describe the bug When operating a show, it can be handy to set levels for a fixture and then dynamically 'flash' them to higher values.

QLC+ has recently introduced the ability to handle fade out times for scenes in conjunction with "flash" buttons.

I'm not sure when this bug was introduced, but recently when running a show I noticed all my fixtures turning off after using flash buttons. This appears to be a problem with the fade out times.

To Reproduce I've provided a simple showfile in this issue which demonstrates the problem. You will notice a 'Warm White' scene which sets that base level for the fixtures, and a number of flash buttons. The first flash button '1' has no fade out time. Buttons 2 though 4 have a 251ms fade out time.

Steps:

  1. Open the project
  2. Open the 2D View and switch to Operate mode
  3. Activate the "Warm White" scene using the button on the virtual console - notice the red colour
  4. Activate scene 1, notice that the colour of the first par changes to orange, then back to red when released.
  5. Click scene two, notice that it goes to orange, then fades out entirely.

Expected behaviour I expect scene two through scene 4 to be activated and released in the same manner as 1, fading to the colour of the previously activated scene.

Screenshots

image

Notice in the above image, the warm white scene is active, yet the Pars are off.

Desktop (please complete the following information):

Additional context The showfile for your testing:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Workspace>
<Workspace xmlns="http://www.qlcplus.org/Workspace" CurrentWindow="InputOutputManager">
 <Creator>
  <Name>Q Light Controller Plus</Name>
  <Version>4.13.1</Version>
  <Author>Yestalgia</Author>
 </Creator>
 <Engine>
  <InputOutputMap>
   <BeatGenerator BeatType="Disabled" BPM="0"/>
   <Universe Name="Universe 1" ID="0"/>
  </InputOutputMap>
  <Fixture>
   <Manufacturer>Generic</Manufacturer>
   <Model>Generic RGBW</Model>
   <Mode>RGBW</Mode>
   <ID>0</ID>
   <Name>Generic RGBW #1</Name>
   <Universe>0</Universe>
   <Address>0</Address>
   <Channels>4</Channels>
  </Fixture>
  <Fixture>
   <Manufacturer>Generic</Manufacturer>
   <Model>Generic RGBW</Model>
   <Mode>RGBW</Mode>
   <ID>1</ID>
   <Name>Generic RGBW #2</Name>
   <Universe>0</Universe>
   <Address>4</Address>
   <Channels>4</Channels>
  </Fixture>
  <Fixture>
   <Manufacturer>Generic</Manufacturer>
   <Model>Generic RGBW</Model>
   <Mode>RGBW</Mode>
   <ID>2</ID>
   <Name>Generic RGBW #3</Name>
   <Universe>0</Universe>
   <Address>8</Address>
   <Channels>4</Channels>
  </Fixture>
  <Fixture>
   <Manufacturer>Generic</Manufacturer>
   <Model>Generic RGBW</Model>
   <Mode>RGBW</Mode>
   <ID>3</ID>
   <Name>Generic RGBW #4</Name>
   <Universe>0</Universe>
   <Address>12</Address>
   <Channels>4</Channels>
  </Fixture>
  <Function ID="0" Type="Scene" Name="Warm White">
   <Speed FadeIn="0" FadeOut="0" Duration="0"/>
   <FixtureVal ID="0">0,255,1,38,3,60</FixtureVal>
   <FixtureVal ID="1">0,255,1,38,3,60</FixtureVal>
   <FixtureVal ID="2">0,255,1,38,3,60</FixtureVal>
   <FixtureVal ID="3">0,255,1,38,3,60</FixtureVal>
  </Function>
  <Function ID="1" Type="Scene" Name="1" Path="Flash">
   <Speed FadeIn="0" FadeOut="0" Duration="0"/>
   <FixtureVal ID="0">0,255,1,194,3,255</FixtureVal>
  </Function>
  <Function ID="2" Type="Scene" Name="2" Path="Flash">
   <Speed FadeIn="0" FadeOut="251" Duration="0"/>
   <FixtureVal ID="1">0,255,1,194,3,255</FixtureVal>
  </Function>
  <Function ID="3" Type="Scene" Name="3" Path="Flash">
   <Speed FadeIn="0" FadeOut="251" Duration="0"/>
   <FixtureVal ID="2">0,255,1,194,3,255</FixtureVal>
  </Function>
  <Function ID="4" Type="Scene" Name="4" Path="Flash">
   <Speed FadeIn="0" FadeOut="251" Duration="0"/>
   <FixtureVal ID="3">0,255,1,194,3,255</FixtureVal>
  </Function>
  <Monitor DisplayMode="1" ShowLabels="0">
   <Font>Roboto,12,-1,5,50,0,0,0,0,0</Font>
   <ChannelStyle>0</ChannelStyle>
   <ValueStyle>0</ValueStyle>
   <Grid Width="1" Height="3" Depth="1" Units="0"/>
   <FxItem ID="0" XPos="0" YPos="0"/>
   <FxItem ID="1" XPos="258.706" YPos="4.97512"/>
   <FxItem ID="2" XPos="507.463" YPos="4.97512"/>
   <FxItem ID="3" XPos="770.732" YPos="9.7561"/>
  </Monitor>
 </Engine>
 <VirtualConsole>
  <Frame Caption="">
   <Appearance>
    <FrameStyle>None</FrameStyle>
    <ForegroundColor>Default</ForegroundColor>
    <BackgroundColor>Default</BackgroundColor>
    <BackgroundImage>None</BackgroundImage>
    <Font>Default</Font>
   </Appearance>
   <Frame Caption="" ID="0">
    <Appearance>
     <FrameStyle>Sunken</FrameStyle>
     <ForegroundColor>Default</ForegroundColor>
     <BackgroundColor>Default</BackgroundColor>
     <BackgroundImage>None</BackgroundImage>
     <Font>Default</Font>
    </Appearance>
    <WindowState Visible="False" X="90" Y="190" Width="220" Height="70"/>
    <AllowChildren>False</AllowChildren>
    <AllowResize>True</AllowResize>
    <ShowHeader>False</ShowHeader>
    <ShowEnableButton>True</ShowEnableButton>
    <Collapsed>False</Collapsed>
    <Disabled>False</Disabled>
    <Button Caption="1" ID="1" Icon="">
     <WindowState Visible="False" X="10" Y="10" Width="50" Height="50"/>
     <Appearance>
      <FrameStyle>None</FrameStyle>
      <ForegroundColor>Default</ForegroundColor>
      <BackgroundColor>Default</BackgroundColor>
      <BackgroundImage>None</BackgroundImage>
      <Font>Default</Font>
     </Appearance>
     <Function ID="1"/>
     <Action Override="0" ForceLTP="0">Flash</Action>
     <Key>1</Key>
     <Intensity Adjust="False">100</Intensity>
    </Button>
    <Button Caption="2" ID="2" Icon="">
     <WindowState Visible="False" X="60" Y="10" Width="50" Height="50"/>
     <Appearance>
      <FrameStyle>None</FrameStyle>
      <ForegroundColor>Default</ForegroundColor>
      <BackgroundColor>Default</BackgroundColor>
      <BackgroundImage>None</BackgroundImage>
      <Font>Default</Font>
     </Appearance>
     <Function ID="2"/>
     <Action Override="0" ForceLTP="0">Flash</Action>
     <Key>2</Key>
     <Intensity Adjust="False">100</Intensity>
    </Button>
    <Button Caption="3" ID="3" Icon="">
     <WindowState Visible="False" X="110" Y="10" Width="50" Height="50"/>
     <Appearance>
      <FrameStyle>None</FrameStyle>
      <ForegroundColor>Default</ForegroundColor>
      <BackgroundColor>Default</BackgroundColor>
      <BackgroundImage>None</BackgroundImage>
      <Font>Default</Font>
     </Appearance>
     <Function ID="3"/>
     <Action Override="0" ForceLTP="0">Flash</Action>
     <Key>3</Key>
     <Intensity Adjust="False">100</Intensity>
    </Button>
    <Button Caption="4" ID="4" Icon="">
     <WindowState Visible="False" X="160" Y="10" Width="50" Height="50"/>
     <Appearance>
      <FrameStyle>None</FrameStyle>
      <ForegroundColor>Default</ForegroundColor>
      <BackgroundColor>Default</BackgroundColor>
      <BackgroundImage>None</BackgroundImage>
      <Font>Default</Font>
     </Appearance>
     <Function ID="4"/>
     <Action Override="0" ForceLTP="0">Flash</Action>
     <Key>4</Key>
     <Intensity Adjust="False">100</Intensity>
    </Button>
   </Frame>
   <Button Caption="Step 1: Background Colour" ID="12" Icon="">
    <WindowState Visible="False" X="85" Y="10" Width="230" Height="135"/>
    <Appearance>
     <FrameStyle>None</FrameStyle>
     <ForegroundColor>Default</ForegroundColor>
     <BackgroundColor>Default</BackgroundColor>
     <BackgroundImage>None</BackgroundImage>
     <Font>Default</Font>
    </Appearance>
    <Function ID="0"/>
    <Action>Toggle</Action>
    <Intensity Adjust="False">100</Intensity>
   </Button>
  </Frame>
  <Properties>
   <Size Width="1920" Height="1080"/>
   <GrandMaster ChannelMode="Intensity" ValueMode="Reduce" SliderMode="Normal"/>
  </Properties>
 </VirtualConsole>
 <SimpleDesk>
  <Engine/>
 </SimpleDesk>
</Workspace>
mcallegari commented 1 month ago

Fixed, thanks for reporting

yestalgia commented 1 month ago

Thanks legend that was quick as 😎