]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/x3daudio/x3daudio.factor
use radix literals
[factor.git] / basis / windows / directx / x3daudio / x3daudio.factor
1 USING: alien.c-types alien.syntax classes.struct windows.directx
2 windows.directx.d3dx10math windows.types ;
3 IN: windows.directx.x3daudio
4
5 LIBRARY: x3daudio
6
7 CONSTANT: X3DAUDIO_HANDLE_BYTESIZE 20
8
9 CONSTANT: X3DAUDIO_PI  3.141592654
10 CONSTANT: X3DAUDIO_2PI 6.283185307
11
12 CONSTANT: X3DAUDIO_SPEED_OF_SOUND 343.5
13
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
23
24 TYPEDEF: float FLOAT32
25 TYPEDEF: D3DVECTOR X3DAUDIO_VECTOR
26
27 TYPEDEF: BYTE[20] X3DAUDIO_HANDLE
28
29 STRUCT: X3DAUDIO_DISTANCE_CURVE_POINT
30     { Distance   FLOAT32 }
31     { DSPSetting FLOAT32 } ;
32 TYPEDEF: X3DAUDIO_DISTANCE_CURVE_POINT* LPX3DAUDIO_DISTANCE_CURVE_POINT
33
34 STRUCT: X3DAUDIO_DISTANCE_CURVE
35     { pPoints                            X3DAUDIO_DISTANCE_CURVE_POINT* }
36     { PointCount                         UINT32                         } ;
37 TYPEDEF: X3DAUDIO_DISTANCE_CURVE* LPX3DAUDIO_DISTANCE_CURVE
38
39 STRUCT: X3DAUDIO_CONE
40     { InnerAngle  FLOAT32 }
41     { OuterAngle  FLOAT32 }
42     { InnerVolume FLOAT32 }
43     { OuterVolume FLOAT32 }
44     { InnerLPF    FLOAT32 }
45     { OuterLPF    FLOAT32 }
46     { InnerReverb FLOAT32 }
47     { OuterReverb FLOAT32 } ;
48 TYPEDEF: X3DAUDIO_CONE* LPX3DAUDIO_CONE
49
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
57
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
77
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
92
93
94 FUNCTION: void X3DAudioInitialize ( UINT32 SpeakerChannelMask, FLOAT32 SpeedOfSound, X3DAUDIO_HANDLE Instance ) ;
95
96 FUNCTION: void X3DAudioCalculate ( X3DAUDIO_HANDLE Instance, X3DAUDIO_LISTENER* pListener, X3DAUDIO_EMITTER* pEmitter, UINT32 Flags, X3DAUDIO_DSP_SETTINGS* pDSPSettings ) ;