[Version]
Signature   = "$WINDOWS NT$"
Class       = AudioProcessingObject
ClassGuid   = {5989fce8-9cd0-467d-8a6a-5419e31529d4}
Provider    = %ProviderName%
DriverVer = 08/29/2022,9.0.0.2
CatalogFile = YamahaAE.cat

[SourceDisksNames]
222 = %DiskId1%

[SourceDisksFiles]
YamahaAE3.dll=222

[DestinationDirs]
SfxFx.CopyList=11 ; %SystemRoot%\system32

[SignatureAttributes]
YamahaAE3.dll=SignatureAttributes.PETrust

[SignatureAttributes.PETrust]
PETrust=true

[Manufacturer]
%MfgName% = ApoComponents,NTamd64

[ApoComponents.NTamd64]
%Apo.ComponentDesc% = ApoComponent_Install,SWC\VEN_YAMAHA&AID_YAP0

[ApoComponent_Install]
CopyFiles = SfxFx.CopyList
AddReg    = YamahaAPO.AddReg

[ApoComponent_Install.Services]
AddService = ,2    ; no function driver

[SfxFx.CopyList]
YamahaAE3.dll

[YamahaAPO.AddReg]
; YamahaAE Mode effect APO COM registration
HKCR,CLSID\%YAMAHA_FX_MODE_CLSID%,,,%MFX_FriendlyName%
HKCR,CLSID\%YAMAHA_FX_MODE_CLSID%\InProcServer32,,0x00020000,%%SystemRoot%%\System32\YamahaAE3.dll
HKCR,CLSID\%YAMAHA_FX_MODE_CLSID%\InProcServer32,ThreadingModel,,"Both"

; YamahaAE Mode effect APO registration
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "FriendlyName", ,%MFX_FriendlyName%
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "Copyright", ,%CopyRight%
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MajorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MinorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "Flags", 0x00010001, %APO_FLAG_DEFAULT%
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MinInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MaxInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MinOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MaxOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "MaxInstances", 0x00010001, 0xffffffff
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "NumAPOInterfaces", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%YAMAHA_FX_MODE_CLSID%, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

[ApoComponent_Install.HW]
AddReg = FriendlyName_AddReg

[FriendlyName_AddReg]
HKR,,FriendlyName,,%Apo.ComponentDesc%

[Strings]
MfgName           = "Yamaha Corporation"
ProviderName      = "Yamaha Corporation"
Apo.ComponentDesc = "Yamaha Audio Effects Component"
DiskId1           = "Yamaha APO Installation Disk"

; Driver developers would replace these CLSIDs with those of their own APOs
YAMAHA_FX_MODE_CLSID = "{84CC109C-FE50-4BB2-9803-EF20634AA22F}"

; see audioenginebaseapo.idl for APO_FLAG enum values
APO_FLAG_DEFAULT  = 0x0000000e

MFX_FriendlyName = "Audio Proxy Yamaha APO (mode effect)"
CopyRight  = "Copyright(c) 2017-2022 Yamaha Corporation"
