first commit

This commit is contained in:
simon 2020-09-05 23:53:50 +02:00
commit 08ed1883ce
4 changed files with 495 additions and 0 deletions

8
README.md Normal file
View File

@ -0,0 +1,8 @@
# OLA-Plugin für LED Ansteuerung
im Terminal öffnen:
python ola_recv_dmx.py | python send-DMX.py
Dazu muss QLC+ installiert sein und der OLA Deamon laufen.
Mit QLC+ lassen sich Shows erstellen. Die ersten 6 Kanäle werden an die LED Module geschickt. Bitte IP-Adressen anpassen.
simple.qxw ist ein Beispiel für eine einfache Show.

66
ola_recv_dmx.py Executable file
View File

@ -0,0 +1,66 @@
#!/usr/bin/env python
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# ola_recv_dmx.py
# Copyright (C) 2005 Simon Newton
"""Receive DMX data."""
import getopt
import textwrap
import sys
from ola.ClientWrapper import ClientWrapper
__author__ = 'nomis52@gmail.com (Simon Newton)'
def NewData(data):
print(data)
def Usage():
print(textwrap.dedent("""
Usage: ola_recv_dmx.py --universe <universe>
Display the DXM512 data for the universe.
-h, --help Display this help message and exit.
-u, --universe <universe> Universe number."""))
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "hu:", ["help", "universe="])
except getopt.GetoptError as err:
print(str(err))
Usage()
sys.exit(2)
universe = 1
for o, a in opts:
if o in ("-h", "--help"):
Usage()
sys.exit()
elif o in ("-u", "--universe"):
universe = int(a)
wrapper = ClientWrapper()
client = wrapper.Client()
client.RegisterUniverse(universe, client.REGISTER, NewData)
wrapper.Run()
if __name__ == "__main__":
main()

67
send-DMX_Arduino.py Normal file
View File

@ -0,0 +1,67 @@
#zeile aufnehmen und an glaeser senden
#python ola_recv_dmx.py | grep array
#python ola_recv_dmx.py | python send-DMX.py
#python ola_recv_dmx.py | python3 send-DMX_Arduino.py
import sys
import os
import struct
import socket
UDP_IP = "172.23.92.15"
#UDP_IP = "172.23.92.4"
UDP_PORT = 49152
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
i = 1
line = sys.stdin.readline()
while line:
line = sys.stdin.readline()
data = line.split("[")[1]
ch1 = int(data.split(", ")[0])
ch2 = int(data.split(", ")[1])
ch3 = int(data.split(", ")[2])
ch4 = int(data.split(", ")[3])
ch5 = int(data.split(", ")[4])
ch6 = int(data.split(", ")[5])
print (ch1,ch2,ch3,ch4,ch5,ch6)
# echo -n "170000070150000050" >/dev/udp/172.23.92.16/31302
if (i == 1 or i == 6 or i == 11 or i == 16):
# 172.23.92.16 ist Lounge, 172.23.92.19 ist flur
cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.16/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
os.system(cmd)
# 172.23.92.19 ist flur
cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.19/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
os.system(cmd)
os.system(cmd)
# gläser
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/192.168.1.114/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/192.168.1.202/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.154/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.153/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.185/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# neue gläser
# cmd="/bin/bash -c \"echo -n \"%03i%03i%03i%03i%03i%03i\" >/dev/udp/172.23.92.191/31302\"" %(ch1,ch2,ch3,ch4,ch5,ch6)
# os.system(cmd)
# Fensterbogenbeleuchtung
if (i == 20 or i == 10 or i == 15 or i == 5):
data = [ch2,ch1,ch3]*116
sock.sendto(b'r' + struct.pack(">H", len(data) + 2) + b'\x00\x00' + bytes(data), (UDP_IP, UDP_PORT))
i = i+1
if i > 20:
i = 0

354
simple.qxw Normal file
View File

