Skip to content

Commit

Permalink
Port dolby atmos configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Naozumi520 committed May 11, 2021
1 parent 85f661c commit f85eb4c
Show file tree
Hide file tree
Showing 11 changed files with 4,756 additions and 10 deletions.
Binary file added Original_drivers&files/AppleAudio/AppleAudio.cat
Binary file not shown.
338 changes: 338 additions & 0 deletions Original_drivers&files/AppleAudio/AppleAudio.inf
Original file line number Diff line number Diff line change
@@ -0,0 +1,338 @@
[Version]
Signature="$WINDOWS NT$"
Class=MEDIA
Provider=%ProviderName%
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
DriverVer = 09/05/2019,6.1.7700.3
CatalogFile=AppleAudio.cat

[SourceDisksNames]
222=%DiskName%,"",222

[SourceDisksFiles]
AppleAudio.sys=222

[SignatureAttributes]
AppleAudio.sys=SignatureAttributes.DRM

[SignatureAttributes.DRM]
DRMLevel=1300

[SignatureAttributes.PETrust]
PETrust=true

[Manufacturer]
%MfgName%=AAUDIO,NTamd64

[AAUDIO.NTamd64]
%AppleAudioDevice.DeviceDesc%=AppleAudioDevice, PCI\VEN_106B&DEV_1803

[DestinationDirs]
AppleAudioDevice.CopyList=12 ; windows\system32\drivers

;======================================================
; Apple Audio Device
;======================================================
[AppleAudioDevice.CopyList]
AppleAudio.sys

