;
;TempoTec HiFier USB 
;

[Version]
signature="$WINDOWS NT$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%CMEDIA%
Catalogfile=HiFierUSB.cat
DriverVer=02/06/2013,5.12.1.1

[SourceDisksNames]
1000=%cdname%,,,

[SourceDisksFiles.x86]
HiFierUSB.SYS=1000,\x86
ASIOHIFIERUSB.dll=1000,\x86

[SourceDisksFiles.amd64]
HiFierUSB.SYS=1000,\x64
ASIOHIFIERUSB64.dll=1000,\x64

[DestinationDirs]
DefaultDestDir=12
HiFier.CopyFiles=12
ASIO32.CopyFiles=11
ASIO64.CopyFiles=11

[HiFier.CopyFiles]
HiFierUSB.SYS

[ASIO32.CopyFiles]
ASIOHIFIERUSB.dll

[ASIO64.CopyFiles]
ASIOHIFIERUSB64.dll

[Manufacturer]
%TempoTec%=TEMPOTEC,NTamd64

[TEMPOTEC]
%HIFIER.DeviceDesc%=HIFIER,USB\VID_22E1&PID_C001&MI_00

[TEMPOTEC.NTamd64]
%HIFIER.DeviceDesc%=HIFIER,USB\VID_22E1&PID_C001&MI_00


;---------------------------------------------------------------
;                x 86  D D I n s t a l l
;---------------------------------------------------------------

[HIFIER]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
AddReg=HIFIER.AddReg, HIFIER_NAMES.AddReg
CopyFiles=HiFier.CopyFiles,ASIO32.CopyFiles

;---------------------------------------------------------------
;                A M D 64  D D I n s t a l l
;---------------------------------------------------------------

[HIFIER.NTamd64]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration
AddReg=HIFIER.AddReg, HIFIER_NAMES.AddReg
CopyFiles=HiFier.CopyFiles,ASIO64.CopyFiles

;---------------------------------------------------------------
;                I n t e r f a c e s
;---------------------------------------------------------------