@ -0,0 +1,354 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Workspace>
<Workspace xmlns="http://www.qlcplus.org/Workspace" CurrentWindow="SimpleDesk">
<Creator>
<Name>Q Light Controller Plus</Name>
<Version>4.11.2</Version>
<Author></Author>
</Creator>
<Engine>
<InputOutputMap>
<Universe Name="Universe 1" ID="0">
<Output Plugin="OLA" Line="0">
<PluginParameters UniverseChannels="6"/>
</Output>
</Universe>
<Universe Name="Universe 2" ID="1"/>
<Universe Name="Universe 3" ID="2"/>
<Universe Name="Universe 4" ID="3"/>
</InputOutputMap>
<Fixture>
<Manufacturer>Generic</Manufacturer>
<Model>Generic</Model>
<Mode>6 Channel</Mode>
<ID>0</ID>
<Name>Dimmer</Name>
<Universe>0</Universe>
<Address>0</Address>
<Channels>6</Channels>
</Fixture>
<Function ID="0" Type="Chaser" Name="einzelne farbe">
<Speed FadeIn="10000" FadeOut="10000" Duration="30000"/>
<Direction>Forward</Direction>
<RunOrder>Loop</RunOrder>
<SpeedModes FadeIn="Common" FadeOut="Common" Duration="Common"/>
<Step Number="0" FadeIn="10000" Hold="0" FadeOut="0">1</Step>
<Step Number="1" FadeIn="0" Hold="0" FadeOut="0">6</Step>
<Step Number="2" FadeIn="0" Hold="0" FadeOut="0">7</Step>
</Function>
<Function ID="1" Type="Scene" Name="Neue Szene 1 - rot">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,255,1,0,2,0,3,255,4,0,5,0</FixtureVal>
</Function>
<Function ID="2" Type="Collection" Name=""/>
<Function ID="3" Type="Scene" Name="New Scene" Hidden="True">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,0,3,0,4,0,5,0</FixtureVal>
</Function>
<Function ID="4" Type="Sequence" Name="Neue Sequenz 4" BoundScene="3">
<Speed FadeIn="10000" FadeOut="10000" Duration="10000"/>
<Direction>Forward</Direction>
<RunOrder>Loop</RunOrder>
<SpeedModes FadeIn="Common" FadeOut="Common" Duration="Common"/>
<Step Number="0" FadeIn="0" Hold="0" FadeOut="0" Values="6">0:2,255</Step>
<Step Number="1" FadeIn="0" Hold="0" FadeOut="0" Values="6">0:0,255</Step>
<Step Number="2" FadeIn="0" Hold="0" FadeOut="0" Values="6">0:1,255</Step>
</Function>
<Function ID="5" Type="Script" Name="">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<Direction>Forward</Direction>
<RunOrder>Loop</RunOrder>
</Function>
<Function ID="6" Type="Scene" Name="Neue Szene 2 - grün">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,255,2,0,3,0,4,255,5,0</FixtureVal>
</Function>
<Function ID="7" Type="Scene" Name="Neue Szene 3 - blau">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,255,3,0,4,0,5,255</FixtureVal>
</Function>
<Function ID="8" Type="Scene" Name="rot-gruen">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,255,1,0,2,0,3,0,4,255,5,0</FixtureVal>
</Function>
<Function ID="9" Type="Scene" Name="rot-blau">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,255,1,0,2,0,3,0,4,0,5,255</FixtureVal>
</Function>
<Function ID="10" Type="Scene" Name="gruen-rot">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,255,2,0,3,255,4,0,5,0</FixtureVal>
</Function>
<Function ID="11" Type="Scene" Name="gruen-blau">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,255,2,0,3,0,4,0,5,255</FixtureVal>
</Function>
<Function ID="12" Type="Scene" Name="">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,255,3,255,4,0,5,0</FixtureVal>
</Function>
<Function ID="13" Type="Scene" Name="blau-rot">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,255,3,255,4,0,5,0</FixtureVal>
</Function>
<Function ID="14" Type="Scene" Name="blau-gruen">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,255,3,0,4,255,5,0</FixtureVal>
</Function>
<Function ID="15" Type="Chaser" Name="Neuer Chaser 15">
<Speed FadeIn="20000" FadeOut="20000" Duration="80000"/>
<Direction>Forward</Direction>
<RunOrder>Loop</RunOrder>
<SpeedModes FadeIn="Common" FadeOut="Common" Duration="Common"/>
<Step Number="0" FadeIn="0" Hold="0" FadeOut="0">14</Step>
<Step Number="1" FadeIn="0" Hold="0" FadeOut="0">13</Step>
<Step Number="2" FadeIn="0" Hold="0" FadeOut="0">11</Step>
<Step Number="3" FadeIn="0" Hold="0" FadeOut="0">10</Step>
<Step Number="4" FadeIn="0" Hold="0" FadeOut="0">9</Step>
<Step Number="5" FadeIn="0" Hold="0" FadeOut="0">8</Step>
<Step Number="6" FadeIn="0" Hold="0" FadeOut="0">1</Step>
<Step Number="7" FadeIn="0" Hold="0" FadeOut="0">7</Step>
<Step Number="8" FadeIn="20000" Hold="60000" FadeOut="20000">10</Step>
<Step Number="9" FadeIn="20000" Hold="60000" FadeOut="20000">1</Step>
<Step Number="10" FadeIn="20000" Hold="60000" FadeOut="20000">6</Step>
<Step Number="11" FadeIn="20000" Hold="60000" FadeOut="20000">9</Step>
<Step Number="12" FadeIn="20000" Hold="60000" FadeOut="20000">8</Step>
<Step Number="13" FadeIn="20000" Hold="60000" FadeOut="20000">19</Step>
<Step Number="14" FadeIn="20000" Hold="60000" FadeOut="20000">14</Step>
<Step Number="15" FadeIn="20000" Hold="60000" FadeOut="20000">13</Step>
<Step Number="16" FadeIn="20000" Hold="60000" FadeOut="20000">17</Step>
<Step Number="17" FadeIn="20000" Hold="60000" FadeOut="20000">18</Step>
<Step Number="18" FadeIn="0" Hold="0" FadeOut="0">6</Step>
<Step Number="19" FadeIn="20000" Hold="60000" FadeOut="20000">20</Step>
<Step Number="20" FadeIn="20000" Hold="60000" FadeOut="20000">21</Step>
<Step Number="21" FadeIn="20000" Hold="60000" FadeOut="20000">22</Step>
<Step Number="22" FadeIn="20000" Hold="60000" FadeOut="20000">7</Step>
<Step Number="23" FadeIn="20000" Hold="60000" FadeOut="20000">11</Step>
<Step Number="24" FadeIn="20000" Hold="60000" FadeOut="20000">10</Step>
<Step Number="25" FadeIn="20000" Hold="60000" FadeOut="20000">1</Step>
<Step Number="26" FadeIn="20000" Hold="60000" FadeOut="20000">6</Step>
<Step Number="27" FadeIn="20000" Hold="60000" FadeOut="20000">9</Step>
<Step Number="28" FadeIn="20000" Hold="60000" FadeOut="20000">7</Step>
<Step Number="29" FadeIn="20000" Hold="60000" FadeOut="20000">8</Step>
</Function>
<Function ID="16" Type="Chaser" Name="blinky">
<Speed FadeIn="1000" FadeOut="0" Duration="5000"/>
<Direction>Forward</Direction>
<RunOrder>Loop</RunOrder>
<SpeedModes FadeIn="PerStep" FadeOut="Default" Duration="Common"/>
<Step Number="0" FadeIn="5000" Hold="0" FadeOut="0">14</Step>
<Step Number="1" FadeIn="5000" Hold="0" FadeOut="0">13</Step>
<Step Number="2" FadeIn="5000" Hold="0" FadeOut="0">11</Step>
<Step Number="3" FadeIn="5000" Hold="0" FadeOut="0">10</Step>
<Step Number="4" FadeIn="5000" Hold="0" FadeOut="0">1</Step>
<Step Number="5" FadeIn="5000" Hold="0" FadeOut="0">6</Step>
<Step Number="6" FadeIn="5000" Hold="0" FadeOut="0">7</Step>
<Step Number="7" FadeIn="5000" Hold="0" FadeOut="0">9</Step>
<Step Number="8" FadeIn="5000" Hold="0" FadeOut="0">8</Step>
</Function>
<Function ID="17" Type="Scene" Name="Bunt 1">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,134,1,0,2,236,3,0,4,120,5,236</FixtureVal>
</Function>
<Function ID="18" Type="Scene" Name="bunt 2">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,139,1,255,2,0,3,0,4,230,5,120</FixtureVal>
</Function>
<Function ID="19" Type="Scene" Name="blau">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,0,2,255,3,0,4,0,5,255</FixtureVal>
</Function>
<Function ID="20" Type="Scene" Name="bunt 3">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,145,1,0,2,255,3,0,4,0,5,255</FixtureVal>
</Function>
<Function ID="21" Type="Scene" Name="bunt 4">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,175,2,0,3,125,4,102,5,225</FixtureVal>
</Function>
<Function ID="22" Type="Scene" Name="bunt 5">
<Speed FadeIn="0" FadeOut="0" Duration="0"/>
<FixtureVal ID="0">0,0,1,239,2,0,3,77,4,0,5,255</FixtureVal>
</Function>
</Engine>
<VirtualConsole>
<Frame Caption="">
<Appearance>
<FrameStyle>None</FrameStyle>
<ForegroundColor>Default</ForegroundColor>
<BackgroundColor>Default</BackgroundColor>
<BackgroundImage>None</BackgroundImage>
<Font>Default</Font>
</Appearance>
<AudioTriggers BarsNumber="16" Caption="" ID="0">
<WindowState Visible="False" X="0" Y="0" Width="300" Height="200"/>
<Appearance>
<FrameStyle>Sunken</FrameStyle>
<ForegroundColor>Default</ForegroundColor>
<BackgroundColor>Default</BackgroundColor>
<BackgroundImage>None</BackgroundImage>
<Font>Default</Font>
</Appearance>
<SpectrumBar Name="#2 (312Hz - 625Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="1">
<DMXChannels>0,0</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#3 (625Hz - 937Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="2">
<DMXChannels>0,3</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#4 (937Hz - 1250Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="3">
<DMXChannels>0,1</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#5 (1250Hz - 1562Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="4">
<DMXChannels>0,2</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#6 (1562Hz - 1875Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="5">
<DMXChannels>0,5</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#7 (1875Hz - 2187Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="6">
<DMXChannels>0,4</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#15 (4375Hz - 4687Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="14">
<DMXChannels>0,5</DMXChannels>
</SpectrumBar>
<SpectrumBar Name="#16 (4687Hz - 5000Hz)" Type="1" MinThreshold="51" MaxThreshold="204" Divisor="1" Index="15">
<DMXChannels>0,4</DMXChannels>
</SpectrumBar>
</AudioTriggers>
<Button Caption="Chaser (einzelne Farbe)" ID="1" Icon="">
<WindowState Visible="False" X="920" Y="115" Width="115" Height="110"/>
<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>
<Button Caption="Neuer Chaser 15" ID="2" Icon="">
<WindowState Visible="False" X="1045" Y="115" Width="110" Height="110"/>
<Appearance>
<FrameStyle>None</FrameStyle>
<ForegroundColor>Default</ForegroundColor>
<BackgroundColor>Default</BackgroundColor>
<BackgroundImage>None</BackgroundImage>
<Font>Default</Font>
</Appearance>
<Function ID="15"/>
<Action>Toggle</Action>
<Intensity Adjust="False">100</Intensity>
</Button>
<Button Caption="blinky" ID="3" Icon="">
<WindowState Visible="False" X="1165" Y="115" Width="105" Height="110"/>
<Appearance>
<FrameStyle>None</FrameStyle>
<ForegroundColor>Default</ForegroundColor>
<BackgroundColor>Default</BackgroundColor>
<BackgroundImage>None</BackgroundImage>
<Font>Default</Font>
</Appearance>
<Function ID="16"/>
<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>
<CueStack ID="0">
<Speed FadeIn="0" FadeOut="0" Duration="4294967295"/>
<Cue Name="Cue 1">
<Value Channel="0">255</Value>
<Value Channel="3">255</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="1000" FadeOut="5000" Duration="3000"/>
</Cue>
<Cue Name="Cue 2">
<Value Channel="0">0</Value>
<Value Channel="1">255</Value>
<Value Channel="3">0</Value>
<Value Channel="4">255</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="5000" FadeOut="5000" Duration="5000"/>
</Cue>
<Cue Name="Cue 3">
<Value Channel="0">0</Value>
<Value Channel="1">255</Value>
<Value Channel="3">0</Value>
<Value Channel="4">0</Value>
<Value Channel="5">255</Value>
<Speed FadeIn="5000" FadeOut="5000" Duration="5000"/>
</Cue>
<Cue Name="Cue 4">
<Value Channel="0">0</Value>
<Value Channel="1">0</Value>
<Value Channel="2">255</Value>
<Value Channel="3">0</Value>
<Value Channel="4">0</Value>
<Value Channel="5">255</Value>
<Speed FadeIn="5000" FadeOut="5000" Duration="5000"/>
</Cue>
<Cue Name="Cue 5">
<Value Channel="0">0</Value>
<Value Channel="1">0</Value>
<Value Channel="2">255</Value>
<Value Channel="3">255</Value>
<Value Channel="4">0</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="5000" FadeOut="5000" Duration="5000"/>
</Cue>
<Cue Name="Cue 6">
<Value Channel="0">0</Value>
<Value Channel="1">255</Value>
<Value Channel="2">0</Value>
<Value Channel="3">255</Value>
<Value Channel="4">0</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="5000" FadeOut="5000" Duration="5000"/>
</Cue>
<Cue Name="Cue 7">
<Value Channel="0">255</Value>
<Value Channel="1">0</Value>
<Value Channel="2">0</Value>
<Value Channel="3">255</Value>
<Value Channel="4">0</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="4000" FadeOut="4000" Duration="12000"/>
</Cue>
<Cue Name="Cue 8">
<Value Channel="0">255</Value>
<Value Channel="1">0</Value>
<Value Channel="2">0</Value>
<Value Channel="3">0</Value>
<Value Channel="4">0</Value>
<Value Channel="5">255</Value>
<Speed FadeIn="3000" FadeOut="6000" Duration="6000"/>
</Cue>
<Cue Name="Cue 9">
<Value Channel="0">255</Value>
<Value Channel="1">0</Value>
<Value Channel="2">255</Value>
<Value Channel="3">0</Value>
<Value Channel="4">255</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="5000" FadeOut="7000" Duration="5000"/>
</Cue>
<Cue Name="Cue 10">
<Value Channel="0">0</Value>
<Value Channel="1">0</Value>
<Value Channel="2">255</Value>
<Value Channel="3">0</Value>
<Value Channel="4">255</Value>
<Value Channel="5">0</Value>
<Speed FadeIn="8500" FadeOut="7500" Duration="7000"/>
</Cue>
</CueStack>
</Engine>
</SimpleDesk>
</Workspace>