[AppleAudioDevice.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,AppleAudio.sys

;
; Power management settings
;
HKR,PowerSettings,SingleComponentMultiFxStates,3,1,0,0,0 ; Turn on multi Fx support.
HKR,PowerSettings,ConservationIdleTime,3,3,0,0,0 ; 3 seconds for idle power management when on battery
HKR,PowerSettings,PerformanceIdleTime,3,3,0,0,0 ; 3 seconds for idle power management when on AC power
HKR,PowerSettings,IdlePowerState,3,3,0,0,0 ; go to D3 for idle power management

HKR,Drivers,SubClasses,,"wave,midi,mixer"

HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,%AppleAudioDevice.DeviceDesc%
HKR,Drivers\mixer\wdmaud.drv,Description,,%AppleAudioDevice.DeviceDesc%

HKLM,%MEDIA_CATEGORIES%\%MicInCustomNameGUID%,Name,,%MicInCustomName%
HKLM,%MEDIA_CATEGORIES%\%DigitalMicCustomNameGUID%,Name,,%DigitalMicCustomName%

;======================================================
; render interfaces: speaker (internal)
;======================================================
[AAUDIO.I.WaveSpeaker]
AddReg=AAUDIO.I.WaveSpeaker.AddReg

[AAUDIO.I.WaveSpeaker.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.WaveSpeaker.szPname%

[AAUDIO.I.TopologySpeaker]
AddReg=AAUDIO.I.TopologySpeaker.AddReg

[AAUDIO.I.TopologySpeaker.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.TopologySpeaker.szPname%

HKR, "EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR, "FX\\0", %PKEY_FX_Association%,,%KSNODETYPE_ANY%

; The following lines opt-in to pull mode.
HKR, "EP\\0", %PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

; The following line overrides the default volume (in dB) for an endpoint.
; Float value expressed in fixed point 16.16 format and stored as a DWORD.
; The upper 16 bits are used for the whole number of the value and the
; lower 16 bits are used for the fractional portion of the value.
; -25.0 dB
HKR, "EP\\0", %PKEY_AudioEndpoint_Default_VolumeInDb%, %REG_DWORD%, 0xFFE70000

;======================================================
; render interfaces: speaker (external: headphone)
;======================================================
[AAUDIO.I.WaveSpeakerHeadphone]
AddReg=AAUDIO.I.WaveSpeakerHeadphone.AddReg

[AAUDIO.I.WaveSpeakerHeadphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.WaveSpeakerHeadphone.szPname%

[AAUDIO.I.TopologySpeakerHeadphone]
AddReg=AAUDIO.I.TopologySpeakerHeadphone.AddReg

[AAUDIO.I.TopologySpeakerHeadphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.TopologySpeakerHeadphone.szPname%

HKR, "EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR, "FX\\0", %PKEY_FX_Association%,,%KSNODETYPE_ANY%

; The following lines opt-in to pull mode.
HKR, "EP\\0", %PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

; The following line overrides the default volume (in dB) for an endpoint.
; Float value expressed in fixed point 16.16 format and stored as a DWORD.
; The upper 16 bits are used for the whole number of the value and the
; lower 16 bits are used for the fractional portion of the value.
; -25.0 dB
HKR, "EP\\0", %PKEY_AudioEndpoint_Default_VolumeInDb%, %REG_DWORD%, 0xFFE70000

;======================================================
; capture interfaces: mic in (external: headphone)
;======================================================
[AAUDIO.I.WaveMicIn]
AddReg=AAUDIO.I.WaveMicIn.AddReg

[AAUDIO.I.WaveMicIn.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.WaveMicIn.szPname%

[AAUDIO.I.TopologyMicIn]
AddReg=AAUDIO.I.TopologyMicIn.AddReg

[AAUDIO.I.TopologyMicIn.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.TopologyMicIn.szPname%

HKR, "EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%

; The following lines opt-in to pull mode.
HKR, "EP\\0", %PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1


;======================================================
; capture interfaces: Internal Digital Mic
;======================================================
[AAUDIO.I.WaveDigitalMic]
AddReg=AAUDIO.I.WaveDigitalMic.AddReg

[AAUDIO.I.WaveDigitalMic.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.WaveDigitalMic.szPname%

[AAUDIO.I.TopologyDigitalMic]
AddReg=AAUDIO.I.TopologyDigitalMic.AddReg

[AAUDIO.I.TopologyDigitalMic.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%AAUDIO.TopologyDigitalMic.szPname%

HKR, "EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%

; The following lines opt-in to pull mode.
HKR, "EP\\0", %PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1


;======================================================
; Apple Audio Device
;======================================================
[AppleAudioDevice.NT]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration, MsApoFxProxy.Registration
CopyFiles=AppleAudioDevice.CopyList
AddReg=AppleAudioDevice.AddReg

[AppleAudioDevice.NT.Interfaces]
;
; Interfaces for speaker (internal) render endpoint.
;
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_WaveSpeaker%, AAUDIO.I.WaveSpeaker
AddInterface=%KSCATEGORY_RENDER%, %KSNAME_WaveSpeaker%, AAUDIO.I.WaveSpeaker
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_WaveSpeaker%, AAUDIO.I.WaveSpeaker
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_TopologySpeaker%, AAUDIO.I.TopologySpeaker
AddInterface=%KSCATEGORY_TOPOLOGY%, %KSNAME_TopologySpeaker%, AAUDIO.I.TopologySpeaker

;
; Interfaces for speaker (external: headphone) render endpoint.
;
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_WaveSpeakerHeadphone%, AAUDIO.I.WaveSpeakerHeadphone
AddInterface=%KSCATEGORY_RENDER%, %KSNAME_WaveSpeakerHeadphone%, AAUDIO.I.WaveSpeakerHeadphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_WaveSpeakerHeadphone%, AAUDIO.I.WaveSpeakerHeadphone
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_TopologySpeakerHeadphone%, AAUDIO.I.TopologySpeakerHeadphone
AddInterface=%KSCATEGORY_TOPOLOGY%, %KSNAME_TopologySpeakerHeadphone%, AAUDIO.I.TopologySpeakerHeadphone

;
; Interfaces for microphone (external: headphone) capture endpoint
;
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_WaveMicIn%, AAUDIO.I.WaveMicIn
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_WaveMicIn%, AAUDIO.I.WaveMicIn
AddInterface=%KSCATEGORY_CAPTURE%, %KSNAME_WaveMicIn%, AAUDIO.I.WaveMicIn
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_TopologyMicIn%, AAUDIO.I.TopologyMicIn
AddInterface=%KSCATEGORY_TOPOLOGY%, %KSNAME_TopologyMicIn%, AAUDIO.I.TopologyMicIn

;
; Interfaces for internal digital microphone capture endpoint
;
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_WaveDigitalMic%, AAUDIO.I.WaveDigitalMic
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_WaveDigitalMic%, AAUDIO.I.WaveDigitalMic
AddInterface=%KSCATEGORY_CAPTURE%, %KSNAME_WaveDigitalMic%, AAUDIO.I.WaveDigitalMic
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_TopologyDigitalMic%, AAUDIO.I.TopologyDigitalMic
AddInterface=%KSCATEGORY_TOPOLOGY%, %KSNAME_TopologyDigitalMic%, AAUDIO.I.TopologyDigitalMic

[AppleAudioDevice.NT.Services]
AddService=AppleAudio,0x00000002,Apple_Audio_Device_Service_Inst

[Apple_Audio_Device_Service_Inst]
DisplayName=%Apple_Audio_Device.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\AppleAudio.sys

[AppleAudioDevice.NT.Wdf]
KmdfService = AppleAudio, AppleAudioDevice_WdfSect

[AppleAudioDevice_WdfSect]
KmdfLibraryVersion = 1.15

;======================================================
; Strings
;======================================================
[Strings]

KSNAME_WaveSpeaker="WaveSpeaker"
KSNAME_TopologySpeaker="TopologySpeaker"

KSNAME_WaveSpeakerHeadphone="WaveSpeakerHeadphone"
KSNAME_TopologySpeakerHeadphone="TopologySpeakerHeadphone"

KSNAME_WaveMicIn="WaveMicIn"
KSNAME_TopologyMicIn="TopologyMicIn"

KSNAME_WaveDigitalMic="WaveDigitalMic"
KSNAME_TopologyDigitalMic="TopologyDigitalMic"

MediaCategories = "SYSTEM\CurrentControlSet\Control\MediaCategories"

PKEY_FX_Association = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},0"

MEDIA_CATEGORIES = "SYSTEM\CurrentControlSet\Control\MediaCategories"
MicInCustomNameGUID = "{d48deb08-fd1c-4d1e-b821-9064d49ae96e}"
DigitalMicCustomNameGUID = "{11c195f9-1e3f-4b29-a329-8efb7ed17e13}"

ProviderName = "Apple Inc."
MfgName = "Apple Inc."
MsCopyRight = "Copyright � Apple Inc."
DiskName = "Apple Audio Installation Disk"

AppleAudioDevice.DeviceDesc = "Apple Audio Device"
Apple_Audio_Device.SvcDesc = "Apple Audio Device"

AAUDIO.WaveSpeaker.szPname="AAUDIO Wave Speaker"
AAUDIO.TopologySpeaker.szPname="AAUDIO Topology Speaker"

AAUDIO.WaveSpeakerHeadphone.szPname="AAUDIO Wave Speaker Headphone"
AAUDIO.TopologySpeakerHeadphone.szPname="AAUDIO Topology Speaker Headphone"

AAUDIO.WaveMicIn.szPname="AAUDIO Wave Microphone Headphone"
AAUDIO.WaveDigitalMic.szPname="AAUDIO Wave Internal Digital Microphone"

AAUDIO.TopologyMicIn.szPname="AAUDIO Topology Microphone Headphone"
AAUDIO.TopologyDigitalMic.szPname="AAUDIO Topology Internal Digital Microphone"

MicInCustomName = "Headset Microphone"
DigitalMicCustomName = "Internal Digital Microphone"

;;
;; PropertyKey GUIDS
;;

Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}"
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}"

KSNODETYPE_ANY = "{00000000-0000-0000-0000-000000000000}"
KSNODETYPE_SPEAKER = "{DFF21CE1-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HEADPHONE = "{DFF21CE2-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_SPDIF = "{DFF21FE5-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HDMI_INTERFACE = "{D1B9CC2A-F519-417f-91C9-55FA65481001}"

PKEY_SYSFX_Association = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},0"
PKEY_SYSFX_PreMixClsid = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},1"
PKEY_SYSFX_PostMixClsid = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},2"
PKEY_SYSFX_UiClsid = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},3"
PKEY_SYSFX_StreamEffectClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},5"
PKEY_SYSFX_ModeEffectClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},6"
PKEY_SYSFX_EndpointEffectClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},7"

