<?xml version="1.0" encoding="ISO-8859-1"?>
<device image="mh.gif" initsequence="set 0 128;set 1 128;set 2 255;set 3 0;set 4 0;set 5 0;set 6 0;set 7 128;">
  <information>
    <name>Stairville MH250S</name>
    <vendor>Stairville</vendor>
    <autor>S.Kaps/www.basti-tech.de</autor>
    <panarea degree="540" offset="0" />
    <tiltarea degree="270" offset="0" />
  </information>
  <channels>
    <function channel="0" minvalue="0" maxvalue="255" name="Pan" fade="yes" type="pan" />
    <function channel="1" minvalue="0" maxvalue="255" name="Tilt" fade="yes" type="tilt" />
    <function channel="2" minvalue="0" maxvalue="255" name="Shutter" fade="no"/>
    <function channel="3" minvalue="0" maxvalue="255" name="Gobo" fade="no" type="gobo"/>
    <function channel="4" minvalue="0" maxvalue="255" name="Color" fade="no" type="color"/>
    <function channel="5" minvalue="0" maxvalue="255" name="Goborotation" fade="no"/>
    <function channel="6" minvalue="0" maxvalue="255" name="Helligkeit" fade="yes" />
    <function channel="7" minvalue="0" maxvalue="255" name="Fokus" fade="no" />
  </channels>
  <form width="430" height="360">
    <deviceimage top="0" left="0" width="33" height="33" />
    <devicename top="0" left="40" width="150" height="17" />
    <deviceadress top="16" left="40" width="129" height="17" />
    <position top="40" left="8" height="174" width="426" />
    <line x1="210" y1="220" x2="210" y2="600" />
    <line x1="0" y1="220" x2="430" y2="220" />
    <!-- < ^v > -->
    <command name="l" top="5" left="230" width="20" caption="&lt;" action="left"/>
    <command name="x" top="5" left="330" width="20" caption="X" action="center"/>
    <command name="r" top="5" left="250" width="20" caption="&gt;" action="right"/>
    <command name="u" top="5" left="280" width="20" caption="^" action="up"/>
    <command name="d" top="5" left="300" width="20" caption="v" action="down"/>
    <!-- Helligkeit -->
    <label top="297" left="215" caption="Helligkeit:" />
    <slider top="298" left="269" height="25" width="145" startvalue="255" endvalue="0" tickfreq="51" smallchange="10" largechange="50" channel="6" />
    <!-- Color -->
    <label top="230" left="0" caption="Farbe:" />
    <dropdown top="228" left="35" width="100" action="SetColor" name="color_color">
      <item caption="White" value="0" />
      <item caption="Green" value="12" />
      <item caption="Gr.Mag" value="20" />
      <item caption="Magenta" value="26" />
      <item caption="Mag.LBlue" value="32" />
      <item caption="LightBlue" value="39" />
      <item caption="LBlue+Yellow" value="48" />
      <item caption="Yellow" value="57" />
      <item caption="Yellow+Orange" value="65" />
      <item caption="Orange" value="71" />
      <item caption="Orange+Blue" value="79" />
      <item caption="Blue" value="86" />
      <item caption="Blue+UV" value="95" />
      <item caption="UV" value="101" />
      <item caption="UV+LGreen" value="109" />
      <item caption="Light Green" value="116" />
      <item caption="Pink" value="125" />
      <item caption="Scrollen" value="-1" />
    </dropdown>
    <slider top="228" left="132" height="25" width="70" startvalue="0" endvalue="64" tickfreq="32" smallchange="2" largechange="8" name="color_speed" action="SetColor" />
    <!-- Gobo -->
    <label top="232" left="215" caption="Gobo" />
    <dropdown top="228" left="250" width="110" name="gobo_gobo" action="SetGobo">
      <item caption="Offen" value="0" />
      <item caption="Gep.Kreis" value="20" />
      <item caption="Strahlen" value="40" />
      <item caption="Strudel" value="60" />
      <item caption="Reifen" value="76" />
      <item caption="Glasgogbo" value="90" />
      <item caption="Dreieck" value="110" />
      <item caption="4 Punkte" value="125" />
      <item caption="Wechselnd" value="-1" />
    </dropdown>
    <slider top="228" left="365" height="25" width="60" startvalue="0" endvalue="32" tickfreq="16" smallchange="6" largechange="12" name="gobo_speed" action="SetGobo" />
    <!-- Goborot -->
    <dropdown top="257" left="221" width="129" name="gobo_mode" action="SetGoboRot">
      <item caption="Normal" value="0" />
      <item caption="Drehen --&gt;" value="-2" />
      <item caption="Drehen &lt;--" value="-1" />
    </dropdown>
    <slider top="261" left="353" height="25" width="73" startvalue="0" endvalue="11" tickfreq="6" smallchange="1" largechange="3" name="gobo_rotspeed" action="SetGoboRot" />
    <!-- Shutter/Shaking -->
    <label top="261" left="0" caption="Shutter:" />
    <dropdown top="257" left="45" width="158" name="shutter_mode" action="SetShutter">
      <item caption="geschlossen" value="0" />
      <item caption="offen" value="255" />
      <item caption="Flashing" value="-1" />
      <item caption="Shaking" value="-2" />
    </dropdown>
    <slider top="285" left="0" height="25" width="210" startvalue="0" endvalue="58" name="shutter_speed" largechange="20" smallchange="1" tickfreq="10" action="SetShutter"/>
    <label top="310" left="53" caption="^ Shutter | Shaking v" />
    <slider top="332" left="0" height="25" width="210" startvalue="0" endvalue="57" name="shaking_speed" largechange="20" smallchange="2" tickfreq="10" action="SetShutter"/>
    <!-- Fokus -->
    <label top="325" left="215" caption="Fokus:" />
    <slider top="329" left="269" height="25" width="145" startvalue="0" endvalue="255" tickfreq="51" smallchange="50" largechange="100" channel="7" />
  </form>
  <code>
    <procedure name="SetColor">
  !if|{color_color} |gt| -1|
   !set_channel|4|{color_color}$
  |
   !if|{color_color} |eq| -1|
     !set_channel|4|(128+({color_speed} * 2))$
   $
  $
  </procedure>
    <procedure name="GetColor">
  !set_control|color_color|({channel_4})$
  !if|{color_color}|gt|127|
    !set_control|color_color|-1$
    !set_control|color_speed|(({channel_4}-127)/4)$
  $
  </procedure>
    <procedure name="SetGobo">
  !if|{gobo_gobo} |gt| -1|
   !set_channel|3|{gobo_gobo}$
  |
   !if|{gobo_gobo} |eq| -1|
     !set_channel|3|(128+({gobo_speed} * 4))$
   $
  $
  </procedure>
    <procedure name="GetGobo">
  !set_control|gobo_gobo|({channel_3})$
  !if|{gobo_gobo}|gt|127|
    !set_control|gobo_gobo|-1$
    !set_control|gobo_speed|(({channel_3}-127)/2)$
  $
  </procedure>
    <procedure name="SetGoboRot">
  !if|{gobo_mode}|eq|0|
    !set_channel|5|0$
  $
  !if|{gobo_mode}|eq|-1|
    !set_channel|5|(120-({gobo_rotspeed}*10))$
  $
   !if|{gobo_mode}|eq|-2|
     !set_channel|5|(135+({gobo_rotspeed}*10))$
   $
  </procedure>
    <procedure name="GetGoboRot">
   !if|{channel_5}|eq|0|
    !set_control|gobo_mode|0$
    !set_control|gobo_rotspeed|0$
   |
   !if|(( {channel_5} &gt; 1) and ( {channel_5} &lt; 121))|
     !set_control|gobo_mode|(-1)$
     !set_control|gobo_rotspeed|(({channel_5}+120)/10)$
   |
   !if|(({channel_5} &gt; 134) and ({channel_5} &lt; 246))|
     !set_control|gobo_mode|-2$
     !set_control|gobo_rotspeed|(({channel_5}-135)/10)$
   $$$
  </procedure>
    <procedure name="SetShutter">
    !if|(({shutter_mode}=0) or ({shutter_mode}=255))|
      !set_channel|2|{shutter_mode}$
    |
    !if|{shutter_mode}=-1|
      !set_channel|2|(15+({shutter_speed}*2))$
    |
    !if|{shutter_mode}=-2|
      !set_channel|2|(132+({shaking_speed}*2))-1$
    $
    $
    $
  </procedure>
    <procedure name="GetShutter">
   !if|(({channel_2}=0) or ({channel_2}=255))|
     !set_control|shutter_mode|{channel_2}$
   |
   !if|(({channel_2} &gt; 14) and ({channel_2} &lt; 132))|
     !set_control|shutter_mode|-1$
     !set_control|shutter_speed|(({channel_2}-15)/2)$
   |
   !if|(({channel_2} &gt; 131) and ({channel_2} &lt; 248))|
     !set_control|shutter_mode|-2$
     !set_control|shaking_speed|(({channel_2}-132)/2)$
   $
   $
   $
  </procedure>
    <procedure name="left">
    !if|({channel_0} &gt; 0)|
      !set_channel|0|({channel_0}-1)$
    $
  </procedure>
    <procedure name="right">
    !if|({channel_0} &lt; 255)|
      !set_channel|0|({channel_0}+1)$
    $
  </procedure>
    <procedure name="down">
    !if|({channel_1} &lt; 255)|
      !set_channel|1|({channel_1}+1)$
    $
  </procedure>
    <procedure name="up">
    !if|({channel_1} &gt; 0)|
      !set_channel|1|({channel_1}-1)$
    $
  </procedure>
    <procedure name="center">
    !set_channel|0|128$
    !set_channel|1|128$
  </procedure>
    <procedure name="INITCONTROLS">
  !call|GetColor$
  !call|GetGobo$
  !call|GetGoboRot$
  !call|GetShutter$
  </procedure>
  </code>
</device>