[HIFIER.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.TOPO%,Audio.I.SPEAKER.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPEAKER.TOPO%,Audio.I.SPEAKER.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.TOPO%,Audio.I.SPDIFOUT.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPDIFOUT.TOPO%,Audio.I.SPDIFOUT.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.TOPO%,Audio.I.HPOUT.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_HPOUT.TOPO%,Audio.I.HPOUT.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.TOPO%,Audio.I.RECIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_RECIN.TOPO%,Audio.I.RECIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.TOPO%,Audio.I.MICIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_MICIN.TOPO%,Audio.I.MICIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.TOPO%,Audio.I.LINEIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_LINEIN.TOPO%,Audio.I.LINEIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.TOPO%,Audio.I.SPDIFIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPDIFIN.TOPO%,Audio.I.SPDIFIN.TOPO

[HIFIER.NTamd64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPEAKER.WAVE%,Audio.I.SPEAKER.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPEAKER.TOPO%,Audio.I.SPEAKER.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPEAKER.TOPO%,Audio.I.SPEAKER.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SPDIFOUT.WAVE%,Audio.I.SPDIFOUT.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFOUT.TOPO%,Audio.I.SPDIFOUT.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPDIFOUT.TOPO%,Audio.I.SPDIFOUT.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_HPOUT.WAVE%,Audio.I.HPOUT.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HPOUT.TOPO%,Audio.I.HPOUT.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_HPOUT.TOPO%,Audio.I.HPOUT.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_RECIN.WAVE%,Audio.I.RECIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_RECIN.TOPO%,Audio.I.RECIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_RECIN.TOPO%,Audio.I.RECIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_MICIN.WAVE%,Audio.I.MICIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MICIN.TOPO%,Audio.I.MICIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_MICIN.TOPO%,Audio.I.MICIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_LINEIN.WAVE%,Audio.I.LINEIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_LINEIN.TOPO%,Audio.I.LINEIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_LINEIN.TOPO%,Audio.I.LINEIN.TOPO

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_SPDIFIN.WAVE%,Audio.I.SPDIFIN.WAVE
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SPDIFIN.TOPO%,Audio.I.SPDIFIN.TOPO
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SPDIFIN.TOPO%,Audio.I.SPDIFIN.TOPO

[Audio.I.SPEAKER.WAVE]
AddReg=HIFIER.I.SPEAKER.WAVE.AddReg

[Audio.I.SPDIFOUT.WAVE]
AddReg=HIFIER.I.SPDIFOUT.WAVE.AddReg

[Audio.I.HPOUT.WAVE]
AddReg=HIFIER.I.HPOUT.WAVE.AddReg

[Audio.I.RECIN.WAVE]
AddReg=HIFIER.I.RECIN.WAVE.AddReg

[Audio.I.MICIN.WAVE]
AddReg=HIFIER.I.MICIN.WAVE.AddReg

[Audio.I.LINEIN.WAVE]
AddReg=HIFIER.I.LINEIN.WAVE.AddReg

[Audio.I.SPDIFIN.WAVE]
AddReg=HIFIER.I.SPDIFIN.WAVE.AddReg

[Audio.I.SPEAKER.TOPO]
AddReg=HIFIER.I.SPEAKER.TOPO.AddReg

[Audio.I.SPDIFOUT.TOPO]
AddReg=HIFIER.I.SPDIFOUT.TOPO.AddReg

[Audio.I.HPOUT.TOPO]
AddReg=HIFIER.I.HPOUT.TOPO.AddReg

[Audio.I.RECIN.TOPO]
AddReg=HIFIER.I.RECIN.TOPO.AddReg

[Audio.I.MICIN.TOPO]
AddReg=HIFIER.I.MICIN.TOPO.AddReg

[Audio.I.LINEIN.TOPO]
AddReg=HIFIER.I.LINEIN.TOPO.AddReg

[Audio.I.SPDIFIN.TOPO]
AddReg=HIFIER.I.SPDIFIN.TOPO.AddReg

;---------------------------------------------------------------
;                A d d R e g
;---------------------------------------------------------------
[HIFIER.AddReg]
HKR,,Driver,,HIFIERUSB.sys
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,NTMPDriver,,"HIFIERUSB.sys,sbemul.sys"
HKR,Drivers,SubClasses,,"wave,midi,mixer,aux"
HKR,,SetupPreferredAudioDevices,3,01,00,00,00
HKR,Drivers\wave\wdmaud.drv, Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv, Driver,,wdmaud.drv
HKR,Drivers\aux\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%HIFIER.Audio.DeviceDesc%
HKR,Drivers\mixer\wdmaud.drv,Description,,%HIFIER.Audio.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%HIFIER.Audio.DeviceDesc%
HKR,Drivers\aux\wdmaud.drv,Description,,%HIFIER.Audio.DeviceDesc%

[HIFIER_NAMES.AddReg]
HKLM,%MediaCategories%\%HIFIERGUID.SpdifOut%,Name,,%HIFIERNode.SpdifOut%
HKLM,%MediaCategories%\%HIFIERGUID.SpdifOut%,Display,1,00,00,00,00
HKLM,%MediaCategories%\%HIFIERGUID.SpdifIn%,Name,,%HIFIERNode.SpdifIn%
HKLM,%MediaCategories%\%HIFIERGUID.SpdifIn%,Display,1,00,00,00,00

[HIFIER.I.SPEAKER.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPEAKER.WAVE.szPname%

[HIFIER.I.SPDIFOUT.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPDIFOUT.WAVE.szPname%

[HIFIER.I.HPOUT.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.HPOUT.WAVE.szPname%

[HIFIER.I.RECIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.RECIN.WAVE.szPname%

[HIFIER.I.MICIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.MICIN.WAVE.szPname%

[HIFIER.I.LINEIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.LINEIN.WAVE.szPname%

[HIFIER.I.SPDIFIN.WAVE.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPDIFIN.WAVE.szPname%

[HIFIER.I.SPEAKER.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPEAKER.TOPO.szPname%

[HIFIER.I.SPDIFOUT.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPDIFOUT.TOPO.szPname%

[HIFIER.I.HPOUT.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.HPOUT.TOPO.szPname%

[HIFIER.I.RECIN.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.RECIN.TOPO.szPname%

[HIFIER.I.MICIN.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.MICIN.TOPO.szPname%

[HIFIER.I.LINEIN.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.LINEIN.TOPO.szPname%

[HIFIER.I.SPDIFIN.TOPO.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%HIFIER.SPDIFIN.TOPO.szPname%

;---------------------------------------------------------------
;                S e r v i c e s  
;---------------------------------------------------------------

[HIFIER.Services]
AddService=HIFIERUSB, 0x00000002, HIFIER.ServiceInstall

[HIFIER.NTamd64.Services]
AddService=HIFIERUSB, 0x00000002, HIFIER.ServiceInstall

[HIFIER.ServiceInstall]
DisplayName=%HIFIER.DeviceDesc%
ServiceType=%SERVICE_KERNEL_DRIVER%
StartType=%SERVICE_DEMAND_START%
ErrorControl=%SERVICE_ERROR_NORMAL%
ServiceBinary=%12%\HIFIERUSB.SYS

;---------------------------------------------------------------
;                S t r i n g s
;---------------------------------------------------------------

[Strings]
; non-localizeable
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}" ; non-localizable

KSNAME_SPEAKER.WAVE="SPKOut00Wave"
KSNAME_SPEAKER.TOPO="SPKOut00Topo"
KSNAME_SPDIFOUT.WAVE="SPDIFOut00Wave"
KSNAME_SPDIFOUT.TOPO="SPDIFOut00Topo"
KSNAME_HPOUT.WAVE="HPOut00Wave"
KSNAME_HPOUT.TOPO="HPOut00Topo"
KSNAME_RECIN.WAVE="RecIn00Wave"
KSNAME_RECIN.TOPO="RecIn00Topo"
KSNAME_MICIN.WAVE="MicIn00Wave"
KSNAME_MICIN.TOPO="MicIn00Topo"
KSNAME_LINEIN.WAVE="LineIn00Wave"
KSNAME_LINEIN.TOPO="LineIn00Topo"
KSNAME_SPDIFIN.WAVE="SPDIFIn00Wave"
KSNAME_SPDIFIN.TOPO="SPDIFIn00Topo"


SERVICE_KERNEL_DRIVER=1
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
REG_DWORD=0x00010001

MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"

;localizeable
HIFIERGUID.SpdifOut	="{12C15946-BA58-42c1-9F11-8341E2198622}"
HIFIERGUID.SpdifIn	="{017D895C-7AE7-4f4d-B78C-CD1FFC0CE776}"

CMEDIA="TempoTec Corp."
TempoTec="TempoTec"
HIFIER.DeviceDesc="TempoTec Serenade USB Device"
HIFIER.SPEAKER.WAVE.szPname="Speaker"
HIFIER.SPDIFOUT.WAVE.szPname="SpdifOut"
HIFIER.HPOUT.WAVE.szPname="Headphone"
HIFIER.RECIN.WAVE.szPname="Capture"
HIFIER.MICIN.WAVE.szPname="MicIn"
HIFIER.LINEIN.WAVE.szPname="LineIn"
HIFIER.SPDIFIN.WAVE.szPname="SpdifIn"
HIFIER.SPEAKER.TOPO.szPname="Speaker Mixer"
HIFIER.SPDIFOUT.TOPO.szPname="SpdifOut Mixer"
HIFIER.HPOUT.TOPO.szPname="Headphone Mixer"
HIFIER.RECIN.TOPO.szPname="Capture Mixer"
HIFIER.MICIN.TOPO.szPname="MicIn Mixer"
HIFIER.LINEIN.TOPO.szPname="LineIn Mixer"
HIFIER.SPDIFIN.TOPO.szPname="SpdifIn Mixer"
HIFIER.Audio.DeviceDesc="USB Audio"
cdname="TempoTec HiFier USB Device Installation Disk"
HIFIERNode.SpdifOut="SPDIF Out"
HIFIERNode.SpdifIn="SPDIF In"
REG_BINARY          = 0x00000001
