;$$$behringer1394_coinst$$$  ; This case-sensitive tag is needed to trigger the device class co-installer. 
;
; arch_1394 Setup Information file
; Copyright (c) 2003-2013
;
; This file supports:
;     Windows XP
;     Windows XP x64 Edition
;     Windows Vista
;     Windows Vista x64
;     Windows 7
;     Windows 7 x64
;

;******************************************************************************
; Version Section
;------------------------------------------------------------------------------
[Version]
Signature="$Windows NT$"
Class=61883
ClassGUID={7ebefbc0-3200-11d2-b4c2-00a0C9697d07}
Provider=%S_Provider%
DriverVer=06/12/2013,6.13.0.0
CatalogFile=behringer_xuf_1394.cat

;******************************************************************************
; Manufacturer
;------------------------------------------------------------------------------
[Manufacturer]
%S_Provider%=_Devices, ntamd64

;******************************************************************************
; Models sections
;------------------------------------------------------------------------------
; x86-based systems
[_Devices]
%S_DeviceDesc1%=_Install1, 1394\BEHRINGER&X_UF



; x64-based systems
[_Devices.ntamd64]
%S_DeviceDesc1%=_Install1, 1394\BEHRINGER&X_UF




;******************************************************************************
; Install Sections x86-based systems
;------------------------------------------------------------------------------

[_Install1.ntx86]
CopyFiles=_CopyFiles_sys

[_Install1.ntx86.Services]
AddService = %S_DriverName%, 0x00000002, _AddService, _EventLog

[_Install1.ntx86.HW]
AddReg=_AddReg_ChildDev, _AddReg_DevSpecCfg1


[_AddService]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\%S_DriverName%.sys
AddReg=_AddReg_DevInterfaces, _AddReg_ConfigDB, _AddReg_Settings

[_EventLog]
AddReg=_EventLog_AddReg

