;$$$dl32r_usb_coinst$$$  ; This case-sensitive tag is needed to trigger the device class co-installer. 
;
; arch_usb Setup Information file
; Copyright (c) 2003-2014
;
; 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=USB
ClassGUID={36fc9e60-c465-11cf-8056-444553540000}
Provider=%S_Provider%
DriverVer=07/24/2014,6.16.0.0
CatalogFile=dl32r_usb.cat

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

;******************************************************************************
; Models sections
;------------------------------------------------------------------------------
; x86-based systems
[_Devices]
%S_DeviceDesc1%=_Install1, usb\vid_0a73&pid_0015



; x64-based systems
[_Devices.ntamd64]
%S_DeviceDesc1%=_Install1, usb\vid_0a73&pid_0015




;******************************************************************************
; 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%,  "dl32r_usb_ENUM"

; Use this to override the default device description. This is optional.
;HKR, , ChildDeviceDescription,  %REG_SZ%,  "Mackie 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%,  "{8B606B93-B85B-495f-979A-E39DB1B91709}"


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


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

;;
;; sound device settings
;; these keys can be found under 
;; HKLM\System\CurrentControlSet\Enum\USB\VID_<VVVV>&PID_<PPPP>\<serial number>\DeviceParameters
;; the relative path is assembled from the direction (In|Out)&<Hardware Name>&<Offset in the stream>

;------------------------------------------------------------------------------
;; WDM Control definition: 
;;
;; if CreateSoundDevice is 1 the sound device is visible in the system
;; the default value is 1
;;
;;   Plug def.       function             AVC Unit     ID
;------------------------------------------------------------------------------
HKR, "In&In&00",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&02",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&04",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&06",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&08",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&10",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&12",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&14",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&16",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&18",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&20",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&22",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&24",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&26",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&28",   "CreateSoundDevice", %REG_DWORD%, 1
HKR, "In&In&30",   "CreateSoundDevice", %REG_DWORD%, 1

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

;------------------------------------------------------------------------------
;; WDM device naming:   
;;
;; The sound device name can be specified here
;; $D is replaced by the device name
;; $N is replaced by the hardware name
;;
;;   Plug definition   Command                      WDM Windows text
;------------------------------------------------------------------------------
HKR, "In&In&00",       SoundDeviceName,  %REG_SZ%,  "$D IN01/02"
HKR, "In&In&02",       SoundDeviceName,  %REG_SZ%,  "$D IN03/04"
HKR, "In&In&04",       SoundDeviceName,  %REG_SZ%,  "$D IN05/06"
HKR, "In&In&06",       SoundDeviceName,  %REG_SZ%,  "$D IN07/08"
HKR, "In&In&08",       SoundDeviceName,  %REG_SZ%,  "$D IN09/10"
HKR, "In&In&10",       SoundDeviceName,  %REG_SZ%,  "$D IN11/12"
HKR, "In&In&12",       SoundDeviceName,  %REG_SZ%,  "$D IN13/14"
HKR, "In&In&14",       SoundDeviceName,  %REG_SZ%,  "$D IN15/16"
HKR, "In&In&16",       SoundDeviceName,  %REG_SZ%,  "$D IN17/18"
HKR, "In&In&18",       SoundDeviceName,  %REG_SZ%,  "$D IN19/20"
HKR, "In&In&20",       SoundDeviceName,  %REG_SZ%,  "$D IN21/22"
HKR, "In&In&22",       SoundDeviceName,  %REG_SZ%,  "$D IN23/24"
HKR, "In&In&24",       SoundDeviceName,  %REG_SZ%,  "$D IN25/26"
HKR, "In&In&26",       SoundDeviceName,  %REG_SZ%,  "$D IN27/28"
HKR, "In&In&28",       SoundDeviceName,  %REG_SZ%,  "$D IN29/30"
HKR, "In&In&30",       SoundDeviceName,  %REG_SZ%,  "$D IN31/32"
     
HKR, "Out&Out&00",     SoundDeviceName,  %REG_SZ%,  "$D OUT01/02"
HKR, "Out&Out&02",     SoundDeviceName,  %REG_SZ%,  "$D OUT03/04"
HKR, "Out&Out&04",     SoundDeviceName,  %REG_SZ%,  "$D OUT05/06"
HKR, "Out&Out&06",     SoundDeviceName,  %REG_SZ%,  "$D OUT07/08"
HKR, "Out&Out&08",     SoundDeviceName,  %REG_SZ%,  "$D OUT09/10"
HKR, "Out&Out&10",     SoundDeviceName,  %REG_SZ%,  "$D OUT11/12"
HKR, "Out&Out&12",     SoundDeviceName,  %REG_SZ%,  "$D OUT13/14"
HKR, "Out&Out&14",     SoundDeviceName,  %REG_SZ%,  "$D OUT15/16"
HKR, "Out&Out&16",     SoundDeviceName,  %REG_SZ%,  "$D OUT17/18"
HKR, "Out&Out&18",     SoundDeviceName,  %REG_SZ%,  "$D OUT19/20"
HKR, "Out&Out&20",     SoundDeviceName,  %REG_SZ%,  "$D OUT21/22"
HKR, "Out&Out&22",     SoundDeviceName,  %REG_SZ%,  "$D OUT23/24"
HKR, "Out&Out&24",     SoundDeviceName,  %REG_SZ%,  "$D OUT25/26"
HKR, "Out&Out&26",     SoundDeviceName,  %REG_SZ%,  "$D OUT27/28"
HKR, "Out&Out&28",     SoundDeviceName,  %REG_SZ%,  "$D OUT29/30"
HKR, "Out&Out&30",     SoundDeviceName,  %REG_SZ%,  "$D OUT31/32"


;; The latency settings of the device
;; the latency of the device input path including the ADC, in microseconds (optimized for 44.1kHz)
HKR,, "DeviceInputLatency[us]",     %REG_DWORD%, 1395

;; the latency of the device output path including the DAC, in microseconds (optimized for 44.1kHz)
HKR,, "DeviceOutputLatency[us]",    %REG_DWORD%, 1395

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


;; default size of ASIO buffers, in microseconds
HKR, "ConfigDB\Settings", "AsioBufferDepth[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 size of isochronous stream buffers, in microseconds
HKR, "ConfigDB\Settings", "IsoStreamBufferDepth[us]",   %REG_DWORD%, 2000

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

;; the buffer size that is available in the device implementation
;; in bytes
HKR, "ConfigDB\Settings", "MidiOutBufferSize",          %REG_DWORD%, 60

;; the transmit rate that is used by the PC driver in bits per second
HKR, "ConfigDB\Settings", "MidiTransmitRate",           %REG_DWORD%, 29000

;; prepend the device name to the display name
;HKR, "ConfigDB\Settings", "PrependDeviceNameToDisplayName", %REG_DWORD%, 0

;; timeout for USB requests in milliseconds
HKR, "ConfigDB\Settings", "RequestTimeout[ms]",         %REG_DWORD%, 1000

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

;; 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%, 0




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




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

[_CopyFiles_sys_x64]
dl32r_usb_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]
dl32r_usb.sys=1

[SourceDisksFiles.amd64]
dl32r_usb_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="Mackie"
S_DiskName="Mackie USB Audio Driver Disk"
S_DeviceDesc1="Mackie DL32R"


; 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 =     "dl32r_usb"
S_DriverName_x64 = "dl32r_usb_x64"


; *** EOF ***
