Vijay Kiran Kamuju : include: Add IXACT3Cue definition.

Alexandre Julliard julliard at winehq.org
Thu Jul 2 15:04:31 CDT 2020


Module: wine
Branch: master
Commit: 057eaf13851b256b756ff1ec9d01473dc5254775
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=057eaf13851b256b756ff1ec9d01473dc5254775

Author: Vijay Kiran Kamuju <infyquest at gmail.com>
Date:   Wed Jul  1 23:07:28 2020 +0200

include: Add IXACT3Cue definition.

Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/xact3.h | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 114 insertions(+)

diff --git a/include/xact3.h b/include/xact3.h
index f869077534..46f3bc467d 100644
--- a/include/xact3.h
+++ b/include/xact3.h
@@ -206,6 +206,57 @@ typedef struct XACT_STREAMING_PARAMETERS
 typedef const XACT_STREAMING_PARAMETERS *LPCXACT_STREAMING_PARAMETERS;
 typedef const XACT_WAVE_STREAMING_PARAMETERS *LPCXACT_WAVE_STREAMING_PARAMETERS;
 
+typedef struct XACT_CUE_PROPERTIES
+{
+    char friendlyName[XACT_CUE_NAME_LENGTH];
+    BOOL interactive;
+    XACTINDEX iaVariableIndex;
+    XACTINDEX numVariations;
+    XACTINSTANCELIMIT maxInstances;
+    XACTINSTANCELIMIT currentInstances;
+} XACT_CUE_PROPERTIES, *LPXACT_CUE_PROPERTIES;
+
+typedef struct XACT_TRACK_PROPERTIES
+{
+    XACTTIME duration;
+    XACTINDEX numVariations;
+    XACTCHANNEL numChannels;
+    XACTINDEX waveVariation;
+    XACTLOOPCOUNT loopCount;
+} XACT_TRACK_PROPERTIES, *LPXACT_TRACK_PROPERTIES;
+
+typedef struct XACT_VARIATION_PROPERTIES
+{
+    XACTINDEX index;
+    XACTVARIATIONWEIGHT weight;
+    XACTVARIABLEVALUE iaVariableMin;
+    XACTVARIABLEVALUE iaVariableMax;
+    BOOL linger;
+} XACT_VARIATION_PROPERTIES, *LPXACT_VARIATION_PROPERTIES;
+
+typedef struct XACT_SOUND_PROPERTIES
+{
+    XACTCATEGORY category;
+    BYTE priority;
+    XACTPITCH pitch;
+    XACTVOLUME volume;
+    XACTINDEX numTracks;
+    XACT_TRACK_PROPERTIES arrTrackProperties[1];
+} XACT_SOUND_PROPERTIES, *LPXACT_SOUND_PROPERTIES;
+
+typedef struct XACT_SOUND_VARIATION_PROPERTIES
+{
+    XACT_VARIATION_PROPERTIES variationProperties;
+    XACT_SOUND_PROPERTIES soundProperties;
+} XACT_SOUND_VARIATION_PROPERTIES, *LPXACT_SOUND_VARIATION_PROPERTIES;
+
+typedef struct XACT_CUE_INSTANCE_PROPERTIES
+{
+    DWORD allocAttributes;
+    XACT_CUE_PROPERTIES cueProperties;
+    XACT_SOUND_VARIATION_PROPERTIES activeVariationProperties;
+} XACT_CUE_INSTANCE_PROPERTIES, *LPXACT_CUE_INSTANCE_PROPERTIES;
+
 typedef struct XACTCHANNELMAPENTRY
 {
     XACTCHANNEL InputChannel;
@@ -368,6 +419,69 @@ typedef const XACT_RUNTIME_PARAMETERS *LPCXACT_RUNTIME_PARAMETERS;
 
 #include <poppack.h>
 
+#define XACT_FLAG_CUE_STOP_RELEASE   XACT_FLAG_STOP_RELEASE
+#define XACT_FLAG_CUE_STOP_IMMEDIATE XACT_FLAG_STOP_IMMEDIATE
+
+#define XACT_CUESTATE_CREATED   XACT_STATE_CREATED
+#define XACT_CUESTATE_PREPARING XACT_STATE_PREPARING
+#define XACT_CUESTATE_PREPARED  XACT_STATE_PREPARED
+#define XACT_CUESTATE_PLAYING   XACT_STATE_PLAYING
+#define XACT_CUESTATE_STOPPING  XACT_STATE_STOPPING
+#define XACT_CUESTATE_STOPPED   XACT_STATE_STOPPED
+#define XACT_CUESTATE_PAUSED    XACT_STATE_PAUSED
+
+/*****************************************************************************
+ * IXACT3Cue interface
+ */
+#define INTERFACE IXACT3Cue
+DECLARE_INTERFACE(IXACT3Cue)
+{
+    /*** IXACT3Cue methods ***/
+    STDMETHOD(Play)(THIS) PURE;
+    STDMETHOD(Stop)(THIS_ DWORD pdwFlags) PURE;
+    STDMETHOD(GetState)(THIS_ DWORD *pdwState) PURE;
+    STDMETHOD(Destroy)(THIS) PURE;
+    STDMETHOD(SetMatrixCoefficients)(THIS_ UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float *pMatrixCoefficients) PURE;
+    STDMETHOD_(XACTVARIABLEINDEX,GetVariableIndex)(THIS_ PCSTR szFriendlyName) PURE;
+    STDMETHOD(SetVariable)(THIS_ XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue) PURE;
+    STDMETHOD(GetVariable)(THIS_ XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE *nValue) PURE;
+    STDMETHOD(Pause)(THIS_ BOOL fPause) PURE;
+    STDMETHOD(GetProperties)(THIS_ LPXACT_CUE_INSTANCE_PROPERTIES *ppProperties) PURE;
+    STDMETHOD(SetOutputVoices)(THIS_ const XAUDIO2_VOICE_SENDS *pSendList) PURE;
+    STDMETHOD(SetOutputVoiceMatrix)(THIS_ IXAudio2Voice *pDestinationVoice, UINT32 SourceChannels, UINT32 DestinationChannels, const float *pLevelMatrix) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IXACT3Cue methods ***/
+#define IXACT3Cue_Play(p)               (p)->lpVtbl->Destroy(p)
+#define IXACT3Cue_Stop(p,a)             (p)->lpVtbl->Stop(p,a)
+#define IXACT3Cue_GetState(p,a)         (p)->lpVtbl->GetState(p,a)
+#define IXACT3Cue_Destroy(p)            (p)->lpVtbl->Destroy(p)
+#define IXACT3Cue_SetMatrixCoefficients(p,a,b,c) (p)->lpVtbl->SetMatrixCoefficients(p,a,b,c)
+#define IXACT3Cue_GetVariableIndex(p,a) (p)->lpVtbl->GetVariableIndex(p,a)
+#define IXACT3Cue_SetVariable(p,a,b)    (p)->lpVtbl->SetVariable(p,a,b)
+#define IXACT3Cue_GetVariable(p,a,b)    (p)->lpVtbl->GetVariable(p,a,b)
+#define IXACT3Cue_Pause(p,a)            (p)->lpVtbl->Pause(p,a)
+#define IXACT3Cue_GetProperties(p,a)    (p)->lpVtbl->GetProperties(p,a)
+#define IXACT3Cue_SetOutputVoices(p,a)  (p)->lpVtbl->SetOutputVoices(p,a)
+#define IXACT3Cue_SetOutputVoiceMatrix(p,a,b,c,d) (p)->lpVtbl->SetOutputVoiceMatrix(p,a,b,c,d)
+#else
+/*** IXACT3Cue methods ***/
+#define IXACT3Cue_Play(p)               (p)->Destroy()
+#define IXACT3Cue_Stop(p,a)             (p)->Stop(a)
+#define IXACT3Cue_GetState(p,a)         (p)->Stop(a)
+#define IXACT3Cue_Destroy(p)            (p)->Destroy()
+#define IXACT3Cue_SetMatrixCoefficients(p,a,b,c) (p)->SetMatrixCoefficients(a,b,c)
+#define IXACT3Cue_GetVariableIndex(p,a) (p)->GetVariableIndex(a)
+#define IXACT3Cue_SetVariable(p,a,b)    (p)->SetVariable(a,b)
+#define IXACT3Cue_GetVariable(p,a,b)    (p)->GetVariable(a,b)
+#define IXACT3Cue_Pause(p,a)            (p)->Pause(a)
+#define IXACT3Cue_GetProperties(p,a)    (p)->GetProperties(a)
+#define IXACT3Cue_SetOutputVoices(p,a)  (p)->SetOutputVoices(a)
+#define IXACT3Cue_SetOutputVoiceMatrix(p,a,b,c,d) (p)->SetOutputVoiceMatrix(a,b,c,d)
+#endif
+
 #define XACT_FLAG_ENGINE_CREATE_MANAGEDATA XACT_FLAG_MANAGEDATA
 #define XACT_FLAG_ENGINE_STOP_IMMEDIATE    XACT_FLAG_STOP_IMMEDIATE
 




More information about the wine-cvs mailing list