<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xs:element name="RenoiseDeviceChain" type="RenoiseDeviceChain"/>
  <xs:complexType name="RenoiseDeviceChain">
    <xs:all>
      <xs:element name="Devices" minOccurs="0">
        <xs:complexType>
          <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element name="MidiCCDevice" minOccurs="0" maxOccurs="unbounded" type="MidiCCDevice"/>
            <xs:element name="BusCompressorDevice" minOccurs="0" maxOccurs="unbounded" type="BusCompressorDevice"/>
            <xs:element name="ChorusDevice" minOccurs="0" maxOccurs="unbounded" type="ChorusDevice"/>
            <xs:element name="CompressorDevice" minOccurs="0" maxOccurs="unbounded" type="CompressorDevice"/>
            <xs:element name="DcOffsetDevice" minOccurs="0" maxOccurs="unbounded" type="DcOffsetDevice"/>
            <xs:element name="DelayDevice" minOccurs="0" maxOccurs="unbounded" type="DelayDevice"/>
            <xs:element name="DistortionDevice" minOccurs="0" maxOccurs="unbounded" type="DistortionDevice"/>
            <xs:element name="Distortion2Device" minOccurs="0" maxOccurs="unbounded" type="Distortion2Device"/>
            <xs:element name="Eq10Device" minOccurs="0" maxOccurs="unbounded" type="Eq10Device"/>
            <xs:element name="Eq5Device" minOccurs="0" maxOccurs="unbounded" type="Eq5Device"/>
            <xs:element name="Filter1Device" minOccurs="0" maxOccurs="unbounded" type="Filter1Device"/>
            <xs:element name="Filter2Device" minOccurs="0" maxOccurs="unbounded" type="Filter2Device"/>
            <xs:element name="Filter3Device" minOccurs="0" maxOccurs="unbounded" type="Filter3Device"/>
            <xs:element name="FlangerDevice" minOccurs="0" maxOccurs="unbounded" type="FlangerDevice"/>
            <xs:element name="GainerDevice" minOccurs="0" maxOccurs="unbounded" type="GainerDevice"/>
            <xs:element name="GateDevice" minOccurs="0" maxOccurs="unbounded" type="GateDevice"/>
            <xs:element name="Gate2Device" minOccurs="0" maxOccurs="unbounded" type="Gate2Device"/>
            <xs:element name="LofiDevice" minOccurs="0" maxOccurs="unbounded" type="LofiDevice"/>
            <xs:element name="Lofi2Device" minOccurs="0" maxOccurs="unbounded" type="Lofi2Device"/>
            <xs:element name="MaximizerDevice" minOccurs="0" maxOccurs="unbounded" type="MaximizerDevice"/>
            <xs:element name="MixerEqDevice" minOccurs="0" maxOccurs="unbounded" type="MixerEqDevice"/>
            <xs:element name="Reverb2Device" minOccurs="0" maxOccurs="unbounded" type="Reverb2Device"/>
            <xs:element name="Reverb3Device" minOccurs="0" maxOccurs="unbounded" type="Reverb3Device"/>
            <xs:element name="PhaserDevice" minOccurs="0" maxOccurs="unbounded" type="PhaserDevice"/>
            <xs:element name="ReverbDevice" minOccurs="0" maxOccurs="unbounded" type="ReverbDevice"/>
            <xs:element name="RingModDevice" minOccurs="0" maxOccurs="unbounded" type="RingModDevice"/>
            <xs:element name="FilterDistortionDevice" minOccurs="0" maxOccurs="unbounded" type="FilterDistortionDevice"/>
            <xs:element name="ShaperDevice" minOccurs="0" maxOccurs="unbounded" type="ShaperDevice"/>
            <xs:element name="StereoExpanderDevice" minOccurs="0" maxOccurs="unbounded" type="StereoExpanderDevice"/>
            <xs:element name="LineInDevice" minOccurs="0" maxOccurs="unbounded" type="LineInDevice"/>
            <xs:element name="RewireInDevice" minOccurs="0" maxOccurs="unbounded" type="RewireInDevice"/>
            <xs:element name="SendDevice" minOccurs="0" maxOccurs="unbounded" type="SendDevice"/>
            <xs:element name="InstrumentAutomationDevice" minOccurs="0" maxOccurs="unbounded" type="InstrumentAutomationDevice"/>
            <xs:element name="MidiControlDevice" minOccurs="0" maxOccurs="unbounded" type="MidiControlDevice"/>
            <xs:element name="HydraDevice" minOccurs="0" maxOccurs="unbounded" type="HydraDevice"/>
            <xs:element name="KeyTrackingDevice" minOccurs="0" maxOccurs="unbounded" type="KeyTrackingDevice"/>
            <xs:element name="LfoDevice" minOccurs="0" maxOccurs="unbounded" type="LfoDevice"/>
            <xs:element name="VelocityDevice" minOccurs="0" maxOccurs="unbounded" type="VelocityDevice"/>
            <xs:element name="PdcTestDelayDevice" minOccurs="0" maxOccurs="unbounded" type="PdcTestDelayDevice"/>
            <xs:element name="AudioPluginDevice" minOccurs="0" maxOccurs="unbounded" type="AudioPluginDevice"/>
          </xs:sequence>
          <xs:attribute name="type" use="optional" type="xs:string"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="doc_version" use="required" type="xs:int" fixed="8"/>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="MidiCCDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="ControllerValue0" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber0" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName0" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue1" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber1" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName1" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue2" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber2" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName2" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue3" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber3" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName3" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue4" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber4" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName4" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue5" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber5" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName5" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue6" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber6" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName6" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue7" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber7" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName7" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue8" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber8" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName8" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue9" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber9" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName9" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue10" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber10" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName10" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue11" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber11" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName11" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue12" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber12" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName12" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerValue13" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ControllerNumber13" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName13" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="LinkedInstrument" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="VisiblePages" type="xs:int" default="1" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="MidiCCDevice"/>
  </xs:complexType>
  <xs:complexType name="FilterDevicePreset">
    <xs:all>
      <xs:element name="DeviceSlot" minOccurs="0" type="MidiCCDevice"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="FilterDevicePreset"/>
  </xs:complexType>
  <xs:complexType name="FilterDeviceParameter">
    <xs:all>
      <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/>
      <xs:element name="Visualization" default="Device only" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Dont Show"/>
            <xs:enumeration value="Device only"/>
            <xs:enumeration value="Mixer and Device"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MidiMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded" type="CCMappingDocument"/>
          </xs:sequence>
          <xs:attribute name="type" use="optional" type="xs:string"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="CCMappingDocument">
    <xs:all>
      <xs:element name="Channel" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="CCNumber" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="Mode" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="Min" type="xs:float" default="0.0" minOccurs="0"/>
      <xs:element name="Max" type="xs:float" default="1.0" minOccurs="0"/>
      <xs:element name="Inverse" type="xs:boolean" default="false" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="BusCompressorDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Ratio" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Attack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Release" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MakeUp" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Knee" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="BusCompressorDevice"/>
  </xs:complexType>
  <xs:complexType name="ChorusDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="LfoRate" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LfoDepth" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Feedback" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Delay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryWetMix" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Phase" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterType" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterFreq" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterResonance" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="ChorusDevice"/>
  </xs:complexType>
  <xs:complexType name="CompressorDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="LogThreshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Ratio" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Attack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Release" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="CompressorDevice"/>
  </xs:complexType>
  <xs:complexType name="DcOffsetDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="DCOffset" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="AutoDC" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="DcOffsetDevice"/>
  </xs:complexType>
  <xs:complexType name="DelayDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="TrackSend" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LDelay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RDelay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LFeedback" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RFeedback" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MuteDrySignal" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LTapPan" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RTapPan" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LineSync" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LSyncTime" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RSyncTime" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LSyncOffset" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RSyncOffset" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="DelayDevice"/>
  </xs:complexType>
  <xs:complexType name="DistortionDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LpOrClamp" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="WetOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="GateOrFilter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="DistortionDevice"/>
  </xs:complexType>
  <xs:complexType name="Distortion2Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Drive" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Tone" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="WetOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryOut" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Distortion2Device"/>
  </xs:complexType>
  <xs:complexType name="Eq10Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="InputMode" default="L+R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L-R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MaxVisualizedGain" type="xs:float" default="20" minOccurs="0"/>
      <xs:element name="Gain0" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain1" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain2" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain3" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain4" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain5" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain6" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain7" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain8" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain9" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Frequency0" type="xs:float" default="50" minOccurs="0"/>
      <xs:element name="Frequency1" type="xs:float" default="100" minOccurs="0"/>
      <xs:element name="Frequency2" type="xs:float" default="300" minOccurs="0"/>
      <xs:element name="Frequency3" type="xs:float" default="600" minOccurs="0"/>
      <xs:element name="Frequency4" type="xs:float" default="1200" minOccurs="0"/>
      <xs:element name="Frequency5" type="xs:float" default="2000" minOccurs="0"/>
      <xs:element name="Frequency6" type="xs:float" default="3000.25" minOccurs="0"/>
      <xs:element name="Frequency7" type="xs:float" default="5000" minOccurs="0"/>
      <xs:element name="Frequency8" type="xs:float" default="10000" minOccurs="0"/>
      <xs:element name="Frequency9" type="xs:float" default="15000" minOccurs="0"/>
      <xs:element name="BandWidth0" type="xs:float" default="1.0" minOccurs="0"/>
      <xs:element name="BandWidth1" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth2" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth3" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth4" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth5" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth6" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth7" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth8" type="xs:float" default="2" minOccurs="0"/>
      <xs:element name="BandWidth9" type="xs:float" default="1.0" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Eq10Device"/>
  </xs:complexType>
  <xs:complexType name="Eq5Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="InputMode" default="L+R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L-R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MaxVisualizedGain" type="xs:float" default="20" minOccurs="0"/>
      <xs:element name="Gain0" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain1" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain2" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain3" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain4" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Frequency0" type="xs:float" default="100" minOccurs="0"/>
      <xs:element name="Frequency1" type="xs:float" default="1000" minOccurs="0"/>
      <xs:element name="Frequency2" type="xs:float" default="4000" minOccurs="0"/>
      <xs:element name="Frequency3" type="xs:float" default="8000" minOccurs="0"/>
      <xs:element name="Frequency4" type="xs:float" default="12000" minOccurs="0"/>
      <xs:element name="BandWidth0" type="xs:float" default="1.0" minOccurs="0"/>
      <xs:element name="BandWidth1" type="xs:float" default="4" minOccurs="0"/>
      <xs:element name="BandWidth2" type="xs:float" default="4" minOccurs="0"/>
      <xs:element name="BandWidth3" type="xs:float" default="4" minOccurs="0"/>
      <xs:element name="BandWidth4" type="xs:float" default="1.0" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Eq5Device"/>
  </xs:complexType>
  <xs:complexType name="Filter1Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Cutoff" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Resonance" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Innertia" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Filter1Device"/>
  </xs:complexType>
  <xs:complexType name="Filter2Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Cutoff" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Resonance" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Innertia" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LimitMoogFilterOutput" type="xs:boolean" default="true" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Filter2Device"/>
  </xs:complexType>
  <xs:complexType name="Filter3Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Frequency" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Q" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Inertia" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Model" default="24dB 4Pole" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="24dB 4Pole"/>
            <xs:enumeration value="24dB Moog"/>
            <xs:enumeration value="Butterworth 4n"/>
            <xs:enumeration value="Butterworth 8n"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Filter3Device"/>
  </xs:complexType>
  <xs:complexType name="FlangerDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Amount" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Rate" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Amplitude" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FeedBack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Delay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Dephase" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterType" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterFreq" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="FilterResonance" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="FlangerDevice"/>
  </xs:complexType>
  <xs:complexType name="GainerDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Volume" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Panning" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LPhaseInvert" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RPhaseInvert" type="xs:boolean" default="false" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="GainerDevice"/>
  </xs:complexType>
  <xs:complexType name="GateDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="AttackInMs" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="HoldInMs" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ReleaseInMs" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="GatedVolume" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="GateDevice"/>
  </xs:complexType>
  <xs:complexType name="Gate2Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Attack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Hold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Release" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Floor" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ListenToSideChain" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SideChainHpFreq" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="SideChainLpFreq" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Gate2Device"/>
  </xs:complexType>
  <xs:complexType name="LofiDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="BitCrunsh" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Quality" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Noise" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="WetOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Interpolate" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="LofiDevice"/>
  </xs:complexType>
  <xs:complexType name="Lofi2Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Bits" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Rate" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Noise" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="WetOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryOut" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Interpolate" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Lofi2Device"/>
  </xs:complexType>
  <xs:complexType name="MaximizerDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="InputGain" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="TransientRelease" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LongTermRelease" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Ceiling" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="MaximizerDevice"/>
  </xs:complexType>
  <xs:complexType name="MixerEqDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="InputMode" default="L+R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MaxVisualizedGain" type="xs:float" default="20" minOccurs="0"/>
      <xs:element name="LowGain" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MidGain" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MidFreq" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MidQ" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="HiGain" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="MixerEqDevice"/>
  </xs:complexType>
  <xs:complexType name="Reverb2Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="QualitySetup" type="xs:int" default="1" minOccurs="0"/>
      <xs:element name="ReverbTime" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LPFilter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="PreDelay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryMix" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Send" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Reverb2Device"/>
  </xs:complexType>
  <xs:complexType name="Reverb3Device">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="ReverbTime" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="PreDelay" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LPFilter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LPGain" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Color" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Width" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Pan" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="WetMix" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryMix" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="Reverb3Device"/>
  </xs:complexType>
  <xs:complexType name="PhaserDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Ceilling" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Floor" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="LFORate" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Depth" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Feedback" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Phase" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Stages" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="PhaserDevice"/>
  </xs:complexType>
  <xs:complexType name="ReverbDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Send" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="RoomSize" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Width" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Damp" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DryMix" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="ReverbDevice"/>
  </xs:complexType>
  <xs:complexType name="RingModDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="OscillatorType" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Frequency" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Amount" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Phase" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Inertia" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="RingModDevice"/>
  </xs:complexType>
  <xs:complexType name="FilterDistortionDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="FilterType" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Drive" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Cutoff" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Resonance" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Inertia" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="FilterDistortionDevice"/>
  </xs:complexType>
  <xs:complexType name="ShaperDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="Threshold" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Ratio" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Attack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Release" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Gain" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="ShaperDevice"/>
  </xs:complexType>
  <xs:complexType name="StereoExpanderDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="MonoMixMode" default="R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="StereoWidth" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="SurroundWidth" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="StereoExpanderDevice"/>
  </xs:complexType>
  <xs:complexType name="LineInDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="InputChannel" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="InputChannelMode" default="L+R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="InputLatencyMode" default="Live Recording Mode" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Live Recording Mode"/>
            <xs:enumeration value="MIDI Return Mode"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Panning" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Volume" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="LineInDevice"/>
  </xs:complexType>
  <xs:complexType name="RewireInDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="DeviceName" type="xs:string" minOccurs="0"/>
      <xs:element name="ChannelIndex" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="ChannelMode" default="L+R" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="L"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="L+R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Panning" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Volume" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="RewireInDevice"/>
  </xs:complexType>
  <xs:complexType name="SendDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="SendAmount" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestSendTrack" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="MuteSource" type="xs:boolean" default="true" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="SendDevice"/>
  </xs:complexType>
  <xs:complexType name="InstrumentAutomationDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="ParameterValue0" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber0" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="ParameterValue1" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber1" type="xs:int" default="1" minOccurs="0"/>
      <xs:element name="ParameterValue2" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber2" type="xs:int" default="2" minOccurs="0"/>
      <xs:element name="ParameterValue3" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber3" type="xs:int" default="3" minOccurs="0"/>
      <xs:element name="ParameterValue4" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber4" type="xs:int" default="4" minOccurs="0"/>
      <xs:element name="ParameterValue5" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber5" type="xs:int" default="5" minOccurs="0"/>
      <xs:element name="ParameterValue6" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber6" type="xs:int" default="6" minOccurs="0"/>
      <xs:element name="ParameterValue7" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber7" type="xs:int" default="7" minOccurs="0"/>
      <xs:element name="ParameterValue8" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber8" type="xs:int" default="8" minOccurs="0"/>
      <xs:element name="ParameterValue9" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber9" type="xs:int" default="9" minOccurs="0"/>
      <xs:element name="ParameterValue10" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber10" type="xs:int" default="10" minOccurs="0"/>
      <xs:element name="ParameterValue11" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber11" type="xs:int" default="11" minOccurs="0"/>
      <xs:element name="ParameterValue12" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber12" type="xs:int" default="12" minOccurs="0"/>
      <xs:element name="ParameterValue13" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ParameterNumber13" type="xs:int" default="13" minOccurs="0"/>
      <xs:element name="LinkedInstrument" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="VisiblePages" type="xs:int" default="1" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="InstrumentAutomationDevice"/>
  </xs:complexType>
  <xs:complexType name="MidiControlDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="ControllerValue0" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber0" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName0" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType0" default="PB" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue1" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber1" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName1" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType1" default="CP" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue2" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber2" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName2" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType2" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue3" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber3" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName3" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType3" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue4" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber4" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName4" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType4" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue5" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber5" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName5" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType5" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue6" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber6" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName6" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType6" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue7" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber7" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName7" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType7" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue8" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber8" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName8" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType8" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue9" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber9" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName9" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType9" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue10" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber10" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName10" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType10" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue11" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber11" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName11" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType11" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue12" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber12" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName12" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType12" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ControllerValue13" minOccurs="0" type="MidiControlDeviceFilterDeviceParameter"/>
      <xs:element name="ControllerNumber13" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="ControllerName13" type="xs:string" default="Untitled" minOccurs="0"/>
      <xs:element name="ControllerType13" default="CC" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="PB"/>
            <xs:enumeration value="CP"/>
            <xs:enumeration value="CC"/>
            <xs:enumeration value="Prg"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LinkedInstrument" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="VisiblePages" type="xs:int" default="1" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="MidiControlDevice"/>
  </xs:complexType>
  <xs:complexType name="MidiControlDeviceFilterDeviceParameter">
    <xs:all>
      <xs:element name="Value" type="xs:float" default="63.5" minOccurs="0"/>
      <xs:element name="Visualization" default="Device only" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Dont Show"/>
            <xs:enumeration value="Device only"/>
            <xs:enumeration value="Mixer and Device"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MidiMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded" type="CCMappingDocument"/>
          </xs:sequence>
          <xs:attribute name="type" use="optional" type="xs:string"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="HydraDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="VisiblePages" type="xs:int" default="1" minOccurs="0"/>
      <xs:element name="InputValue" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out1DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out1DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out1Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out1Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out1Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out2DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out2DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out2Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out2Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out2Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out3DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out3DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out3Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out3Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out3Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out4DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out4DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out4Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out4Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out4Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out5DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out5DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out5Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out5Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out5Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out6DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out6DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out6Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out6Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out6Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out7DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out7DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out7Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out7Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out7Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out8DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out8DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out8Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out8Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out8Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Out9DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out9DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out9Min" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out9Max" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Out9Scaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="HydraDevice"/>
  </xs:complexType>
  <xs:complexType name="KeyTrackingDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="SrcInstrument" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="KeyTrackingScaling" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="KeyTrackingMode" default="Clamp" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Clamp"/>
            <xs:enumeration value="Soft"/>
            <xs:enumeration value="Octave"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="KeyTrackingMin" type="xs:int" default="36" minOccurs="0"/>
      <xs:element name="KeyTrackingMax" type="xs:int" default="72" minOccurs="0"/>
      <xs:element name="DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestMin" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestMax" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="KeyTrackingDevice"/>
  </xs:complexType>
  <xs:complexType name="LfoDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Amplitude" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Offset" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Frequency" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="Type" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="CustomEnvelope" minOccurs="0" type="Envelope"/>
      <xs:element name="CustomEnvelopeOneShot" type="xs:boolean" default="false" minOccurs="0"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="LfoDevice"/>
  </xs:complexType>
  <xs:complexType name="Envelope">
    <xs:all>
      <xs:element name="PlayMode" default="Linear" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Points"/>
            <xs:enumeration value="Curve"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Length" type="xs:int" default="64" minOccurs="0"/>
      <xs:element name="ValueQuantum" type="xs:float" default="0.0" minOccurs="0"/>
      <xs:element name="Points" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Point" type="xs:string" default="0,0.0" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="VelocityDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="SrcInstrument" type="xs:int" default="-1" minOccurs="0"/>
      <xs:element name="VelocityScaling" default="Log Slow" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Log Fast"/>
            <xs:enumeration value="Log Slow"/>
            <xs:enumeration value="Linear"/>
            <xs:enumeration value="Exp Slow"/>
            <xs:enumeration value="Exp Fast"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="VelocityMin" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="VelocityMax" type="xs:int" default="127" minOccurs="0"/>
      <xs:element name="DestEffect" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestParameter" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestMin" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="DestMax" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="VelocityDevice"/>
  </xs:complexType>
  <xs:complexType name="PdcTestDelayDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="DelayInMs" minOccurs="0" type="FilterDeviceParameter"/>
      <xs:element name="ReportLatency" minOccurs="0" type="FilterDeviceParameter"/>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="PdcTestDelayDevice"/>
  </xs:complexType>
  <xs:complexType name="AudioPluginDevice">
    <xs:all>
      <xs:element name="IsActive" type="xs:boolean" default="true" minOccurs="0"/>
      <xs:element name="IsSelected" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="SelectedPresetName" type="xs:string" default="Init" minOccurs="0"/>
      <xs:element name="SelectedPresetIsModified" type="xs:boolean" default="false" minOccurs="0"/>
      <xs:element name="RunTimePresetA" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="RunTimePresetB" minOccurs="0" type="FilterDevicePreset"/>
      <xs:element name="ActiveProgram" type="xs:int" default="0" minOccurs="0"/>
      <xs:element name="PluginType" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="AU"/>
            <xs:enumeration value="VST"/>
            <xs:enumeration value="LADSAP"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PluginIdentifier" type="xs:string" minOccurs="0"/>
      <xs:element name="PluginDisplayName" type="xs:string" minOccurs="0"/>
      <xs:element name="PluginShortDisplayName" type="xs:string" minOccurs="0"/>
      <xs:element name="PluginEditorWindowPosition" type="xs:string" default="-1,-1" minOccurs="0"/>
      <xs:element name="ParameterChunkType" default="Chunk" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Chunk"/>
            <xs:enumeration value="ParameterBag"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ParameterChunk" type="xs:string"/>
      <xs:element name="Parameters" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded" type="AudioPluginDeviceParameter"/>
          </xs:sequence>
          <xs:attribute name="type" use="optional" type="xs:string"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="required" type="xs:string" fixed="AudioPluginDevice"/>
  </xs:complexType>
  <xs:complexType name="AudioPluginDeviceParameter">
    <xs:all>
      <xs:element name="Value" type="xs:float" default="0.0" minOccurs="0"/>
      <xs:element name="Visualization" default="Device only" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Dont Show"/>
            <xs:enumeration value="Device only"/>
            <xs:enumeration value="Mixer and Device"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MidiMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MidiMapping" minOccurs="0" maxOccurs="unbounded" type="CCMappingDocument"/>
          </xs:sequence>
          <xs:attribute name="type" use="optional" type="xs:string"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="type" use="optional" type="xs:string"/>
  </xs:complexType>
</xs:schema>