PKEY_ItemNameDisplay = "{B725F130-47EF-101A-A5F1-02608C9EEBAC},10"

;; EXCHEN - Change PKEY_AudioEndpoint_Ext_UiClsid to PKEY_AudioEndpoint_ControlPanelPageProvider
PKEY_AudioEndpoint_ControlPanelPageProvider = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},1"
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_PhysicalSpeakers = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},3"
PKEY_AudioEndpoint_Disable_SysFx = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},5"
PKEY_AudioEndpoint_FullRangeSpeakers = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},6"
PKEY_AudioEndpoint_Default_VolumeInDb = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},9"

;;
;; PKEY_AudioEngine_OEMFormat: Specifies the default format that is used for rendering/capturing.
;; vartype = VT_BLOB
;;
PKEY_AudioEngine_OEMFormat = "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},3"

;; EXCHEN - These keys are most critical for WinNext SFX mode
PKEY_SFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},5"
PKEY_MFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},6"
PKEY_EFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},7"

AUDIO_SIGNALPROCESSINGMODE_DEFAULT = "{C18E2F7E-933D-4965-B7D1-1EEF228D2AF3}"
AUDIO_SIGNALPROCESSINGMODE_MEDIA = "{4780004E-7133-41D8-8C74-660DADD2C0EE}"
AUDIO_SIGNALPROCESSINGMODE_MOVIE = "{B26FEB0D-EC94-477C-9494-D1AB8E753F6E}"

;; PKEY_AudioEndpoint_Supports_EventDriven_Mode: Specifies that the endpoint supports event-driven mode.
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"

REG_DWORD = 0x00010001
REG_MULTI_SZ = 0x00010000
REG_MULTI_SZ_APPEND = 0x00010008
REG_MULTI_SZ_DELETE = 0x00018002
REG_EXPAND_SZ = 0x00020000
REG_BINARY_NOCLOBBER = 0x00030003
REG_BINARY = 0x00000001
Binary file added Original_drivers&files/AppleAudio/AppleAudio.sys
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit f85eb4c

Please sign in to comment.