1 USING: alien.c-types alien.syntax classes.struct windows.directx
2 windows.directx.d3dx10math windows.types ;
3 IN: windows.directx.x3daudio
7 CONSTANT: X3DAUDIO_HANDLE_BYTESIZE 20
9 CONSTANT: X3DAUDIO_PI 3.141592654
10 CONSTANT: X3DAUDIO_2PI 6.283185307
12 CONSTANT: X3DAUDIO_SPEED_OF_SOUND 343.5
14 CONSTANT: X3DAUDIO_CALCULATE_MATRIX 0x00000001
15 CONSTANT: X3DAUDIO_CALCULATE_DELAY 0x00000002
16 CONSTANT: X3DAUDIO_CALCULATE_LPF_DIRECT 0x00000004
17 CONSTANT: X3DAUDIO_CALCULATE_LPF_REVERB 0x00000008
18 CONSTANT: X3DAUDIO_CALCULATE_REVERB 0x00000010
19 CONSTANT: X3DAUDIO_CALCULATE_DOPPLER 0x00000020
20 CONSTANT: X3DAUDIO_CALCULATE_EMITTER_ANGLE 0x00000040
21 CONSTANT: X3DAUDIO_CALCULATE_ZEROCENTER 0x00010000
22 CONSTANT: X3DAUDIO_CALCULATE_REDIRECT_TO_LFE 0x00020000
24 TYPEDEF: float FLOAT32
25 TYPEDEF: D3DVECTOR X3DAUDIO_VECTOR
27 TYPEDEF: BYTE[20] X3DAUDIO_HANDLE
29 STRUCT: X3DAUDIO_DISTANCE_CURVE_POINT
31 { DSPSetting FLOAT32 } ;
32 TYPEDEF: X3DAUDIO_DISTANCE_CURVE_POINT* LPX3DAUDIO_DISTANCE_CURVE_POINT
34 STRUCT: X3DAUDIO_DISTANCE_CURVE
35 { pPoints X3DAUDIO_DISTANCE_CURVE_POINT* }
36 { PointCount UINT32 } ;
37 TYPEDEF: X3DAUDIO_DISTANCE_CURVE* LPX3DAUDIO_DISTANCE_CURVE
40 { InnerAngle FLOAT32 }
41 { OuterAngle FLOAT32 }
42 { InnerVolume FLOAT32 }
43 { OuterVolume FLOAT32 }
46 { InnerReverb FLOAT32 }
47 { OuterReverb FLOAT32 } ;
48 TYPEDEF: X3DAUDIO_CONE* LPX3DAUDIO_CONE
50 STRUCT: X3DAUDIO_LISTENER
51 { OrientFront X3DAUDIO_VECTOR }
52 { OrientTop X3DAUDIO_VECTOR }
53 { Position X3DAUDIO_VECTOR }
54 { Velocity X3DAUDIO_VECTOR }
55 { pCone X3DAUDIO_CONE* } ;
56 TYPEDEF: X3DAUDIO_LISTENER* LPX3DAUDIO_LISTENER
58 STRUCT: X3DAUDIO_EMITTER
59 { pCone X3DAUDIO_CONE* }
60 { OrientFront X3DAUDIO_VECTOR }
61 { OrientTop X3DAUDIO_VECTOR }
62 { Position X3DAUDIO_VECTOR }
63 { Velocity X3DAUDIO_VECTOR }
64 { InnerRadius FLOAT32 }
65 { InnerRadiusAngle FLOAT32 }
66 { ChannelCount UINT32 }
67 { ChannelRadius FLOAT32 }
68 { pChannelAzimuths FLOAT32* }
69 { pVolumeCurve X3DAUDIO_DISTANCE_CURVE* }
70 { pLFECurve X3DAUDIO_DISTANCE_CURVE* }
71 { pLPFDirectCurve X3DAUDIO_DISTANCE_CURVE* }
72 { pLPFReverbCurve X3DAUDIO_DISTANCE_CURVE* }
73 { pReverbCurve X3DAUDIO_DISTANCE_CURVE* }
74 { CurveDistanceScaler FLOAT32 }
75 { DopplerScaler FLOAT32 } ;
76 TYPEDEF: X3DAUDIO_EMITTER* LPX3DAUDIO_EMITTER
78 STRUCT: X3DAUDIO_DSP_SETTINGS
79 { pMatrixCoefficients FLOAT32* }
80 { pDelayTimes FLOAT32* }
81 { SrcChannelCount UINT32 }
82 { DstChannelCount UINT32 }
83 { LPFDirectCoefficient FLOAT32 }
84 { LPFReverbCoefficient FLOAT32 }
85 { ReverbLevel FLOAT32 }
86 { DopplerFactor FLOAT32 }
87 { EmitterToListenerAngle FLOAT32 }
88 { EmitterToListenerDistance FLOAT32 }
89 { EmitterVelocityComponent FLOAT32 }
90 { ListenerVelocityComponent FLOAT32 } ;
91 TYPEDEF: X3DAUDIO_DSP_SETTINGS* LPX3DAUDIO_DSP_SETTINGS
94 FUNCTION: void X3DAudioInitialize ( UINT32 SpeakerChannelMask, FLOAT32 SpeedOfSound, X3DAUDIO_HANDLE Instance ) ;
96 FUNCTION: void X3DAudioCalculate ( X3DAUDIO_HANDLE Instance, X3DAUDIO_LISTENER* pListener, X3DAUDIO_EMITTER* pEmitter, UINT32 Flags, X3DAUDIO_DSP_SETTINGS* pDSPSettings ) ;