[_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\%S_DriverName%.sys"
HKR,,TypesSupported,  %REG_DWORD%, 7


;******************************************************************************
; Install Sections x64-based systems
;------------------------------------------------------------------------------

[_Install1.ntamd64]
CopyFiles=_CopyFiles_sys_x64

[_Install1.ntamd64.Services]
AddService = %S_DriverName%, 0x00000002, _AddService_x64, _EventLog_x64

[_Install1.ntamd64.HW]
AddReg=_AddReg_ChildDev, _AddReg_DevSpecCfg1


[_AddService_x64]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\%S_DriverName_x64%.sys
AddReg=_AddReg_DevInterfaces, _AddReg_ConfigDB, _AddReg_Settings

[_EventLog_x64]
AddReg=_EventLog_AddReg_x64

[_EventLog_AddReg_x64]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\%S_DriverName_x64%.sys"
HKR,,TypesSupported,  %REG_DWORD%, 7


;******************************************************************************
; child device identifier, identifies the WDM audio driver instance
;------------------------------------------------------------------------------
[_AddReg_ChildDev]

; Setting this flag to null disables the WDM audio device.
;HKR,  , ChildEnable, %REG_DWORD%, 0


; Use this to override the default enumerator name. This is optional.
HKR, , ChildDeviceEnumerator,   %REG_SZ%,  "behringer_xuf_1394_ENUM"

; Use this to override the default device description. This is optional.
;HKR, , ChildDeviceDescription,  %REG_SZ%,  "BEHRINGER WDM Audio Device"

;;Note: The HardwareID for the WDM audio device is built as follows: <Enumerator\DeviceId>


;******************************************************************************
; device interface identifiers
;------------------------------------------------------------------------------
[_AddReg_DevInterfaces]

;; specify a vendor-specific GUID which is used by the vendor's applications to open the driver
;; Use guidgen.exe to generate a new GUID, copy-paste it into the following line.
HKR, , VendorSpecificInterfaceGuid,  %REG_SZ%,  "{9A07780E-F9B5-4307-99C5-EA07E088BB97}"


;; Enable/disable the default device interface exported by the driver.
HKR, , RegisterDefaultDeviceInterface,  %REG_DWORD%,  1


[_AddReg_DevSpecCfg1]
;******************************************************************************
; Device specific static settings
;------------------------------------------------------------------------------

;; Use this to override the default sound device names. This is optional.
;; Note: $D will be replaced by the device nickname
;;       $I will be replaced by the sound device instance per device (port number)
;;       $N will be replaced by the hardware name of the first channel that
;;       belongs to the sound device (truncated at the first space character)
;;
;; Refer to 
;; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\1394\<Vendor&Device>\<SerialNumber>\Device Parameters
;; to find out the internal sound device names that can be labeled here.
;; An internal name contains direction, hardware name (truncated at first space) and stream position, 
;; e.g. "In&Line&00", "Out&Line&00".

;; Inputs
HKR, "In&Input&00",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 01/02"
HKR, "In&Input&02",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 03/04"
HKR, "In&Input&04",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 05/06"
HKR, "In&Input&06",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 07/08"
HKR, "In&Input&08",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 09/10"
HKR, "In&Input&10",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 11/12"
HKR, "In&Input&12",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 13/14"
HKR, "In&Input&14",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 15/16"
HKR, "In&Input&16",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 17/18"
HKR, "In&Input&18",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 19/20"
HKR, "In&Input&20",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 21/22"
HKR, "In&Input&22",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 23/24"
HKR, "In&Input&24",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 25/26"
HKR, "In&Input&26",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 27/28"
HKR, "In&Input&28",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 29/30"
HKR, "In&Input&30",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 31/32"
HKR, "In&MIDI&08",    SoundDeviceName,  %REG_SZ%,  "$D MIDI"
HKR, "In&MIDI&16",    SoundDeviceName,  %REG_SZ%,  "$D MIDI"
HKR, "In&MIDI&32",    SoundDeviceName,  %REG_SZ%,  "$D MIDI"

;; Outputs
HKR, "Out&Output&00", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 01/02"
HKR, "Out&Output&02", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 03/04"
HKR, "Out&Output&04", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 05/06"
HKR, "Out&Output&06", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 07/08"
HKR, "Out&Output&08", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 09/10"
HKR, "Out&Output&10", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 11/12"
HKR, "Out&Output&12", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 13/14"
HKR, "Out&Output&14", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 15/16"
HKR, "Out&Output&16", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 17/18"
HKR, "Out&Output&18", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 19/20"
HKR, "Out&Output&20", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 21/22"
HKR, "Out&Output&22", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 23/24"
HKR, "Out&Output&24", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 25/26"
HKR, "Out&Output&26", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 27/28"
HKR, "Out&Output&28", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 29/30"
HKR, "Out&Output&30", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 31/32"
HKR, "Out&MIDI&08",   SoundDeviceName,  %REG_SZ%,  "$D MIDI"
HKR, "Out&MIDI&16",   SoundDeviceName,  %REG_SZ%,  "$D MIDI"
HKR, "Out&MIDI&32",   SoundDeviceName,  %REG_SZ%,  "$D MIDI"

;------------------------------------------------------------------------------
;; WDM sound device:    disable WDM sound device (defauld is enabled)
;;
;;   Plug definition       Command                         0=off / 1=on
;------------------------------------------------------------------------------
HKR, "In&Input&00",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&02",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&04",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&06",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&08",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&10",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&12",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&14",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&16",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&18",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&20",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&22",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&24",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&26",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&28",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&30",   CreateSoundDevice, %REG_DWORD%, 0

HKR, "Out&Output&00",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&02",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&04",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&06",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&08",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&10",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&12",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&14",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&16",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&18",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&20",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&22",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&24",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&26",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&28",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&30",   CreateSoundDevice, %REG_DWORD%, 0

;; Use the following settings to specify the device-specific input and output latency,
;; in microseconds. Latencies are given for each sample rate separately.
;; If not specified, latency defaults to 1500 microsecs.

HKR, "44100",   "InputLatency[us]",   %REG_DWORD%,  1672				
HKR, "44100",   "OutputLatency[us]",  %REG_DWORD%,  1761				
HKR, "48000",   "InputLatency[us]",   %REG_DWORD%,  1650				
HKR, "48000",   "OutputLatency[us]",  %REG_DWORD%,  1677				
HKR, "88200",   "InputLatency[us]",   %REG_DWORD%,  1502				
HKR, "88200",   "OutputLatency[us]",  %REG_DWORD%,  1497				
HKR, "96000",   "InputLatency[us]",   %REG_DWORD%,  1494				
HKR, "96000",   "OutputLatency[us]",  %REG_DWORD%,  1479				



[_AddReg_ConfigDB]
;******************************************************************************
; Static settings in ConfigDB that apply to all models
;------------------------------------------------------------------------------

;; default size of isochronous stream buffers, in microseconds
HKR, "ConfigDB\Settings", "IsoStreamBufferDepth[us]",   %REG_DWORD%, 2000

;; default size of ASIO buffers, in microseconds
HKR, "ConfigDB\Settings", "AsioBufferDepth[us]",        %REG_DWORD%, 10000

;; default size of WDM/KS buffers, in microseconds
HKR, "ConfigDB\Settings", "KsBufferDepth[us]",          %REG_DWORD%, 10000

;; default domain synch mode:
;; 0 = Internal (PC is clock master)
;; 1 = External (a device is clock master)
HKR, "ConfigDB\Settings", "DomainSynchMode",            %REG_DWORD%, 1

;; default sample rate selection mode:
;; 0 = Manual (rate is manually set by user)
;; 1 = Auto (rate is defined by clock master device)
HKR, "ConfigDB\Settings", "SampleRateSelectionMode",    %REG_DWORD%, 1

;; default sampling rate, supported rates are: 44100, 48000, 88200, 96000, 176400, 192000 
HKR, "ConfigDB\Settings", "SampleRate[Hz]",             %REG_DWORD%, 44100

;; How to generate a default device nickname?
;; 0: Nickname = "SerialNumber"
;; 1: Nickname = "ModelString"
;; 2: Nickname = "ModelString (SerialNumber)"
HKR, "ConfigDB\Settings", "DeviceNicknameMode",         %REG_DWORD%, 1




;******************************************************************************
; Global settings
;------------------------------------------------------------------------------
[_AddReg_Settings]




;******************************************************************************
; Copy file sections
;------------------------------------------------------------------------------
[_CopyFiles_sys]
behringer_xuf_1394.sys,,,0x00000004

[_CopyFiles_sys_x64]
behringer_xuf_1394_x64.sys,,,0x00000004


;******************************************************************************
; Destination Directories
;------------------------------------------------------------------------------
[DestinationDirs]
DefaultDestDir =     12   ; %windir%\system32\drivers 
_CopyFiles_sys =     12
_CopyFiles_sys_x64 = 12


;******************************************************************************
; Disk Layout
;------------------------------------------------------------------------------
[SourceDisksNames.x86]
1=%S_DiskName%,,

[SourceDisksNames.amd64]
1=%S_DiskName%,,


[SourceDisksFiles.x86]
behringer_xuf_1394.sys=1

[SourceDisksFiles.amd64]
behringer_xuf_1394_x64.sys=1


;******************************************************************************
; Text Strings
;------------------------------------------------------------------------------
[Strings]
;
; Non-Localizable Strings, DO NOT MODIFY!
;
REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001


;
; Localizable Strings, modify as required
;
S_Provider="BEHRINGER"
S_DiskName="BEHRINGER 1394 Audio Driver Disk"
S_DeviceDesc1="Behringer X-UF"


; File name of driver executable (without extension).
; If the name is modified, the [_CopyFiles_sys] and [SourceDisksFiles]
; sections have to be modified as well!
S_DriverName =     "behringer_xuf_1394"
S_DriverName_x64 = "behringer_xuf_1394_x64"


; *** EOF ***
