windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx8vb/dmi.idl
2020-09-26 16:20:57 +08:00

2848 lines
110 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: dmi.idl
//
//--------------------------------------------------------------------------
//Have C code define these as longs so we dont have to cast to enum
//
#ifdef C_ONLY
#define CONST_DSSCLFLAGS LONG
#define CONST_DSSPEAKERFLAGS LONG
#define CONST_DSBSTATUSFLAGS LONG
#define CONST_DSBPLAYFLAGS LONG
#define CONST_DSBLOCKFLAGS LONG
#define CONST_DS3DAPPLYFLAGS LONG
#define CONST_DS3DMODEFLAGS LONG
#define CONST_DSCBSTATUSFLAGS LONG
#define CONST_DSCBSTARTFLAGS LONG
#define CONST_DSCBLOCKFLAGS LONG
#define CONST_DSBCAPSFLAGS LONG
#define CONST_DSCBCAPSFLAGS LONG
#define CONST_DSCCAPSFLAGS LONG
#define CONST_DSCAPSFLAGS LONG
#define CONST_WAVEFORMATFLAGS LONG
#define CONST_DMUS_PC_FLAGS LONG
#define CONST_DMUS_PC_CLASS LONG
#define CONST_DMUS_PORT_TYPE LONG
#define CONST_DMUSIC_PATH LONG
#define CONST_DMUSIC_STANDARD_AUDIO_PATH LONG
#define CONST_DMUS_SEGF_FLAGS LONG
#define CONST_DMUS_PCHANNEL LONG
#define CONST_DMUS_AUDIO LONG
#define CONST_DMUS_AUDIOPARAMS LONG
#define CONST_DSFX_I3DL2_MATERIAL_PRESET LONG
#define CONST_DSFX_I3DL2_ENVIRONMENT_PRESETS LONG
#define CONST_DSFXGARGLE_RATEHZ LONG
#define CONST_DSFXGARGLE_WAVE LONG
#define CONST_DSFX_WAVE LONG
#define CONST_DSFX_WETDRY LONG
#define CONST_DSFX_DEPTH LONG
#define CONST_DSFX_FEEDBACK LONG
#define CONST_DSFX_FREQUENCY LONG
#define CONST_DSFX_DELAY LONG
#define CONST_DSFX_PHASE LONG
#define CONST_DSFX_DELAY LONG
#define CONST_DSFX_PANDELAY LONG
#define CONST_DSFXDISTORTION_GAIN LONG
#define CONST_DSFXDISTORTION_EDGE LONG
#define CONST_DSFXDISTORTION_POSTEQCENTERFREQUENCY LONG
#define CONST_DSFXDISTORTION_POSTEQBANDWIDTH LONG
#define CONST_DSFXDISTORTION_PRELOWPASSCUTOFF LONG
#define CONST_DSFX_LEFTRIGHTDELAY LONG
#if 0
#define CONST_I3DL2SOURCEFLAGS LONG
#define CONST_I3DL2SOURCEDIRECT LONG
#define CONST_I3DL2SOURCEDIRECTHF LONG
#define CONST_I3DL2SOURCEROOM LONG
#define CONST_I3DL2SOURCEROOMHF LONG
#define CONST_I3DL2SOURCEROOMROLLOFFFACTOR LONG
#define CONST_I3DL2SOURCEOBSTRUCTION LONG
#define CONST_I3DL2SOURCEOBSTRUCTIONLFRATIO LONG
#define CONST_I3DL2SOURCEOCCLUSION LONG
#define CONST_I3DL2SOURCEOCCLUSIONLFRATIO LONG
#endif
#define CONST_DSFX_I3DL2_ENVIRONMENT_PRESETS LONG
#define CONST_DSFX_I3DL2_MATERIAL_PRESET LONG
#define CONST_DSFX_I3DL2REVERB_QUALITY LONG
//We need this constant as an enum in C
//#define CONST_DMUS_NOTIFICATION_TYPE LONG
#endif
//Defines common to all languages LONG
#define MUSIC_TIME LONG
#define REFERENCE_TIME LONG
//Renames for VB legibility
#ifdef VB_ONLY
//
// Direct Sound/Music Structure names
//
#define DSBCAPS_CDES DSBCAPS
#define DSCAPS_CDESC DSCAPS
#define WAVEFORMATEX_CDESC WAVEFORMATEX
#define DSBUFFERDESC_CDESC DSBUFFERDESC
#define DSCURSORS_CDESC DSCURSORS
#define DS3DBUFFER_CDESC DS3DBUFFER
#define DS3DLISTENER_CDESC DS3DLISTENER
#define DSCBCAPS_CDESC DSCBCAPS
#define DSCCAPS_CDESC DSCCAPS
#define DSBCAPS_CDESC DSBCAPS
#define DSCBUFFERDESC_CDESC DSCBUFFERDESC
#define DSBPOSITIONNOTIFY_CDESC DSBPOSITIONNOTIFY
#define DSCEFFECTDESC_CDESC DSCEFFECTDESC
#define DSEFFECTDESC_CDESC DSEFFECTDESC
#define DMUS_TIMESIGNATURE_CDESC DMUS_TIMESIGNATURE
#define DMUS_NOTIFICATION_PMSG_CDESC DMUS_NOTIFICATION_PMSG
#define DMUS_CURVE_PMSG_CDESC DMUS_CURVE_PMSG
#define DMUS_NOTE_PMSG_CDESC DMUS_NOTE_PMSG
#define DMUS_AUDIOPARAMS_CDESC DMUS_AUDIOPARAMS
#define DSFXSEND_CDESC DSFXSEND
#define DSFXCHORUS_CDESC DSFXCHORUS
#define DSFXFLANGER_CDESC DSFXFLANGER
#define DSFXECHO_CDESC DSFXECHO
#define DSFXDISTORTION_CDESC DSFXDISTORTION
#define DSFXCOMPRESSOR_CDESC DSFXCOMPRESSOR
#define DSFXGARGLE_CDESC DSFXGARGLE
#define DSFXI3DL2OBSTRUCTION_CDESC DSFXI3DL2OBSTRUCTION
#define DSFXI3DL2OCCLUSION_CDESC DSFXI3DL2OCCLUSION
#if 0
#define DSFXI3DL2SOURCE_CDESC DSFXI3DL2SOURCE
#endif
#define DSFXI3DL2REVERB_CDESC DSFXI3DL2REVERB
#define DSFXWAVESREVERB_CDESC DSFXWAVESREVERB
#define DSFXPARAMEQ_CDESC DSFXPARAMEQ
///////////////////////////////////////////////////////////////////////////
// Interfaces
///////////////////////////////////////////////////////////////////////////
// Direct Sound Interfaces
#define I_dxj_DirectSound DirectSound8
#define I_dxj_DirectSoundBuffer DirectSoundSecondaryBuffer8
#define I_dxj_DirectSoundPrimaryBuffer DirectSoundPrimaryBuffer8
#define I_dxj_DirectSound3dListener DirectSound3DListener8
#define I_dxj_DirectSound3dBuffer DirectSound3DBuffer8
#define I_dxj_DirectSoundCapture DirectSoundCapture8
#define I_dxj_DirectSoundCaptureBuffer DirectSoundCaptureBuffer8
#define I_dxj_DSEnum DirectSoundEnum8
// Direct Sound Effects Interfaces
#define I_dxj_DirectSoundFXSend DirectSoundFXSend8
#define I_dxj_DirectSoundFXGargle DirectSoundFXGargle8
#define I_dxj_DirectSoundFXChorus DirectSoundFXChorus8
#define I_dxj_DirectSoundFXFlanger DirectSoundFXFlanger8
#define I_dxj_DirectSoundFXEcho DirectSoundFXEcho8
#define I_dxj_DirectSoundFXDistortion DirectSoundFXDistortion8
#define I_dxj_DirectSoundFXCompressor DirectSoundFXCompressor8
#if 0
#define I_dxj_DirectSoundFXI3DL2Source DirectSoundFXI3DL2Source8
#endif
#define I_dxj_DirectSoundFXI3DL2Reverb DirectSoundFXI3DL2Reverb8
#define I_dxj_DirectSoundFXParamEQ DirectSoundFXParamEq8
#define I_dxj_DirectSoundFXWavesReverb DirectSoundFXWavesReverb8
// Direct Music Interfaces
#define I_dxj_DirectMusicCollection DirectMusicCollection8
#define I_dxj_DirectMusicPerformance DirectMusicPerformance8
#define I_dxj_DirectMusicSegmentState DirectMusicSegmentState8
#define I_dxj_DirectMusicChordMap DirectMusicChordMap8
#define I_dxj_DirectMusicStyle DirectMusicStyle8
#define I_dxj_DirectMusicBand DirectMusicBand8
#define I_dxj_DirectMusicComposer DirectMusicComposer8
#define I_dxj_DirectMusicSegment DirectMusicSegment8
#define I_dxj_DirectMusicLoader DirectMusicLoader8
#define I_dxj_DirectMusicAudioPath DirectMusicAudioPath8
#define I_dxj_DirectMusicSong DirectMusicSong8
// Renamed Function names for VB readibility
#define clone Clone
#define setStartPoint SetStartPoint
#define getStartPoint GetStartPoint
#define setLoopPoints SetLoopPoints
#define getLoopPointStart GetLoopPointStart
#define getLoopPointEnd GetLoopPointEnd
#define getLength GetLength
#define setLength SetLength
#define getRepeats GetRepeats
#define setRepeats SetRepeats
#define download Download
#define unload Unload
#define setAutoDownloadEnable SetAutoDownloadEnable
#define setTempoEnable SetTempoEnable
#define setTimeSigEnable SetTimeSigEnable
#define setStandardMidiFile SetStandardMidiFile
#define connectToCollection ConnectToCollection
#define createSoundBuffer CreateSoundBuffer
#define createSoundBufferFromFile CreateSoundBufferFromFile
#define createSoundBufferFromResource CreateSoundBufferFromResource
#define getCaps GetCaps
#define duplicateSoundBuffer DuplicateSoundBuffer
#define setCooperativeLevel SetCooperativeLevel
#define getSpeakerConfig GetSpeakerConfig
#define setSpeakerConfig SetSpeakerConfig
#define getDirectSound3dListener GetDirectSound3DListener
#define getCurrentPosition GetCurrentPosition
#define getFormat GetFormat
#define getVolume GetVolume
#define getPan GetPan
#define getStatus GetStatus
#define writeBuffer WriteBuffer
#define readBuffer ReadBuffer
#define play Play
#define setFormat SetFormat
#define setVolume SetVolume
#define setPan SetPan
#define stop Stop
#define restore Restore
#define createSoundBuffer CreateSoundBuffer
#define createSoundBufferFromFile CreateSoundBufferFromFile
#define getCaps GetCaps
#define initialize Initialize
#define getDirectSound3dBuffer GetDirectSound3DBuffer
#define getCaps GetCaps
#define getCurrentPosition GetCurrentPosition
#define getFrequency GetFrequency
#define setCurrentPosition SetCurrentPosition
#define setFrequency SetFrequency
#define setNotificationPositions SetNotificationPositions
#define saveToFile SaveToFile
#define getAllParameters GetAllParameters
#define getDistanceFactor GetDistanceFactor
#define getDopplerFactor GetDopplerFactor
#define getOrientation GetOrientation
#define getPosition GetPosition
#define getRolloffFactor GetRolloffFactor
#define getVelocity GetVelocity
#define setAllParameters SetAllParameters
#define setDistanceFactor SetDistanceFactor
#define setDopplerFactor SetDopplerFactor
#define setOrientation SetOrientation
#define setPosition SetPosition
#define setRolloffFactor SetRolloffFactor
#define setVelocity SetVelocity
#define commitDeferredSettings CommitDeferredSettings
#define getDirectSoundBuffer GetDirectSoundBuffer
#define getDirectSoundBuffer GetDirectSoundBuffer
#define getAllParameters GetAllParameters
#define getConeAngles GetConeAngles
#define getConeOrientation GetConeOrientation
#define getConeOutsideVolume GetConeOutsideVolume
#define getMaxDistance GetMaxDistance
#define getMinDistance GetMinDistance
#define getMode GetMode
#define getPosition GetPosition
#define getVelocity GetVelocity
#define setAllParameters SetAllParameters
#define setConeAngles SetConeAngles
#define setConeOrientation SetConeOrientation
#define setConeOutsideVolume SetConeOutsideVolume
#define setMaxDistance SetMaxDistance
#define setMinDistance SetMinDistance
#define setMode SetMode
#define setPosition SetPosition
#define setVelocity SetVelocity
#define createCaptureBuffer CreateCaptureBuffer
#define getFormat GetFormat
#define getStatus GetStatus
#define start Start
#define stop Stop
#define writeBuffer WriteBuffer
#define readBuffer ReadBuffer
#define setNotificationPositions SetNotificationPositions
#define getGuid GetGuid
#define getDescription GetDescription
#define getName GetName
#define getCount GetCount
#define loadSegment LoadSegment
#define loadStyle LoadStyle
#define loadBand LoadBand
#define loadCollection LoadCollection
#define loadSegmentFromResource LoadSegmentFromResource
#define loadStyleFromResource LoadStyleFromResource
#define loadBandFromResource LoadBandFromResource
#define loadCollectionFromResource LoadCollectionFromResource
#define setSearchDirectory SetSearchDirectory
#define loadChordMap LoadChordMap
#define loadChordMapFromResource LoadChordMapFromResource
#define clone Clone
#define setStartPoint SetStartPoint
#define getStartPoint GetStartPoint
#define setLoopPoints SetLoopPoints
#define getLoopPointStart GetLoopPointStart
#define getLoopPointEnd GetLoopPointEnd
#define getLength GetLength
#define setLength SetLength
#define getRepeats GetRepeats
#define setRepeats SetRepeats
#define download Download
#define unload Unload
#define setAutoDownloadEnable SetAutoDownloadEnable
#define setTempoEnable SetTempoEnable
#define setTimeSigEnable SetTimeSigEnable
#define setStandardMidiFile SetStandardMidiFile
#define connectToCollection ConnectToCollection
#define autoTransition AutoTransition
#define composeSegmentFromTemplate ComposeSegmentFromTemplate
#define composeSegmentFromShape ComposeSegmentFromShape
#define composeTransition ComposeTransition
#define composeTemplateFromShape ComposeTemplateFromShape
#define changeChordMap ChangeChordMap
#define createSegment CreateSegment
#define download Download
#define unload Unload
#define getBandName GetBandName
#define getBandCount GetBandCount
#define getBand GetBand
#define getDefaultBand GetDefaultBand
#define getMotifName GetMotifName
#define getMotifCount GetMotifCount
#define getMotif GetMotif
#define getTimeSignature GetTimeSignature
#define getTempo GetTempo
#define getScale GetScale
#define getRepeats GetRepeats
#define getSeek GetSeek
#define getStartPoint GetStartPoint
#define getStartTime GetStartTime
#define getSegment GetSegment
#define closeDown CloseDown
#define getSegmentState GetSegmentState
#define invalidate Invalidate
#define isPlaying IsPlaying
#define addNotificationType AddNotificationType
#define removeNotificationType RemoveNotificationType
#define setNotificationHandle SetNotificationHandle
#define getNotificationPMSG GetNotificationPMSG
#define musicToClockTime MusicToClockTime
#define clockToMusicTime ClockToMusicTime
#define getMusicTime GetMusicTime
#define getClockTime GetClockTime
#define getPrepareTime GetPrepareTime
#define getBumperLength GetBumperLength
#define getLatencyTime GetLatencyTime
#define getQueueTime GetQueueTime
#define getResolvedTime GetResolvedTime
#define setPrepareTime SetPrepareTime
#define setBumperLength SetBumperLength
#define adjustTime AdjustTime
#define setMasterAutoDownload SetMasterAutoDownload
#define getMasterAutoDownload GetMasterAutoDownload
#define setMasterTempo SetMasterTempo
#define getMasterTempo GetMasterTempo
#define setMasterVolume SetMasterVolume
#define getMasterVolume GetMasterVolume
#define setMasterGrooveLevel SetMasterGrooveLevel
#define getMasterGrooveLevel GetMasterGrooveLevel
#define getStyle GetStyle
#define getChordMap GetChordMap
#define getCommand GetCommand
#define getGrooveLevel GetGrooveLevel
#define getTempo GetTempo
#define getTimeSig GetTimeSig
#define sendNotePMSG SendNotePMSG
#define sendCurvePMSG SendCurvePMSG
#define sendMIDIPMSG SendMIDIPMSG
#define sendPatchPMSG SendPatchPMSG
#define sendTempoPMSG SendTempoPMSG
#define sendTransposePMSG SendTransposePMSG
#define sendTimeSigPMSG SendTimeSigPMSG
#define buffer Buffer
#define duplicate Duplicate
#endif
///////////////////////////////////////////////////////////////////////////
//
// Interface List
//
///////////////////////////////////////////////////////////////////////////
//
// DirectSound
//
interface I_dxj_DirectSound;
interface I_dxj_DirectSoundBuffer;
interface I_dxj_DirectSoundPrimaryBuffer;
interface I_dxj_DirectSound3dBuffer;
interface I_dxj_DirectSound3dListener;
interface I_dxj_DirectSoundCapture;
interface I_dxj_DirectSoundCaptureBuffer;
interface I_dxj_DirectSoundNotify;
interface I_dxj_DSEnum;
#if 0
interface I_dxj_DirectSoundFXSend;
#endif
interface I_dxj_DirectSoundFXGargle;
interface I_dxj_DirectSoundFXChorus;
interface I_dxj_DirectSoundFXFlanger;
interface I_dxj_DirectSoundFXEcho;
interface I_dxj_DirectSoundFXDistortion;
interface I_dxj_DirectSoundFXCompressor;
#if 0
interface I_dxj_DirectSoundFXI3DL2Source;
#endif
interface I_dxj_DirectSoundFXI3DL2Reverb;
interface I_dxj_DirectSoundFXParamEQ;
interface I_dxj_DirectSoundFXWavesReverb;
//
// Direct Music
//
interface I_dxj_DirectMusicLoader;
interface I_dxj_DirectMusicSegment;
interface I_dxj_DirectMusicPerformance;
interface I_dxj_DirectMusicComposer;
interface I_dxj_DirectMusicBand;
interface I_dxj_DirectMusicStyle;
interface I_dxj_DirectMusicChordMap;
interface I_dxj_DirectMusicSegmentState;
interface I_dxj_DirectMusicCollection;
interface I_dxj_DirectMusicAudioPath;
#if 0
interface I_dxj_DirectMusicSong;
#endif
///////////////////////////////////////////////////////////////////////////
//
// Direct Sound Constants
//
///////////////////////////////////////////////////////////////////////////
#ifdef VB_ONLY
[helpcontext(81004)]
typedef enum CONST_DSFX_WAVESREVERB_INGAIN
{
DSFX_WAVESREVERB_INGAIN_MIN = -96,
DSFX_WAVESREVERB_INGAIN_MAX = 0
} CONST_DSFX_WAVESREVERB_INGAIN;
[helpcontext(81005)]
typedef enum CONST_DSFX_WAVESREVERB_REVERBMIX
{
DSFX_WAVESREVERB_REVERBMIX_MIN = -96,
DSFX_WAVESREVERB_REVERBMIX_MAX = 0
} CONST_DSFX_WAVESREVERB_REVERBMIX;
[helpcontext(81977)]
typedef enum CONST_DSFX_I3DL2REVERB_ROOM
{
DSFX_I3DL2REVERB_ROOM_MIN = -10000,
DSFX_I3DL2REVERB_ROOM_MAX = 0,
DSFX_I3DL2REVERB_ROOM_DEFAULT = -10000
} CONST_DSFX_I3DL2REVERB_ROOM;
[helpcontext(81978)]
typedef enum CONST_DSFX_I3DL2REVERB_ROOMHF
{
DSFX_I3DL2REVERB_ROOMHF_MIN = -10000,
DSFX_I3DL2REVERB_ROOMHF_MAX = 0,
DSFX_I3DL2REVERB_ROOMHF_DEFAULT = 0
} CONST_DSFX_I3DL2REVERB_ROOMHF;
[helpcontext(81979)]
typedef enum CONST_DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR
{
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN = 0,
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX = 1,
DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT = 0
} CONST_DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR;
[helpcontext(81975)]
typedef enum CONST_DSFX_I3DL2REVERB_REFLECTIONS
{
DSFX_I3DL2REVERB_REFLECTIONS_MIN = -10000,
DSFX_I3DL2REVERB_REFLECTIONS_MAX = 1000,
DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT = -10000
} CONST_DSFX_I3DL2REVERB_REFLECTIONS;
[helpcontext(81976)]
typedef enum CONST_DSFX_I3DL2REVERB_REVERB
{
DSFX_I3DL2REVERB_REVERB_MIN = -10000,
DSFX_I3DL2REVERB_REVERB_MAX = 2000,
DSFX_I3DL2REVERB_REVERB_DEFAULT = -10000
} CONST_DSFX_I3DL2REVERB_REVERB;
[helpcontext(81972)]
typedef enum CONST_DSFX_I3DL2REVERB_DIFFUSION
{
DSFX_I3DL2REVERB_DIFFUSION_MIN = 0,
DSFX_I3DL2REVERB_DIFFUSION_MAX = 100,
DSFX_I3DL2REVERB_DIFFUSION_DEFAULT = 100
} CONST_DSFX_I3DL2REVERB_DIFFUSION;
[helpcontext(81971)]
typedef enum CONST_DSFX_I3DL2REVERB_DENSITY
{
DSFX_I3DL2REVERB_DENSITY_MIN = 0,
DSFX_I3DL2REVERB_DENSITY_MAX = 100,
DSFX_I3DL2REVERB_DENSITY_DEFAULT = 100
} CONST_DSFX_I3DL2REVERB_DENSITY;
[helpcontext(81973)]
typedef enum CONST_DSFX_I3DL2REVERB_HFREFERENCE
{
DSFX_I3DL2REVERB_HFREFERENCE_MIN = 20,
DSFX_I3DL2REVERB_HFREFERENCE_MAX = 20000,
DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT = 5000
} CONST_DSFX_I3DL2REVERB_HFREFERENCE;
[helpcontext(81974)]
typedef enum CONST_DSFX_I3DL2REVERB_QUALITY
{
DSFX_I3DL2REVERB_QUALITY_MIN = 0,
DSFX_I3DL2REVERB_QUALITY_MAX = 3,
DSFX_I3DL2REVERB_QUALITY_DEFAULT = 2
} CONST_DSFX_I3DL2REVERB_QUALITY;
[helpcontext(81989)]
typedef enum CONST_DSFXCOMPRESSOR_GAIN
{
DSFXCOMPRESSOR_GAIN_MIN = -60,
DSFXCOMPRESSOR_GAIN_MAX = 60
} CONST_DSFXCOMPRESSOR_GAIN;
[helpcontext(81985)]
typedef enum CONST_DSFXCOMPRESSOR_ATTACK
{
DSFXCOMPRESSOR_ATTACK_MIN = 1,
DSFXCOMPRESSOR_ATTACK_MAX = 500
} CONST_DSFXCOMPRESSOR_ATTACK;
[helpcontext(81992)]
typedef enum CONST_DSFXCOMPRESSOR_RELEASE
{
DSFXCOMPRESSOR_RELEASE_MIN = 50,
DSFXCOMPRESSOR_RELEASE_MAX = 3000
} CONST_DSFXCOMPRESSOR_RELEASE;
[helpcontext(81993)]
typedef enum CONST_DSFXCOMPRESSOR_THRESHOLD
{
DSFXCOMPRESSOR_THRESHOLD_MIN = -60,
DSFXCOMPRESSOR_THRESHOLD_MAX = 0
} CONST_DSFXCOMPRESSOR_THRESHOLD;
[helpcontext(81991)]
typedef enum CONST_DSFXCOMPRESSOR_RATIO
{
DSFXCOMPRESSOR_RATIO_MIN = 1,
DSFXCOMPRESSOR_RATIO_MAX = 100
} CONST_DSFXCOMPRESSOR_RATIO;
[helpcontext(81990)]
typedef enum CONST_DSFXCOMPRESSOR_PREDELAY {
DSFXCOMPRESSOR_PREDELAY_MIN = 0,
DSFXCOMPRESSOR_PREDELAY_MAX = 4
} CONST_DSFXCOMPRESSOR_PREDELAY;
[helpcontext(81995)]
typedef enum CONST_DSFXDISTORTION_GAIN
{
DSFXDISTORTION_GAIN_MIN = -60,
DSFXDISTORTION_GAIN_MAX = 0
} CONST_DSFXDISTORTION_GAIN;
[helpcontext(81994)]
typedef enum CONST_DSFXDISTORTION_EDGE
{
DSFXDISTORTION_EDGE_MIN = 0,
DSFXDISTORTION_EDGE_MAX = 100
} CONST_DSFXDISTORTION_EDGE;
[helpcontext(81002)]
typedef enum CONST_DSFXPARAMEQ_CENTER
{
DSFXPARAMEQ_CENTER_MIN = 80,
DSFXPARAMEQ_CENTER_MAX = 16000
} CONST_DSFXPARAMEQ_CENTER;
[helpcontext(81001)]
typedef enum CONST_DSFXPARAMEQ_BANDWIDTH
{
DSFXPARAMEQ_BANDWIDTH_MIN = 1,
DSFXPARAMEQ_BANDWIDTH_MAX = 36
} CONST_DSFXPARAMEQ_BANDWIDTH;
[helpcontext(81003)]
typedef enum CONST_DSFXPARAMEQ_GAIN
{
DSFXPARAMEQ_GAIN_MIN = -15,
DSFXPARAMEQ_GAIN_MAX = 15
} CONST_DSFXPARAMEQ_GAIN;
[helpcontext(81997)]
typedef enum CONST_DSFXDISTORTION_POSTEQCENTERFREQUENCY
{
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN = 100,
DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX = 8000
} CONST_DSFXDISTORTION_POSTEQCENTERFREQUENCY;
[helpcontext(81996)]
typedef enum CONST_DSFXDISTORTION_POSTEQBANDWIDTH
{
DSFXDISTORTION_POSTEQBANDWIDTH_MIN = 100,
DSFXDISTORTION_POSTEQBANDWIDTH_MAX = 8000
} CONST_DSFXDISTORTION_POSTEQBANDWIDTH;
[helpcontext(81998)]
typedef enum CONST_DSFXDISTORTION_PRELOWPASSCUTOFF
{
DSFXDISTORTION_PRELOWPASSCUTOFF_MIN = 100,
DSFXDISTORTION_PRELOWPASSCUTOFF_MAX = 8000
} CONST_DSFXDISTORTION_PRELOWPASSCUTOFF;
[helpcontext(81980)]
typedef enum CONST_DSFX_LEFTRIGHTDELAY
{
DSFX_LEFTRIGHTDELAY_MIN = 1,
DSFX_LEFTRIGHTDELAY_MAX = 2000
} CONST_DSFX_LEFTRIGHTDELAY;
[helpcontext(81981)]
typedef enum CONST_DSFX_PANDELAY
{
DSFX_PANDELAY_MIN = 0,
DSFX_PANDELAY_MAX = 1
} CONST_DSFX_PANDELAY;
[helpcontext(81916)]
typedef enum CONST_DSFX_WAVE
{
DSFX_WAVE_TRIANGLE = 0,
DSFX_WAVE_SIN = 1
} CONST_DSFX_WAVE;
[helpcontext(81984)]
typedef enum CONST_DSFX_WETDRY
{
DSFX_WETDRYMIX_MIN = 0,
DSFX_WETDRYMIX_MAX = 100
} CONST_DSFX_WETDRY;
[helpcontext(81965)]
typedef enum CONST_DSFX_DEPTH
{
DSFX_DEPTH_MIN = 0,
DSFX_DEPTH_MAX = 100
} CONST_DSFX_DEPTH;
[helpcontext(81966)]
typedef enum CONST_DSFX_FEEDBACK
{
DSFX_FEEDBACK_MIN = -99,
DSFX_FEEDBACK_MAX = 99
} CONST_DSFX_FEEDBACK;
[helpcontext(181966)]
typedef enum CONST_DSFXECHO_FEEDBACK
{
DSFXECHO_FEEDBACK_MIN = 0,
DSFXECHO_FEEDBACK_MAX = 100
} CONST_DSFXECHO_FEEDBACK;
[helpcontext(81968)]
typedef enum CONST_DSFX_FREQUENCY
{
DSFX_FREQUENCY_MIN = 0,
DSFX_FREQUENCY_MAX = 10
}CONST_DSFX_FREQUENCY;
[helpcontext(81964)]
typedef enum CONST_DSFX_DELAY
{
DSFX_DELAY_MIN = 0,
DSFX_DELAY_MAX = 20
}CONST_DSFX_DELAY;
[helpcontext(81947)]
typedef enum CONST_DSFX_FLANGER_DELAY
{
DSFX_FLANGER_DELAY_MIN = 0,
DSFX_FLANGER_DELAY_MAX =4
} CONST_DSFX_FLANGER_DELAY;
[helpcontext(81982)]
typedef enum CONST_DSFX_PHASE
{
DSFX_PHASE_MIN = 0,
DSFX_PHASE_MAX = 4,
DSFX_PHASE_NEG_180 = 0,
DSFX_PHASE_NEG_90 = 1,
DSFX_PHASE_ZERO = 2,
DSFX_PHASE_90 = 3,
DSFX_PHASE_180 = 4
}CONST_DSFX_PHASE;
[helpcontext(81180)]
typedef enum CONST_DSFXGARGLE_WAVE
{
DSFXGARGLE_WAVE_TRIANGLE = 0,
DSFXGARGLE_WAVE_SQUARE = 1
} CONST_DSFXGARGLE_WAVE;
[helpcontext(81999)]
typedef enum CONST_DSFXGARGLE_RATEHZ
{
DSFXGARGLE_RATEHZ_MIN = 1,
DSFXGARGLE_RATEHZ_MAX = 1000
} CONST_DSFXGARGLE_RATEHZ;
#if 0
[helpcontext(81013)]
typedef enum CONST_I3DL2SOURCEFLAGS {
DSFX_I3DL2SOURCE_OCC_LPF,
DSFX_I3DL2SOURCE_OCC_VOLUME
} CONST_I3DL2SOURCEFLAGS;
[helpcontext(81011)]
typedef enum CONST_I3DL2SOURCEDIRECT {
DSFX_I3DL2SOURCE_MINDIRECT = -10000,
DSFX_I3DL2SOURCE_MAXDIRECT = 1000,
DSFX_I3DL2SOURCE_DEFAULTDIRECT = 0
} CONST_I3DL2SOURCEDIRECT;
[helpcontext(81012)]
typedef enum CONST_I3DL2SOURCEDIRECTHF {
DSFX_I3DL2SOURCE_MINDIRECTHF = -10000,
DSFX_I3DL2SOURCE_MAXDIRECTHF = 0,
DSFX_I3DL2SOURCE_DEFAULTDIRECTHF = 0
} CONST_I3DL2SOURCEDIRECTHF;
[helpcontext(81018)]
typedef enum CONST_I3DL2SOURCEROOM {
DSFX_I3DL2SOURCE_MINROOM = -10000,
DSFX_I3DL2SOURCE_MAXROOM = 1000,
DSFX_I3DL2SOURCE_DEFAULTROOM = 0
} CONST_I3DL2SOURCEROOM;
[helpcontext(81019)]
typedef enum CONST_I3DL2SOURCEROOMHF {
DSFX_I3DL2SOURCE_MINROOMHF = -10000,
DSFX_I3DL2SOURCE_MAXROOMHF = 0,
DSFX_I3DL2SOURCE_DEFAULTROOMHF = 0
} CONST_I3DL2SOURCEROOMHF;
[helpcontext(81020)]
typedef enum CONST_I3DL2SOURCEROOMROLLOFFFACTOR {
DSFX_I3DL2SOURCE_MINROOMROLLOFFFACTOR = 0,
DSFX_I3DL2SOURCE_MAXROOMROLLOFFFACTOR = 10,
DSFX_I3DL2SOURCE_DEFAULTROOMROLLOFFFACTOR = 0,
} CONST_I3DL2SOURCEROOMROLLOFFFACTOR;
[helpcontext(81014)]
typedef enum CONST_I3DL2SOURCEOBSTRUCTION {
DSFX_I3DL2SOURCE_MINOBSTRUCTION = -10000,
DSFX_I3DL2SOURCE_MAXOBSTRUCTION = 0,
DSFX_I3DL2SOURCE_DEFAULTOBSTRUCTION = 0
} CONST_I3DL2SOURCEOBSTRUCTION;
[helpcontext(81015)]
typedef enum CONST_I3DL2SOURCEOBSTRUCTIONLFRATIO {
DSFX_I3DL2SOURCE_MINOBSTRUCTIONLFRATIO = 0,
DSFX_I3DL2SOURCE_MAXOBSTRUCTIONLFRATIO = 1,
DSFX_I3DL2SOURCE_DEFAULTOBSTRUCTIONLFRATIO = 0
} CONST_I3DL2SOURCEOBSTRUCTIONLFRATIO;
[helpcontext(81016)]
typedef enum CONST_I3DL2SOURCEOCCLUSION {
DSFX_I3DL2SOURCE_MINOCCLUSION = -10000,
DSFX_I3DL2SOURCE_MAXOCCLUSION = 0,
DSFX_I3DL2SOURCE_DEFAULTOCCLUSION = 0
} CONST_I3DL2SOURCEOCCLUSION;
[helpcontext(81017)]
typedef enum CONST_I3DL2SOURCEOCCLUSIONLFRATIO {
DSFX_I3DL2SOURCE_MINOCCLUSIONLFRATIO = 0,
DSFX_I3DL2SOURCE_MAXOCCLUSIONLFRATIO = 1,
// DSFX_I3DL2SOURCE_DEFAULTOCCLUSIONLFRATIO = 0.25f
} CONST_I3DL2SOURCEOCCLUSIONLFRATIO;
[helpcontext(81970)]
typedef enum CONST_DSFX_I3DL2_MATERIAL_PRESET
{
DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW,
DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW,
DSFX_I3DL2_MATERIAL_PRESET_THINDOOR,
DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR,
DSFX_I3DL2_MATERIAL_PRESET_WOODWALL,
DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL,
DSFX_I3DL2_MATERIAL_PRESET_STONEWALL,
DSFX_I3DL2_MATERIAL_PRESET_CURTAIN
} CONST_DSFX_I3DL2_MATERIAL_PRESET;
#endif
[helpcontext(81969)]
typedef enum CONST_DSFX_I3DL2_ENVIRONMENT_PRESETS
{
DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT,
DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC,
DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL,
DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM,
DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL,
DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE,
DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA,
DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR,
DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY,
DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY,
DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR,
DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY,
DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST,
DSFX_I3DL2_ENVIRONMENT_PRESET_CITY,
DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS,
DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY,
DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN,
DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT,
DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE,
DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER,
DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM,
DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL,
DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL,
DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE
} CONST_DSFX_I3DL2_ENVIRONMENT_PRESETS;
[helpcontext(81008)]
typedef enum CONST_DSOUNDFX {
DSFXR_PRESENT = 0x00000000,
DSFX_LOCHARDWARE = 0x00000001,
DSFX_LOCSOFTWARE = 0x00000002,
DSFXR_LOCHARDWARE = 0x00000001,
DSFXR_LOCSOFTWARE = 0x00000002,
DSFXR_UNALLOCATED = 0x00000003,
DSFXR_FAILED = 0x00000004,
DSFXR_UNKNOWN = 0x00000005,
#if 0
DSFXR_SENDLOOP = 0x00000006,
#endif
} CONST_DSOUNDFX;
[helpcontext(81021)]
typedef enum CONST_WAVEFORMATFLAGS {
WAVE_FORMAT_1M08 =0x00000001, /* 11.025 kHz, Mono, 8-bit */
WAVE_FORMAT_1S08 =0x00000002, /* 11.025 kHz, Stereo, 8-bit */
WAVE_FORMAT_1M16 =0x00000004, /* 11.025 kHz, Mono, 16-bit */
WAVE_FORMAT_1S16 =0x00000008, /* 11.025 kHz, Stereo, 16-bit */
WAVE_FORMAT_2M08 =0x00000010, /* 22.05 kHz, Mono, 8-bit */
WAVE_FORMAT_2S08 =0x00000020, /* 22.05 kHz, Stereo, 8-bit */
WAVE_FORMAT_2M16 =0x00000040, /* 22.05 kHz, Mono, 16-bit */
WAVE_FORMAT_2S16 =0x00000080, /* 22.05 kHz, Stereo, 16-bit */
WAVE_FORMAT_4M08 =0x00000100, /* 44.1 kHz, Mono, 8-bit */
WAVE_FORMAT_4S08 =0x00000200, /* 44.1 kHz, Stereo, 8-bit */
WAVE_FORMAT_4M16 =0x00000400, /* 44.1 kHz, Mono, 16-bit */
WAVE_FORMAT_4S16 = 0x00000800 /* 44.1 kHz, Stereo, 16-bit */
} CONST_WAVEFORMATFLAGS;
[helpcontext(81009)]
typedef enum CONST_DSSCLFLAGS {
DSSCL_NORMAL =0x00000001,
DSSCL_PRIORITY =0x00000002,
DSSCL_WRITEPRIMARY =0x00000004
} CONST_DSSCLFLAGS;
[helpcontext(81010)]
typedef enum CONST_DSSPEAKERFLAGS {
DSSPEAKER_HEADPHONE =0x00000001,
DSSPEAKER_MONO =0x00000002,
DSSPEAKER_QUAD =0x00000003,
DSSPEAKER_STEREO =0x00000004,
DSSPEAKER_SURROUND =0x00000005,
DSSPEAKER_GEOMETRY_MIN =0x00000005, // 5 degrees
DSSPEAKER_GEOMETRY_NARROW =0x0000000A, // 10 degrees
DSSPEAKER_GEOMETRY_WIDE =0x00000014, // 20 degrees
DSSPEAKER_GEOMETRY_MAX =0x000000B4 // 180 degrees
} CONST_DSSPEAKERFLAGS;
[helpcontext(81956)]
typedef enum CONST_DSBPLAYFLAGS{
DSBPLAY_DEFAULT =0x00000000,
DSBPLAY_LOOPING =0x00000001,
DSBPLAY_LOCHARDWARE =0x00000002,
DSBPLAY_LOCSOFTWARE =0x00000004,
DSBPLAY_TERMINATEBY_TIME =0x00000008,
DSBPLAY_TERMINATEBY_DISTANCE =0x000000010,
DSBPLAY_TERMINATEBY_PRIORITY =0x000000020,
} CONST_DSBPLAYFLAGS;
[helpcontext(81955)]
typedef enum CONST_DSBLOCKFLAGS {
DSBLOCK_DEFAULT =0x00000000,
DSBLOCK_FROMWRITECURSOR =0x00000001,
DSBLOCK_ENTIREBUFFER =0x00000002
} CONST_DSBLOCKFLAGS;
[helpcontext(81960)]
typedef enum CONST_DSCBLOCKFLAGS {
DSCBLOCK_DEFAULT =0x00000000,
DSCBLOCK_ENTIREBUFFER =0x00000001
} CONST_DSCBLOCKFLAGS;
[helpcontext(81957)]
typedef enum CONST_DSBSTATUSFLAGS {
DSBSTATUS_PLAYING =0x00000001,
DSBSTATUS_BUFFERLOST =0x00000002,
DSBSTATUS_LOOPING =0x00000004,
DSBSTATUS_LOCHARDWARE =0x00000008,
DSBSTATUS_LOCSOFTWARE =0x00000010,
DSBSTATUS_TERMINATED =0x00000020
} CONST_DSBSTATUSFLAGS;
[helpcontext(81952)]
typedef enum CONST_DS3DAPPLYFLAGS {
DS3D_IMMEDIATE =0x00000000,
DS3D_DEFERRED =0x00000001
} CONST_DS3DAPPLYFLAGS;
[helpcontext(81953)]
typedef enum CONST_DS3DMODEFLAGS {
DS3DMODE_NORMAL =0x00000000,
DS3DMODE_HEADRELATIVE =0x00000001,
DS3DMODE_DISABLE =0x00000002
} CONST_DS3DMODEFLAGS;
[helpcontext(81962)]
typedef enum CONST_DSCBSTATUSFLAGS {
DSCBSTATUS_CAPTURING =0x00000001,
DSCBSTATUS_LOOPING =0x00000002
} CONST_DSCBSTATUSFLAGS;
[helpcontext(81961)]
typedef enum CONST_DSCBSTARTFLAGS {
DSCBSTART_DEFAULT =0x00000000,
DSCBSTART_LOOPING =0x00000001
} CONST_DSCBSTARTFLAGS;
[helpcontext(81958)]
typedef enum CONST_DSCAPSFLAGS {
DSCAPS_PRIMARYMONO =0x00000001,
DSCAPS_PRIMARYSTEREO =0x00000002,
DSCAPS_PRIMARY8BIT =0x00000004,
DSCAPS_PRIMARY16BIT =0x00000008,
DSCAPS_CONTINUOUSRATE =0x00000010,
DSCAPS_EMULDRIVER =0x00000020,
DSCAPS_CERTIFIED =0x00000040,
DSCAPS_SECONDARYMONO =0x00000100,
DSCAPS_SECONDARYSTEREO =0x00000200,
DSCAPS_SECONDARY8BIT =0x00000400,
DSCAPS_SECONDARY16BIT =0x00000800
} CONST_DSCAPSFLAGS;
[helpcontext(81954)]
typedef enum CONST_DSBCAPSFLAGS {
DSBCAPS_PRIMARYBUFFER =0x00000001,
DSBCAPS_STATIC =0x00000002,
DSBCAPS_LOCHARDWARE =0x00000004,
DSBCAPS_LOCSOFTWARE =0x00000008,
DSBCAPS_CTRL3D =0x00000010,
DSBCAPS_CTRLFREQUENCY =0x00000020,
DSBCAPS_CTRLPAN =0x00000040,
DSBCAPS_CTRLVOLUME =0x00000080,
DSBCAPS_CTRLPOSITIONNOTIFY =0x00000100,
DSBCAPS_CTRLFX =0x00000200,
DSBCAPS_CTRLCHANNELVOLUME =0x00000400,
#if 0
DSBCAPS_MIXIN =0x00002000,
#endif
DSBCAPS_STICKYFOCUS =0x00004000,
DSBCAPS_GLOBALFOCUS =0x00008000,
DSBCAPS_GETCURRENTPOSITION2 =0x00010000,
DSBCAPS_MUTE3DATMAXDISTANCE =0x00020000,
DSBCAPS_LOCDEFER =0x00040000
} CONST_DSBCAPSFLAGS;
[helpcontext(81959)]
typedef enum CONST_DSCBCAPSFLAGS {
DSCBCAPS_DEFAULT =0x00000000,
DSCBCAPS_WAVEMAPPED =0x80000000
} CONST_DSCBCAPSFLAGS;
[helpcontext(81963)]
typedef enum CONST_DSCCAPSFLAGS {
DSCCAPS_DEFAULT =0x00000000,
DSCCAPS_EMULDRIVER =0x00000020
} CONST_DSCCAPSFLAGS;
[helpcontext(81891)]
typedef enum CONST_DSOUND {
//KSPROPERTY_SUPPORT_GET =0x00000001,
//KSPROPERTY_SUPPORT_SET =0x00000002,
DS3D_MINDISTANCEFACTOR =0,
DS3D_MAXDISTANCEFACTOR =10,
DS3D_DEFAULTDISTANCEFACTOR =1,
DS3D_MINROLLOFFFACTOR =0,
DS3D_MAXROLLOFFFACTOR =10,
DS3D_DEFAULTROLLOFFFACTOR =1,
DS3D_MINDOPPLERFACTOR =0,
DS3D_MAXDOPPLERFACTOR =10,
DS3D_DEFAULTDOPPLERFACTOR =1,
DS3D_DEFAULTMINDISTANCE =1,
DS3D_DEFAULTMAXDISTANCE =1000000000,
DS3D_MINCONEANGLE =0,
DS3D_MAXCONEANGLE =360,
DS3D_DEFAULTCONEANGLE =360,
DS3D_DEFAULTCONEOUTSIDEVOLUME = 0,
DSBFREQUENCY_MIN =100,
DSBFREQUENCY_MAX =100000,
DSBFREQUENCY_ORIGINAL =0,
DSBPAN_LEFT =-10000,
DSBPAN_CENTER =0,
DSBPAN_RIGHT =10000,
DSBVOLUME_MIN =-10000,
DSBVOLUME_MAX =0,
DSBSIZE_MIN =4,
DSBSIZE_MAX =0x0FFFFFFF,
DSBPN_OFFSETSTOP =0xFFFFFFFF,
WAVE_FORMAT_PCM =1
} CONST_DSOUND;
//we let the dmusic constants be global
[helpcontext(81767)]
typedef enum CONST_DMUS_AUDIO {
/* dwFeatures flags. These indicate which features are required for the audio environment. */
DMUS_AUDIOF_3D = 0x1, /* Require 3D buffers. */
DMUS_AUDIOF_ENVIRON = 0x2, /* Require environmental modeling. */
DMUS_AUDIOF_EAX = 0x4, /* Require use of EAX effects. */
DMUS_AUDIOF_DMOS = 0x8, /* Require use of additional DMOs (listed). */
DMUS_AUDIOF_STREAMING = 0x10, /* Require support for streaming waves. */
DMUS_AUDIOF_BUFFERS = 0x20, /* Require support for multiple buffers (all above cases need this.) */
DMUS_AUDIOF_ALL = 0x3F /* Requires everything. */
} CONST_DMUS_AUDIO;
[helpcontext(81766)]
typedef enum CONST_DMUS_AUDIOPARAMS {
DMUS_AUDIOPARAMS_FEATURES = 0x00000001,
DMUS_AUDIOPARAMS_VOICES = 0x00000002,
DMUS_AUDIOPARAMS_SAMPLERATE = 0x00000004,
DMUS_AUDIOPARAMS_DEFAULTSYNTH = 0x00000008
} CONST_DMUS_AUDIOPARAMS;
[helpcontext(81776)]
typedef enum CONST_DMUS_PCHANNEL {
DMUS_PCHANNEL_ALL = 0xFFFFFFFB,
DMUS_PCHANNEL_BROADCAST_PERFORMANCE = 0xFFFFFFFF, /* PMsg is sent on all PChannels of the performance. */
DMUS_PCHANNEL_BROADCAST_AUDIOPATH = 0xFFFFFFFE, /* PMsg is sent on all PChannels of the audio path. */
DMUS_PCHANNEL_BROADCAST_SEGMENT = 0xFFFFFFFD, /* PMsg is sent on all PChannels of the segment. */
DMUS_PCHANNEL_BROADCAST_GROUPS = 0xFFFFFFFC, /* A duplicate PMsg is for each Channels Groups in the performance. */
} CONST_DMUS_PCHANNEL;
[helpcontext(81783)]
typedef enum CONST_DMUSIC_STANDARD_AUDIO_PATH {
DMUS_APATH_SHARED_STEREOPLUSREVERB = 1, /* A standard music set up with stereo outs and reverb. */
DMUS_APATH_DYNAMIC_3D = 6, /* An audio path with one dynamic bus from the synth feeding to a dynamic 3d buffer. Does not send to env reverb. */
DMUS_APATH_DYNAMIC_MONO = 7, /* An audio path with one dynamic bus from the synth feeding to a dynamic mono buffer. */
DMUS_APATH_DYNAMIC_STEREO = 8 /* An audio path with two dynamic buses from the synth feeding to a dynamic stereo buffer. */
} CONST_DMUSIC_STANDARD_AUDIO_PATH;
[helpcontext(81782)]
typedef enum CONST_DMUSIC_PATH {
DMUS_PATH_SEGMENT = 0x1000, /* Get the segment itself (from a segment state.) */
DMUS_PATH_SEGMENT_TRACK = 0x1100, /* Look in Track List of Segment. */
DMUS_PATH_SEGMENT_GRAPH = 0x1200, /* Get the segment's tool graph. */
DMUS_PATH_SEGMENT_TOOL = 0x1300, /* Look in Tool Graph of Segment. */
DMUS_PATH_AUDIOPATH = 0x2000, /* Get the audiopath itself (from a segment state.) */
DMUS_PATH_AUDIOPATH_GRAPH = 0x2200, /* Get the audiopath's tool graph. */
DMUS_PATH_AUDIOPATH_TOOL = 0x2300, /* Look in Tool Graph of Audio Path. */
DMUS_PATH_PERFORMANCE = 0x3000, /* Access the performance. */
DMUS_PATH_PERFORMANCE_GRAPH = 0x3200, /* Get the performance's tool graph. */
DMUS_PATH_PERFORMANCE_TOOL = 0x3300, /* Look in Tool Graph of Performance. */
DMUS_PATH_PORT = 0x4000, /* Access the synth. */
DMUS_PATH_BUFFER = 0x6000, /* Look in DirectSoundBuffer. */
DMUS_PATH_BUFFER_DMO = 0x6100, /* Access a DMO in the buffer. */
DMUS_PATH_MIXIN_BUFFER = 0x7000, /* Look in effects DirectSoundBuffer. */
DMUS_PATH_MIXIN_BUFFER_DMO = 0x7100, /* Access a DMO in the effects buffer. */
DMUS_PATH_PRIMARY_BUFFER = 0x8000, /* Access the primary buffer. */
} CONST_DMUSIC_PATH;
[helpcontext(81582)]
typedef enum CONST_DMUS
{
DMUS_MAXSUBCHORD=8,
DMUS_TEMPO_MAX =1000,
DMUS_TEMPO_MIN = 1
// DMUSB_LOADED =0, not needed according to a-perterd
// DMUSB_DEFAULT =2,
} CONST_DMUS;
[helpcontext(81771)]
typedef enum CONST_DMUS_CURVES
{
DMUS_CURVES_LINEAR = 0,
DMUS_CURVES_INSTANT = 1,
DMUS_CURVES_EXP = 2,
DMUS_CURVES_LOG = 3,
DMUS_CURVES_SINE = 4
} CONST_DMUS_CURVES;
[helpcontext(81772)]
typedef enum CONST_DMUS_CURVET
{
DMUS_CURVET_PBCURVE = 0x03,
DMUS_CURVET_CCCURVE = 0x04,
DMUS_CURVET_MATCURVE = 0x05,
DMUS_CURVET_PATCURVE = 0x06,
DMUS_CURVET_RPNCURVE = 0x07, /* RPN curve with curve type in wParamType. */
DMUS_CURVET_NRPNCURVE = 0x08 /* NRPN curve with curve type in wParamType. */
} CONST_DMUS_CURVET;
/* The following correspond to GUID_NOTIFICATION_SEGMENT */
[helpcontext(81774)]
typedef enum CONST_DMUS_NOTIFICATION_SUBTYPE
{
DMUS_NOTIFICATION_MUSICSTARTED =0,
DMUS_NOTIFICATION_MUSICSTOPPED =1,
DMUS_NOTIFICATION_MEASUREBEAT =0,
DMUS_NOTIFICATION_CHORD =0,
DMUS_NOTIFICATION_GROOVE =0,
DMUS_NOTIFICATION_EMBELLISHMENT =1,
DMUS_NOTIFICATION_SEGSTART =0,
DMUS_NOTIFICATION_SEGEND =1,
DMUS_NOTIFICATION_SEGALMOSTEND =2,
DMUS_NOTIFICATION_SEGLOOP =3,
DMUS_NOTIFICATION_SEGABORT =4,
DMUS_NOTIFICATION_MUSICALMOSTEND=2,
DMUS_NOTIFICATION_RECOMPOSE =0
} CONST_DMUS_NOTIFICATION_SUBTYPE;
[helpcontext(81768)]
typedef enum CONST_DMUS_COMMANDT_TYPES
{
DMUS_COMMANDT_GROOVE = 0,
DMUS_COMMANDT_FILL = 1,
DMUS_COMMANDT_INTRO = 2,
DMUS_COMMANDT_BREAK = 3,
DMUS_COMMANDT_END = 4,
DMUS_COMMANDT_ENDANDINTRO = 5
} CONST_DMUS_COMMANDT_TYPES;
[helpcontext(81780)]
typedef enum CONST_DMUS_SHAPET_TYPES
{
DMUS_SHAPET_FALLING = 0,
DMUS_SHAPET_LEVEL = 1,
DMUS_SHAPET_LOOPABLE = 2,
DMUS_SHAPET_LOUD = 3,
DMUS_SHAPET_QUIET = 4,
DMUS_SHAPET_PEAKING = 5,
DMUS_SHAPET_RANDOM = 6,
DMUS_SHAPET_RISING = 7,
DMUS_SHAPET_SONG = 8
} CONST_DMUS_SHAPET_TYPES;
[helpcontext(81769)]
typedef enum CONST_DMUS_COMPOSEF_FLAGS
{
DMUS_COMPOSEF_NONE = 0,
DMUS_COMPOSEF_ALIGN = 0x1,
DMUS_COMPOSEF_OVERLAP = 0x2,
DMUS_COMPOSEF_IMMEDIATE = 0x4,
DMUS_COMPOSEF_GRID = 0x8,
DMUS_COMPOSEF_BEAT = 0x10,
DMUS_COMPOSEF_MEASURE = 0x20,
DMUS_COMPOSEF_AFTERPREPARETIME = 0x40,
DMUS_COMPOSEF_MODULATE = 0x1000,
DMUS_COMPOSEF_LONG = 0x2000,
DMUS_COMPOSEF_VALID_START_BEAT = 0x80, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any beat. */
DMUS_COMPOSEF_VALID_START_GRID = 0x100, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any grid. */
DMUS_COMPOSEF_VALID_START_TICK = 0x200, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur any time. */
DMUS_COMPOSEF_SEGMENTEND = 0x400, /* Play the transition at the end of the current segment. */
DMUS_COMPOSEF_MARKER = 0x800, /* Play the transition at the next marker in the current segment. */
DMUS_COMPOSEF_ENTIRE_TRANSITION = 0x4000, /* play the entire transition pattern */
DMUS_COMPOSEF_1BAR_TRANSITION = 0x8000, /* play one bar of the transition pattern */
DMUS_COMPOSEF_ENTIRE_ADDITION = 0x10000, /* play the additional pattern in its entirety */
DMUS_COMPOSEF_1BAR_ADDITION = 0x20000, /* play one bar of the additional pattern */
DMUS_COMPOSEF_VALID_START_MEASURE = 0x40000, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any bar. */
DMUS_COMPOSEF_DEFAULT = 0x80000, /* Use segment's default boundary */
DMUS_COMPOSEF_NOINVALIDATE = 0x100000, /* Play without invalidating the currently playing segment(s) */
DMUS_COMPOSEF_USE_AUDIOPATH = 0x200000 /* Uses the audio paths that are embedded in the segments */
} CONST_DMUS_COMPOSEF_FLAGS;
[helpcontext(81778)]
typedef enum CONST_DMUS_PMSGF_FLAGS
{
DMUS_PMSGF_REFTIME = 1, /* if rtTime is valid */
DMUS_PMSGF_MUSICTIME = 2, /* if mtTime is valid */
DMUS_PMSGF_TOOL_IMMEDIATE = 4, /* if PMSG should be processed immediately */
DMUS_PMSGF_TOOL_QUEUE = 8, /* if PMSG should be processed a little early, at Queue time */
DMUS_PMSGF_TOOL_ATTIME = 16, /* if PMSG should be processed at the time stamp */
DMUS_PMSGF_TOOL_FLUSH = 32, /* if PMSG is being flushed */
DMUS_PMSGF_LOCKTOREFTIME = 0x40, /* if rtTime can not be overriden by a tempo change. */
DMUS_PMSGF_DX8 = 0x80 /* if the message has DX8 or later extensions. */
/* The values of DMUS_TIME_RESOLVE_FLAGS may also be used inside the */
/* DMUS_PMSG's dwFlags member. */
} CONST_DMUS_PMSGF_FLAGS;
#if 0
// NOT NEEDED
[helpcontext(88782)]
typedef enum enumDMUS_PMSGT_TYPES
{
DMUS_PMSGT_MIDI = 0, /* MIDI SHORT message */
DMUS_PMSGT_NOTE = 1, /* Interactive Music Note */
DMUS_PMSGT_SYSEX = 2, /* MIDI LONG message (system exclusive message) */
DMUS_PMSGT_NOTIFICATION = 3, /* Notification message */
DMUS_PMSGT_TEMPO = 4, /* Tempo message */
DMUS_PMSGT_CURVE = 5, /* Control change / pitch bend, etc. curve */
DMUS_PMSGT_TIMESIG = 6, /* Time signature */
DMUS_PMSGT_PATCH = 7, /* Patch changes */
DMUS_PMSGT_TRANSPOSE = 8, /* Transposition messages */
DMUS_PMSGT_CHANNEL_PRIORITY = 9, /* Channel priority */
DMUS_PMSGT_STOP = 10, /* Stop message */
DMUS_PMSGT_DIRTY = 11, /* Tells Tools that cache GetParam() info to refresh */
DMUS_PMSGT_WAVE = 12, /* Carries control information for playing a wave. */
DMUS_PMSGT_USER = 255 /* User message */
} CONST_DMUS_PMSGT_TYPES;
#endif
[helpcontext(81779)]
typedef enum CONST_DMUS_SEGF_FLAGS
{
DMUS_SEGF_REFTIME = 64, /* time parameter is in reference time */
DMUS_SEGF_SECONDARY = 128, /* secondary segment */
DMUS_SEGF_QUEUE = 256, /* queue at the end of the primary segment queue (primary only) */
DMUS_SEGF_CONTROL = 512, /* play as a control track (secondary segments only) */
DMUS_SEGF_AFTERPREPARETIME = 0x400, /* play after the prepare time (See IDirectMusicPerformance::GetPrepareTime) */
DMUS_SEGF_GRID = 0x800, /* play on grid boundary */
DMUS_SEGF_BEAT = 0x1000, /* play on beat boundary */
DMUS_SEGF_MEASURE = 0x2000, /* play on measure boundary */
DMUS_SEGF_DEFAULT = 0x4000, /* use segment's default boundary */
DMUS_SEGF_NOINVALIDATE = 0x8000, /* play without invalidating the currently playing segment(s) */
DMUS_SEGF_ALIGN = 0x10000, /* Align segment with requested boundary, but switch at first valid point */
DMUS_SEGF_VALID_START_BEAT = 0x20000, /* In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any beat. */
DMUS_SEGF_VALID_START_GRID = 0x40000, /* In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any grid. */
DMUS_SEGF_VALID_START_TICK = 0x80000, /* In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur any time. */
DMUS_SEGF_AUTOTRANSITION = 0x100000, /* Compose and play a transition segment, using either the transition template or transition embedded in song. */
DMUS_SEGF_AFTERQUEUETIME = 0x200000, /* Make sure to play after the queue time. This is default for primary segments */
DMUS_SEGF_AFTERLATENCYTIME = 0x400000, /* Make sure to play after the latency time. This is true for all segments, so this is a nop */
DMUS_SEGF_SEGMENTEND = 0x800000, /* Play at the next end of segment. */
DMUS_SEGF_MARKER = 0x1000000, /* Play at next marker in the primary segment. If there are no markers, default to any other resolution requests. */
DMUS_SEGF_TIMESIG_ALWAYS = 0x2000000, /* Even if there is no primary segment, align start time with current time signature. */
DMUS_SEGF_USE_AUDIOPATH = 0x4000000, /* Uses the audio path that is embedded in the segment or song. */
DMUS_SEGF_VALID_START_MEASURE = 0x8000000 /* In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any bar. */
} CONST_DMUS_SEGF_FLAGS;
[helpcontext(81773)]
typedef enum CONST_DMUS_NOTEF_FLAGS
{
DMUS_NOTEF_NOTEON = 1, /* Set if this is a MIDI Note On. Otherwise, it is MIDI Note Off */
} CONST_DMUS_NOTEF_FLAGS;
[helpcontext(81777)]
typedef enum CONST_DMUS_PLAYMODE_FLAGS
{
DMUS_PLAYMODE_KEY_ROOT = 1, /* Transpose on top of the key root. */
DMUS_PLAYMODE_CHORD_ROOT = 2, /* Transpose on top of the chord root. */
DMUS_PLAYMODE_SCALE_INTERVALS = 4, /* Use scale intervals from scale pattern. */
DMUS_PLAYMODE_CHORD_INTERVALS = 8, /* Use chord intervals from chord pattern. */
DMUS_PLAYMODE_NONE = 16, /* No mode. Indicates the parent part's mode should be used. */
//derived flags
DMUS_PLAYMODE_FIXED =0,
DMUS_PLAYMODE_FIXEDTOKEY =1,
DMUS_PLAYMODE_FIXEDTOCHORD =2,
DMUS_PLAYMODE_PEDALPOINT =5,
DMUS_PLAYMODE_MELODIC =6,
DMUS_PLAYMODE_NORMALCHORD =10,
DMUS_PLAYMODE_ALWAYSPLAY =14 ,
//DMUS_PLAYMODE_PURPLEIZED =14,
//DMUS_PLAYMODE_SCALE_ROOT =1,
//DMUS_PLAYMODE_FIXEDTOSCALE =1,
} CONST_DMUS_PLAYMODE_FLAGS;
[helpcontext(81770)]
typedef enum CONST_DMUS_CURVE_FLAGS
{
DMUS_CURVE_RESET = 1, /* Set if the curve needs to be reset. */
DMUS_CURVE_START_FROM_CURRENT = 2/* Ignore Start, start the curve at the current value.
This only works for volume, expression, and pitchbend. */
} CONST_DMUS_CURVE_FLAGS;
[helpcontext(81007)]
typedef enum CONST_DSOUNDERR {
DS_OK = 0,
DSERR_ALLOCATED = -2005401590,
DSERR_CONTROLUNAVAIL = -2005401570,
DSERR_INVALIDPARAM = -2147024809,
DSERR_INVALIDCALL = -2005401550,
DSERR_GENERIC = -2147467259,
DSERR_PRIOLEVELNEEDED = -2005401530,
DSERR_OUTOFMEMORY = 7, // -2147024882,
DSERR_BADFORMAT = -2005401500,
DSERR_UNSUPPORTED = -2147467263,
DSERR_NODRIVER = -2005401480,
DSERR_ALREADYINITIALIZED = -2005401470,
//DSERR_NOAGGREGATION = -2147467262,
DSERR_BUFFERLOST = -2005401450,
DSERR_OTHERAPPHASPRIO = -2005401440,
DSERR_UNINITIALIZED = -2005401430,
DSERR_NOINTERFACE = 430, //-2147467262
DSERR_BUFFERTOOSMALL = 0x887800B4,
DSERR_DS8_REQUIRED = 0x887800BE,
#if 0
DSERR_SENDLOOP = 0x887810C8,
DSERR_BADSENDBUFFERGUID = 0x887810D2,
#endif
DSERR_OBJECTNOTFOUND = 0x88781161,
} CONST_DSOUNDERR;
[helpcontext(81781)]
typedef enum CONST_DMUSERR {
//DMUS_S_PARTIALLOAD =0x08781091,
//DMUS_S_REQUEUE =0x08781200,
//DMUS_S_FREE= 0x08781201,
//DMUS_S_END =0x08781202,
//DMUS_S_STRING_TRUNCATED =0x08781210,
//DMUS_S_LAST_TOOL =0x08781211,
//DMUS_S_OVER_CHORD =0x08781212,
//DMUS_S_UP_OCTAVE =0x08781213,
//DMUS_S_DOWN_OCTAVE =0x08781214,
DMUS_E_DRIVER_FAILED =0x88781101,
DMUS_E_PORTS_OPEN =0x88781102,
DMUS_E_DEVICE_IN_USE =0x88781103,
DMUS_E_INSUFFICIENTBUFFER =0x88781104,
DMUS_E_BUFFERNOTSET =0x88781105,
DMUS_E_BUFFERNOTAVAILABLE =0x88781106,
DMUS_E_NOTADLSCOL =0x88781108,
DMUS_E_INVALIDOFFSET =0x88781109,
DMUS_E_ALREADY_LOADED =0x88781111,
DMUS_E_INVALIDPOS =0x88781113,
DMUS_E_INVALIDPATCH =0x88781114,
DMUS_E_CANNOTSEEK =0x88781115,
DMUS_E_CANNOTWRITE =0x88781116,
DMUS_E_CHUNKNOTFOUND =0x88781117,
DMUS_E_INVALID_DOWNLOADID =0x88781119,
DMUS_E_NOT_DOWNLOADED_TO_PORT =0x88781120,
DMUS_E_ALREADY_DOWNLOADED =0x88781121,
DMUS_E_UNKNOWN_PROPERTY =0x88781122,
DMUS_E_SET_UNSUPPORTED =0x88781123,
DMUS_E_GET_UNSUPPORTED =0x88781124,
DMUS_E_NOTMONO =0x88781125,
DMUS_E_BADARTICULATION =0x88781126,
DMUS_E_BADINSTRUMENT =0x88781127,
DMUS_E_BADWAVELINK =0x88781128,
DMUS_E_NOARTICULATION =0x88781129,
DMUS_E_NOTPCM =0x8878112A,
DMUS_E_BADWAVE =0x8878112B,
DMUS_E_BADOFFSETTABLE =0x8878112C,
DMUS_E_UNKNOWNDOWNLOAD =0x8878112D,
DMUS_E_NOSYNTHSINK =0x8878112E,
DMUS_E_ALREADYOPEN =0x8878112F,
DMUS_E_ALREADYCLOSED =0x88781130,
DMUS_E_SYNTHNOTCONFIGURED =0x88781131,
DMUS_E_SYNTHACTIVE =0x88781132,
DMUS_E_CANNOTREAD =0x88781133,
DMUS_E_DMUSIC_RELEASED =0x88781134,
DMUS_E_BUFFER_EMPTY =0x88781135,
DMUS_E_BUFFER_FULL =0x88781136,
DMUS_E_PORT_NOT_CAPTURE =0x88781137,
DMUS_E_PORT_NOT_RENDER =0x88781138,
DMUS_E_DSOUND_NOT_SET =0x88781139,
DMUS_E_ALREADY_ACTIVATED =0x8878113A,
DMUS_E_INVALIDBUFFER =0x8878113B,
DMUS_E_WAVEFORMATNOTSUPPORTED =0x8878113C,
DMUS_E_SYNTHINACTIVE =0x8878113D,
DMUS_E_DSOUND_ALREADY_SET =0x8878113E,
DMUS_E_INVALID_EVENT =0x8878113F,
DMUS_E_UNSUPPORTED_STREAM =0x88781150,
DMUS_E_ALREADY_INITED =0x88781151,
DMUS_E_INVALID_BAND =0x88781152,
DMUS_E_TRACK_HDR_NOT_FIRST_CK =0x88781155,
DMUS_E_TOOL_HDR_NOT_FIRST_CK =0x88781156,
DMUS_E_INVALID_TRACK_HDR =0x88781157,
DMUS_E_INVALID_TOOL_HDR =0x88781158,
DMUS_E_ALL_TOOLS_FAILED =0x88781159,
DMUS_E_ALL_TRACKS_FAILED =0x88781160,
DMUS_E_NOT_FOUND =0x88781161,
DMUS_E_NOT_INIT =0x88781162,
DMUS_E_TYPE_DISABLED =0x88781163,
DMUS_E_TYPE_UNSUPPORTED =0x88781164,
DMUS_E_TIME_PAST =0x88781165,
DMUS_E_TRACK_NOT_FOUND =0x88781166,
DMUS_E_NO_MASTER_CLOCK =0x88781170,
DMUS_E_LOADER_NOCLASSID =0x88781180,
DMUS_E_LOADER_BADPATH =0x88781181,
DMUS_E_LOADER_FAILEDOPEN =0x88781182,
DMUS_E_LOADER_FORMATNOTSUPPORTED=0x88781183,
DMUS_E_LOADER_FAILEDCREATE =0x88781184,
DMUS_E_LOADER_OBJECTNOTFOUND =0x88781185,
DMUS_E_LOADER_NOFILENAME =0x88781186,
DMUS_E_INVALIDFILE =0x88781200,
DMUS_E_ALREADY_EXISTS =0x88781201,
DMUS_E_OUT_OF_RANGE =0x88781202,
DMUS_E_SEGMENT_INIT_FAILED =0x88781203,
DMUS_E_ALREADY_SENT =0x88781204,
DMUS_E_CANNOT_FREE =0x88781205,
DMUS_E_CANNOT_OPEN_PORT =0x88781206,
DMUS_E_CANNOT_CONVERT =0x88781207,
DMUS_E_DESCEND_CHUNK_FAIL =0x88781210,
DMUS_E_NOT_LOADED = 0x88781211,
DMUS_E_INVALID_SEGMENTTRIGGERTRACK = 0x88781220,
DMUS_E_INVALID_LYRICSTRACK = 0x88781221,
DMUS_E_INVALID_PARAMCONTROLTRACK= 0x88781222,
DMUS_E_AUDIOPATHS_NOT_VALID = 0x88781226,
DMUS_E_AUDIOPATHS_IN_USE = 0x88781227,
DMUS_E_NO_AUDIOPATH_CONFIG = 0x88781228,
DMUS_E_AUDIOPATH_INACTIVE = 0x88781229,
DMUS_E_AUDIOPATH_NOBUFFER = 0x8878122A,
DMUS_E_AUDIOPATH_NOPORT = 0x8878122B,
DMUS_E_NO_AUDIOPATH = 0x8878122C,
DMUS_E_FAIL = 0x80070057,
DMUS_E_INVALIDARG =5,
DMUS_E_NOINTERFACE =430,
DMUS_E_OUTOFMEMORY =7,
DMUS_E_NOTIMPL =445
} CONST_DMUSERR;
#endif
//This is a new enumeration that needs to be available for
//both C and VB code
[helpcontext(81775)]
typedef enum CONST_DMUS_NOTIFICATION_TYPE
{
DMUS_NOTIFY_ON_RECOMPOSE =0,
DMUS_NOTIFY_ON_CHORD =1,
DMUS_NOTIFY_ON_COMMAND =2,
DMUS_NOTIFY_ON_MEASUREANDBEAT =3,
DMUS_NOTIFY_ON_PERFORMANCE =4,
DMUS_NOTIFY_ON_SEGMENT =5
} CONST_DMUS_NOTIFICATION_TYPE;
///////////////////////////////////////////////////////////////////////////
//
// Direct Sound structs
//
///////////////////////////////////////////////////////////////////////////
[helpcontext(81937)]
typedef struct DSEFFECTDESC_CDESC
{
[hidden] LONG lSize;
LONG lFlags;
BSTR guidDSFXClass;
#if 0
I_dxj_DirectSoundBuffer *SendBuffer;
#endif
[hidden] LONG lReserved;
[hidden] LONG lReserved2;
} DSEFFECTDESC_CDESC;
[helpcontext(81837)]
typedef struct DSBCAPS_CDESC
{
[hidden] LONG lSize;
CONST_DSBCAPSFLAGS lFlags;
LONG lBufferBytes;
LONG lUnlockTransferRate;
LONG lPlayCpuOverhead;
} DSBCAPS_CDESC;
[helpcontext(81840)]
typedef struct DSCAPS_CDESC {
[hidden] LONG lSize;
CONST_DSCAPSFLAGS lFlags;
LONG lMinSecondarySampleRate;
LONG lMaxSecondarySampleRate;
LONG lPrimaryBuffers;
LONG lMaxHwMixingAllBuffers;
LONG lMaxHwMixingStaticBuffers;
LONG lMaxHwMixingStreamingBuffers;
LONG lFreeHwMixingAllBuffers;
LONG lFreeHwMixingStaticBuffers;
LONG lFreeHwMixingStreamingBuffers;
LONG lMaxHw3DAllBuffers;
LONG lMaxHw3DStaticBuffers;
LONG lMaxHw3DStreamingBuffers;
LONG lFreeHw3DAllBuffers;
LONG lFreeHw3DStaticBuffers;
LONG lFreeHw3DStreamingBuffers;
LONG lTotalHwMemBytes;
LONG lFreeHwMemBytes;
LONG lMaxContigFreeHwMemBytes;
LONG lUnlockTransferRateHwBuffers;
LONG lPlayCpuOverheadSwBuffers;
LONG lReserved1;
LONG lReserved2;
} DSCAPS_CDESC;
[helpcontext(81951)]
typedef struct WAVEFORMATEX_CDESC
{
SHORT nFormatTag; /* format type */
SHORT nChannels; /* number of channels (i.e. mono, stereo...) */
LONG lSamplesPerSec; /* sample rate */
LONG lAvgBytesPerSec; /* for buffer estimation */
SHORT nBlockAlign; /* block size of data */
SHORT nBitsPerSample; /* number of bits per sample of mono data */
SHORT nSize; /* nbytes of the extra information */
LONG lExtra; // was byte* seen as an array - extra information (after cbSize)
} WAVEFORMATEX_CDESC;
[helpcontext(81931)]
typedef struct DSBUFFERDESC_CDESC //docdoc: requires WaveFormatex
{
[hidden] LONG lSize;
CONST_DSBCAPSFLAGS lFlags;
LONG lBufferBytes;
[hidden] LONG lReserved;
WAVEFORMATEX_CDESC fxFormat; // WaveFormatex *lpwfxFormat;
BSTR guid3DAlgorithm;
} DSBUFFERDESC_CDESC;
[helpcontext(81936)]
typedef struct DSCURSORS_CDESC
{
LONG lPlay; // Play cursor
LONG lWrite; // Write Cursor
} DSCURSORS_CDESC;
//
// 3D Sound
//
[helpcontext(81927)]
typedef struct DS3DBUFFER_CDESC
{
[hidden]LONG lSize;
D3DVECTOR_CDESC vPosition;
D3DVECTOR_CDESC vVelocity;
LONG lInsideConeAngle;
LONG lOutsideConeAngle;
D3DVECTOR_CDESC vConeOrientation;
LONG lConeOutsideVolume;
FLOAT minDistance;
FLOAT maxDistance;
CONST_DS3DMODEFLAGS lMode;
}DS3DBUFFER_CDESC;
[helpcontext(81928)]
typedef struct DS3DLISTENER_CDESC
{
[hidden] LONG lSize;
D3DVECTOR_CDESC vPosition;
D3DVECTOR_CDESC vVelocity;
D3DVECTOR_CDESC vOrientFront;
D3DVECTOR_CDESC vOrientTop;
FLOAT distanceFactor;
FLOAT rolloffFactor;
FLOAT dopplerFactor;
} DS3DLISTENER_CDESC;
[helpcontext(81841)]
typedef struct DSCBCAPS_CDESC
{
[hidden] LONG lSize;
CONST_DSCBCAPSFLAGS lFlags;
LONG lBufferBytes;
LONG lReserved;
} DSCBCAPS_CDESC;
[helpcontext(81843)]
typedef struct DSCCAPS_CDESC
{
[hidden] LONG lSize;
CONST_DSCCAPSFLAGS lFlags;
CONST_WAVEFORMATFLAGS lFormats;
LONG lChannels;
} DSCCAPS_CDESC;
[helpcontext(81934)]
typedef struct DSCBUFFERDESC_CDESC
{
[hidden]LONG lSize;
CONST_DSCBCAPSFLAGS lFlags;
LONG lBufferBytes;
[hidden] LONG lReserved;
WAVEFORMATEX_CDESC fxFormat;
BSTR guid3DAlgorithm;
} DSCBUFFERDESC_CDESC;
[helpcontext(81930)]
typedef struct DSBPOSITIONNOTIFY_CDESC
{
LONG lOffset;
LONG hEventNotify;
} DSBPOSITIONNOTIFY_CDESC;
//
// Direct Sound Effects Structures
//
[helpcontext(81857)]
typedef struct DSFXPARAMEQ_CDESC
{
FLOAT fCenter;
FLOAT fBandwidth;
FLOAT fGain;
} DSFXPARAMEQ_CDESC;
[helpcontext(81210)]
typedef struct DSFXWAVESREVERB_CDESC
{
FLOAT fInGain; // [-96.0,0.0] default: 0.0 dB
FLOAT fReverbMix; // [-96.0,0.0] default: -10.0 db
FLOAT fReverbTime; // [0.001,3000.0] default: 1000.0 ms
FLOAT fHighFreqRTRatio; // [0.001,0.999] default: 0.001
} DSFXWAVESREVERB_CDESC;
#if 0
[helpcontext(81950)]
typedef struct DSFXSEND_CDESC
{
LONG lSendLevel;
} DSFXSEND_CDESC;
#endif
[helpcontext(81856)]
typedef struct DSFXGARGLE_CDESC
{
CONST_DSFXGARGLE_RATEHZ lRateHz;
CONST_DSFXGARGLE_WAVE lWaveShape;
} DSFXGARGLE_CDESC;
[helpcontext(81943)]
typedef struct DSFXCHORUS_CDESC
{
FLOAT fWetDryMix;
FLOAT fDepth;
FLOAT fFeedback;
FLOAT fFrequency;
CONST_DSFX_WAVE lWaveform;
FLOAT fDelay;
CONST_DSFX_PHASE lPhase;
} DSFXCHORUS_CDESC;
[helpcontext(81147)]
typedef struct DSFXFLANGER_CDESC
{
FLOAT fWetDryMix;
FLOAT fDepth;
FLOAT fFeedback;
FLOAT fFrequency;
CONST_DSFX_WAVE lWaveform;
FLOAT fDelay;
CONST_DSFX_PHASE lPhase;
} DSFXFLANGER_CDESC;
[helpcontext(81946)]
typedef struct DSFXECHO_CDESC
{
FLOAT fWetDryMix;
FLOAT fFeedback;
FLOAT fLeftDelay;
FLOAT fRightDelay;
CONST_DSFX_PANDELAY lPanDelay;
} DSFXECHO_CDESC;
[helpcontext(81853)]
typedef struct DSFXDISTORTION_CDESC
{
FLOAT fGain;
FLOAT fEdge;
FLOAT fPostEQCenterFrequency;
FLOAT fPostEQBandwidth;
FLOAT fPreLowpassCutoff;
} DSFXDISTORTION_CDESC;
[helpcontext(81852)]
typedef struct DSFXCOMPRESSOR_CDESC
{
FLOAT fGain;
FLOAT fAttack;
FLOAT fRelease;
FLOAT fThreshold;
FLOAT fRatio;
FLOAT fPredelay;
} DSFXCOMPRESSOR_CDESC;
#if 0
[helpcontext(81872)]
typedef struct DSFXI3DL2OBSTRUCTION_CDESC
{
CONST_I3DL2SOURCEOBSTRUCTION lHFLevel;
FLOAT fRatio;
} DSFXI3DL2OBSTRUCTION_CDESC;
[helpcontext(81873)]
typedef struct DSFXI3DL2OCCLUSION_CDESC
{
CONST_I3DL2SOURCEOCCLUSION lHFLevel;
FLOAT fRatio;
} DSFXI3DL2OCCLUSION_CDESC;
[helpcontext(81875)]
typedef struct DSFXI3DL2SOURCE_CDESC
{
CONST_I3DL2SOURCEDIRECT lDirect; // [-10000, 1000] default: 0 mB
CONST_I3DL2SOURCEDIRECTHF lDirectHF; // [-10000, 0] default: 0 mB
CONST_I3DL2SOURCEROOM lRoom; // [-10000, 1000] default: 0 mB
CONST_I3DL2SOURCEROOMHF lRoomHF; // [-10000, 0] default: 0 mB
FLOAT fRoomRolloffFactor; // [0.0, 10.0] default: 0.0
DSFXI3DL2OBSTRUCTION_CDESC Obstruction;
DSFXI3DL2OCCLUSION_CDESC Occlusion;
CONST_I3DL2SOURCEFLAGS lFlags; // default: DSFX_I3DL2SOURCE_OCC_LPF
} DSFXI3DL2SOURCE_CDESC;
#endif
[helpcontext(81849)]
typedef struct DSFXI3DL2REVERB_CDESC
{
LONG lRoom; // [-10000, 0] default: -10000 mB
LONG lRoomHF; // [-10000, 0] default: 0 mB
FLOAT fRoomRolloffFactor; // [0.0, 10.0] default: 0.0
FLOAT fDecayTime; // [0.1, 20.0] default: 1.0 s
FLOAT fDecayHFRatio; // [0.1, 2.0] default: 0.5
LONG lReflections; // [-10000, 1000] default: -10000 mB
FLOAT fReflectionsDelay; // [0.0, 0.3] default: 0.02 s
LONG lReverb; // [-10000, 2000] default: -10000 mB
FLOAT fReverbDelay; // [0.0, 0.1] default: 0.04 s
FLOAT fDiffusion; // [0.0, 100.0] default: 100.0 %
FLOAT fDensity; // [0.0, 100.0] default: 100.0 %
FLOAT fHFReference; // [20.0, 20000.0] default: 5000.0 Hz
} DSFXI3DL2REVERB_CDESC;
//
// DirectMusic Structures
//
[helpcontext(81666)]
typedef struct DMUS_AUDIOPARAMS_CDESC
{
[hidden] LONG dwSize; /* Size of this structure. */
VARIANT_BOOL fInitNow; /* If true, the sink and synth are created immediately and results returned in this structure. */
CONST_DMUS_AUDIOPARAMS lValidData; /* Flags indicating which fields below are valid. */
CONST_DMUS_AUDIO lFeatures; /* Required DMUS_AUDIOF features. */
LONG lVoices; /* Required number of voices. */
LONG lSampleRate; /* Sample rate of synths and sink. */
BSTR clsidDefaultSynth; /* Class ID of default synthesizer. */
} DMUS_AUDIOPARAMS_CDESC;
[helpcontext(81764)]
typedef struct DMUS_TIMESIGNATURE_CDESC {
LONG mtTime;
Byte beatsPerMeasure;
Byte beat;
SHORT gridsPerBeat;
} DMUS_TIMESIGNATURE_CDESC;
#define MUSIC_TIME LONG
[helpcontext(81763)]
typedef struct DMUS_NOTIFICATION_PMSG_CDESC
{
[hidden] LONG lFlags;
LONG ctTime;
LONG mtTime;
LONG lNotificationType;
LONG lNotificationOption;
LONG lField1;
LONG lField2;
IUnknown *User;
} DMUS_NOTIFICATION_PMSG_CDESC;
[helpcontext(81761)]
typedef struct DMUS_CURVE_PMSG_CDESC {
MUSIC_TIME mtDuration;
MUSIC_TIME mtOriginalStart;
MUSIC_TIME mtResetDuration;
SHORT startValue;
SHORT endValue;
SHORT resetValue;
SHORT measure;
SHORT offset;
Byte beat;
Byte grid;
Byte type;
Byte curveShape;
Byte ccData;
Byte flags;
SHORT ParamType; /* RPN or NRPN parameter number. */
SHORT MergeIndex; /* Allows multiple parameters to be merged (pitchbend, volume, and expression.)*/
} DMUS_CURVE_PMSG_CDESC;
[helpcontext(81762)]
typedef struct DMUS_NOTE_PMSG_CDESC {
MUSIC_TIME mtDuration;
SHORT musicValue;
SHORT measure;
SHORT offset;
Byte beat;
Byte grid;
Byte velocity;
Byte flags;
Byte timeRange;
Byte durRange;
Byte velRange;
Byte playModeFlags;
Byte subChordLevel;
Byte midiValue;
SHORT transpose; //becomes byte
} DMUS_NOTE_PMSG_CDESC;
///////////////////////////////////////////////////////////////////////////
//
// Direct Sound Interfaces
//
///////////////////////////////////////////////////////////////////////////
[
object,
uuid(9F76FB00-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSound Interface"),
pointer_default(unique),
local,
helpcontext(312400)
]
interface I_dxj_DirectSound : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
//
//*** IDirectSound methods ***
//
[helpcontext(81823)] HRESULT createSoundBuffer([in] DSBUFFERDESC_CDESC *bufferDesc,
[out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
[helpcontext(81824)] HRESULT createSoundBufferFromFile([in] BSTR fileName, [in,out] DSBUFFERDESC_CDESC *bufferDesc,
[out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
[helpcontext(81825)] HRESULT createSoundBufferFromResource([in] BSTR dll, [in] BSTR resourceName, [in,out] DSBUFFERDESC_CDESC *bufferDesc,
[out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
[helpcontext(81827)] HRESULT getCaps([in,out] DSCAPS_CDESC *caps);
[helpcontext(81826)] HRESULT duplicateSoundBuffer([in] I_dxj_DirectSoundBuffer *original,
[out, retval] I_dxj_DirectSoundBuffer **duplicate);
#ifdef _WIN64
[helpcontext(81829)] HRESULT setCooperativeLevel([in] HWND hwnd, [in] CONST_DSSCLFLAGS level);
#else
[helpcontext(81829)] HRESULT setCooperativeLevel([in] LONG hwnd, [in] CONST_DSSCLFLAGS level);
#endif
[helpcontext(81828)] HRESULT getSpeakerConfig([out,retval] CONST_DSSPEAKERFLAGS *speakerConfig);
[helpcontext(81830)] HRESULT setSpeakerConfig([in] CONST_DSSPEAKERFLAGS speakerConfig);
[helpcontext(81822)] HRESULT CreatePrimarySoundBuffer([in] DSBUFFERDESC_CDESC *bufferDesc,
[out, retval] I_dxj_DirectSoundPrimaryBuffer **soundBuffer);
};
[
object,
uuid(4E6F040E-03FB-4ba1-897C-2265700D5368),
helpstring("DirectSoundPrimaryBuffer Interface"),
pointer_default(unique),
local,
helpcontext(312600)
]
interface I_dxj_DirectSoundPrimaryBuffer : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
//
/*** IDirectSoundBuffer methods ***/
//
[helpcontext(96791)] HRESULT getDirectSound3dListener([out, retval] I_dxj_DirectSound3dListener **lpdsl);
[helpcontext(81889)] HRESULT getCaps([in,out] DSBCAPS_CDESC *caps);
[helpcontext(81890)] HRESULT getCurrentPosition([out] DSCURSORS_CDESC *cursors);
[helpcontext(81892)] HRESULT getFormat([in,out] WAVEFORMATEX_CDESC *format);
[helpcontext(81895)] HRESULT getVolume([out,retval] LONG *volume);
[helpcontext(81893)] HRESULT getPan([out,retval] LONG *pan);
[helpcontext(81894)] HRESULT getStatus([out,retval] CONST_DSBSTATUSFLAGS *status);
[hidden] HRESULT initialize([in] I_dxj_DirectSound *directSound,
[in,out] DSBUFFERDESC_CDESC *bufferDesc, [in,out] byte *wbuf);
[helpcontext(81903)] HRESULT writeBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSBLOCKFLAGS flags);
[helpcontext(81897)] HRESULT readBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSBLOCKFLAGS flags);
[helpcontext(81896)] HRESULT play([in] CONST_DSBPLAYFLAGS flags);
[helpcontext(81899)] HRESULT setFormat([in] WAVEFORMATEX_CDESC *format);
[helpcontext(81901)] HRESULT setVolume([in] LONG volume);
[helpcontext(81900)] HRESULT setPan([in] LONG pan);
[helpcontext(81902)] HRESULT stop();
[helpcontext(81898)] HRESULT restore();
};
///////////////////////////////////////////////////////////////////////////
[
object,
uuid(9F76FB01-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSoundBuffer Interface"),
pointer_default(unique),
local,
helpcontext(98600)
]
interface I_dxj_DirectSoundBuffer : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
//
/*** IDirectSoundBuffer methods ***/
//
[helpcontext(81908)] HRESULT getDirectSound3dBuffer([out, retval] I_dxj_DirectSound3dBuffer **lpdsb);
[helpcontext(81906)] HRESULT getCaps([in,out] DSBCAPS_CDESC *caps);
[helpcontext(81907)] HRESULT getCurrentPosition([out] DSCURSORS_CDESC *cursors);
[helpcontext(81909)] HRESULT getFormat([in,out] WAVEFORMATEX_CDESC *format);
[helpcontext(81914)] HRESULT getVolume([out,retval] LONG *volume);
[helpcontext(81912)] HRESULT getPan([out,retval] LONG *pan);
[helpcontext(81910)] HRESULT getFrequency([out,retval] LONG *frequency);
[helpcontext(81913)] HRESULT getStatus([out,retval] CONST_DSBSTATUSFLAGS *status);
[hidden] HRESULT initialize([in] I_dxj_DirectSound *directSound,
[in,out] DSBUFFERDESC_CDESC *bufferDesc, [in,out] byte *wbuf);
[helpcontext(81926)] HRESULT writeBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSBLOCKFLAGS flags);
[helpcontext(81116)] HRESULT readBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSBLOCKFLAGS flags);
[helpcontext(81915)] HRESULT play([in] CONST_DSBPLAYFLAGS flags);
[helpcontext(81919)] HRESULT setCurrentPosition([in] LONG newPosition);
[helpcontext(81924)] HRESULT setVolume([in] LONG volume);
[helpcontext(81923)] HRESULT setPan([in] LONG pan);
[helpcontext(81920)] HRESULT setFrequency([in] LONG frequency);
[helpcontext(81925)] HRESULT stop();
[helpcontext(81917)] HRESULT restore();
[helpcontext(81922)] HRESULT setNotificationPositions(LONG nElements, SAFEARRAY(DSBPOSITIONNOTIFY_CDESC) *psa);
[helpcontext(81918)] HRESULT saveToFile([in] BSTR filename);
[helpcontext(81921)] HRESULT SetFX([in] LONG lEffectsCount, SAFEARRAY(DSEFFECTDESC_CDESC) *Buffers, SAFEARRAY(LONG) *lResultIDs);
[helpcontext(81905)] HRESULT AcquireResources([in] LONG lFlags, [in,out] SAFEARRAY(LONG) *lEffectsResults);
[helpcontext(81911)] HRESULT GetObjectinPath([in] BSTR guidFX, [in] LONG lIndex, [in] BSTR iidInterface, [out,retval] IUnknown **ret);
};
///////////////////////////////////////////////////////////////////////////
// I_dxj_DirectSound3dListener
[
object,
uuid(9F76FB02-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSound3dListener Interface"),
pointer_default(unique),
local,
helpcontext(312800)
]
interface I_dxj_DirectSound3dListener : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
//
/*** IDirectSound3D methods ***/
//
[helpcontext(81806)] HRESULT getAllParameters( [in,out] DS3DLISTENER_CDESC *listener );
[helpcontext(81808)] HRESULT getDistanceFactor( [out,retval] FLOAT *distanceFactor );
[helpcontext(81809)] HRESULT getDopplerFactor( [out,retval] FLOAT *dopplerFactor );
[helpcontext(81810)] HRESULT getOrientation( [in,out] D3DVECTOR_CDESC *orientFront, [in,out] D3DVECTOR_CDESC *orientTop );
[helpcontext(81811)] HRESULT getPosition( [out] D3DVECTOR_CDESC *position );
[helpcontext(81812)] HRESULT getRolloffFactor( [out,retval] FLOAT* rolloffFactor );
[helpcontext(81813)] HRESULT getVelocity( [out,retval] D3DVECTOR_CDESC *velocity );
[helpcontext(81814)] HRESULT setAllParameters( [in] DS3DLISTENER_CDESC *listener, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81815)] HRESULT setDistanceFactor( [in] FLOAT distanceFactor, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81816)] HRESULT setDopplerFactor( [in] FLOAT dopplerFactor, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81817)] HRESULT setOrientation( [in] FLOAT xFront, [in] FLOAT yFront, [in] FLOAT zFront,
[in] FLOAT xTop, [in] FLOAT yTop, [in] FLOAT zTop,
[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81818)] HRESULT setPosition( [in] FLOAT x , [in] FLOAT y, [in] FLOAT z, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81819)] HRESULT setRolloffFactor( [in] FLOAT rolloffFactor, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81820)] HRESULT setVelocity( [in] FLOAT x, [in] FLOAT y, [in] FLOAT z, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81805)] HRESULT commitDeferredSettings();
[helpcontext(81807)] HRESULT getDirectSoundBuffer([out,retval] I_dxj_DirectSoundPrimaryBuffer **retVal);
};
///////////////////////////////////////////////////////////////////////////
// IDirectSound3DBuffer
[
object,
uuid(9F76FB03-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSound3DBuffer Interface"),
pointer_default(unique),
local,
helpcontext(313000)
]
interface I_dxj_DirectSound3dBuffer : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
//
/*** IDirectSoundBuffer3D methods ***/
//
[helpcontext(81789)] HRESULT getDirectSoundBuffer([out,retval] I_dxj_DirectSoundBuffer **retVal);
[helpcontext(81785)] HRESULT getAllParameters( [in,out] DS3DBUFFER_CDESC *buffer );
[helpcontext(81786)] HRESULT getConeAngles( [in,out] LONG *inCone, [in,out] LONG *outCone );
[helpcontext(81787)] HRESULT getConeOrientation( [in,out] D3DVECTOR_CDESC* orientation );
[helpcontext(81788)] HRESULT getConeOutsideVolume( [out,retval] LONG * coneOutsideVolume );
[helpcontext(81790)] HRESULT getMaxDistance( [out,retval] FLOAT* maxDistance );
[helpcontext(81791)] HRESULT getMinDistance( [out,retval] FLOAT* minDistance );
[helpcontext(81792)] HRESULT getMode( [out,retval] CONST_DS3DMODEFLAGS *mode );
[helpcontext(81793)] HRESULT getPosition( [in,out] D3DVECTOR_CDESC* position );
[helpcontext(81794)] HRESULT getVelocity( [in,out] D3DVECTOR_CDESC* velocity );
[helpcontext(81795)] HRESULT setAllParameters( [in] DS3DBUFFER_CDESC *buffer,[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81796)] HRESULT setConeAngles( [in] LONG inCone, [in] LONG outCone, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81797)] HRESULT setConeOrientation( [in] FLOAT x , [in] FLOAT y, [in] FLOAT z, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81798)] HRESULT setConeOutsideVolume( [in] LONG coneOutsideVolume,[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81799)] HRESULT setMaxDistance( [in] FLOAT maxDistance,[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81800)] HRESULT setMinDistance( [in] FLOAT minDistance,[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81801)] HRESULT setMode( [in] CONST_DS3DMODEFLAGS mode,[in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81802)] HRESULT setPosition( [in] FLOAT x , [in] FLOAT y, [in] FLOAT z, [in] CONST_DS3DAPPLYFLAGS applyFlag);
[helpcontext(81803)] HRESULT setVelocity( [in] FLOAT x , [in] FLOAT y, [in] FLOAT z, [in] CONST_DS3DAPPLYFLAGS applyFlag);
};
[
object,
uuid(9F76FB04-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSoundCapture Interface"),
pointer_default(unique),
local,
helpcontext(313200)
]
interface I_dxj_DirectSoundCapture : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81832)] HRESULT createCaptureBuffer([in]DSCBUFFERDESC_CDESC *bufferDesc,[out,retval] I_dxj_DirectSoundCaptureBuffer **ret);
[helpcontext(81833)] HRESULT getCaps([in,out]DSCCAPS_CDESC *caps);
};
[
object,
uuid(9F76FB05-8E92-11d1-8808-00C04FC2C603),
helpstring("DirectSoundCaptureBuffer Interface"),
pointer_default(unique),
helpcontext(313400)
]
interface I_dxj_DirectSoundCaptureBuffer : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81835)] HRESULT getCaps([in,out]DSCBCAPS_CDESC *caps);
[helpcontext(81836)] HRESULT getCurrentPosition([in,out] DSCURSORS_CDESC *cursors);
[helpcontext(81537)] HRESULT getFormat([in,out] WAVEFORMATEX_CDESC *waveformat);
[helpcontext(81838)] HRESULT getStatus([out,retval] CONST_DSCBSTATUSFLAGS * status);
[hidden] HRESULT initialize([in]I_dxj_DirectSoundCaptureBuffer *captureBuffer,[in]DSCBUFFERDESC_CDESC *bufferDesc);
[helpcontext(81541)] HRESULT start([in] CONST_DSCBSTARTFLAGS flags);
[helpcontext(81842)] HRESULT stop();
[helpcontext(81543)] HRESULT writeBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSCBLOCKFLAGS flags);
[helpcontext(81839)] HRESULT readBuffer([in] LONG start, [in] LONG size, [in] void *buffer, [in] CONST_DSCBLOCKFLAGS flags);
[helpcontext(81540)] HRESULT setNotificationPositions(LONG nElements, SAFEARRAY(DSBPOSITIONNOTIFY_CDESC) *psa);
};
[
object,
uuid(9F76FB07-8E92-11d1-8808-00C04FC2C603),
helpstring("DSEnum Interface"),
pointer_default(unique),
local,
helpcontext(313600)
]
interface I_dxj_DSEnum : IUnknown
{
import "oaidl.idl";
[helpcontext(81847)] HRESULT getGuid([in] LONG index,[out,retval] BSTR *guid);
[helpcontext(81846)] HRESULT getDescription([in] LONG index,[out,retval] BSTR *guid);
[helpcontext(81848)] HRESULT getName([in] LONG index,[out,retval] BSTR *guid);
[helpcontext(81845)] HRESULT getCount([out,retval]LONG *count);
};
///////////////////////////////////////////////////////////////////////////
//
// Direct Sound Effects Interfaces
//
///////////////////////////////////////////////////////////////////////////
[
object,
uuid(A4D4D800-94BE-4c33-9A0E-EBA0696A63A9),
helpstring("DirectSoundFXWavesReverb Interface"),
pointer_default(unique),
local,
helpcontext(81211)
]
interface I_dxj_DirectSoundFXWavesReverb : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81887)] HRESULT SetAllParameters([in,out] DSFXWAVESREVERB_CDESC *params);
[helpcontext(81886)] HRESULT GetAllParameters([out,retval] DSFXWAVESREVERB_CDESC *params);
};
[
object,
uuid(CD83B9C1-B4E9-416b-97F5-0642DC952301),
helpstring("DirectSoundFXParamEQ Interface"),
pointer_default(unique),
local,
helpcontext(81212)
]
interface I_dxj_DirectSoundFXParamEQ : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81881)] HRESULT SetAllParameters([in,out] DSFXPARAMEQ_CDESC *params);
[helpcontext(81880)] HRESULT GetAllParameters([out,retval] DSFXPARAMEQ_CDESC *params);
};
[
object,
uuid(542C5D87-47FC-457b-859A-1A45BBF71A63),
helpstring("DirectSoundFXI3DL2Reverb Interface"),
pointer_default(unique),
local,
helpcontext(81213)
]
interface I_dxj_DirectSoundFXI3DL2Reverb : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81870)] HRESULT SetAllParameters([in,out] DSFXI3DL2REVERB_CDESC *params);
[helpcontext(81868)] HRESULT GetAllParameters([out,retval] DSFXI3DL2REVERB_CDESC *params);
[helpcontext(81871)] HRESULT SetPreset([in] CONST_DSFX_I3DL2_ENVIRONMENT_PRESETS lPreset);
[helpcontext(81869)] HRESULT GetPreset([out,retval] LONG *ret);
[helpcontext(89150)] HRESULT SetQuality([in] CONST_DSFX_I3DL2REVERB_QUALITY lQuality);
[helpcontext(89151)] HRESULT GetQuality([out,retval] LONG *ret);
};
#if 0
[
object,
uuid(F24E6886-C3CC-4a57-A1E4-860314BDF8D6),
helpstring("DirectSoundFXI3DL2Source Interface"),
pointer_default(unique),
local,
helpcontext(81214)
]
interface I_dxj_DirectSoundFXI3DL2Source : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81876)] HRESULT SetAllParameters([in, out] DSFXI3DL2SOURCE_CDESC *params);
[helpcontext(81573)] HRESULT GetAllParameters([out,retval] DSFXI3DL2SOURCE_CDESC *params);
[helpcontext(81877)] HRESULT SetObstructionPreset([in] CONST_DSFX_I3DL2_MATERIAL_PRESET lObstruction);
[helpcontext(81874)] HRESULT GetObstructionPreset([out,retval] LONG *ret);
[helpcontext(81878)] HRESULT SetOcclusionPreset([in] CONST_DSFX_I3DL2_MATERIAL_PRESET lOcclusion);
[helpcontext(81575)] HRESULT GetOcclusionPreset([out,retval] LONG *ret);
};
#endif
[
object,
uuid(F902315C-D34A-4133-BD65-4069230811DD),
helpstring("DirectSoundFXCompressor Interface"),
pointer_default(unique),
local,
helpcontext(81215)
]
interface I_dxj_DirectSoundFXCompressor : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81854)] HRESULT SetAllParameters([in,out] DSFXCOMPRESSOR_CDESC *params);
[helpcontext(81553)] HRESULT GetAllParameters([out,retval] DSFXCOMPRESSOR_CDESC *params);
};
[
object,
uuid(3CE4D8D6-B301-49b4-9C63-9A989CA40388),
helpstring("DirectSoundFXDistortion Interface"),
pointer_default(unique),
local,
helpcontext(81216)
]
interface I_dxj_DirectSoundFXDistortion : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81557)] HRESULT SetAllParameters([in,out] DSFXDISTORTION_CDESC *params);
[helpcontext(81556)] HRESULT GetAllParameters([out,retval] DSFXDISTORTION_CDESC *params);
};
[
object,
uuid(E852583A-526F-4875-842B-8DB091A20FBC),
helpstring("DirectSoundFXEcho Interface"),
pointer_default(unique),
local,
helpcontext(81217)
]
interface I_dxj_DirectSoundFXEcho : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81860)] HRESULT SetAllParameters([in,out] DSFXECHO_CDESC *params);
[helpcontext(81859)] HRESULT GetAllParameters([out,retval] DSFXECHO_CDESC *params);
};
[
object,
uuid(9F9C7BB0-F4EA-472b-89A8-36FAADBCE26E),
helpstring("DirectSoundFXFlanger Interface"),
pointer_default(unique),
local,
helpcontext(81218)
]
interface I_dxj_DirectSoundFXFlanger : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81863)] HRESULT SetAllParameters([in,out] DSFXFLANGER_CDESC *params);
[helpcontext(81862)] HRESULT GetAllParameters([out,retval] DSFXFLANGER_CDESC *params);
};
[
object,
uuid(E53AC43D-651F-400d-B01F-E8A14512C6D6),
helpstring("DirectSoundFXChorus Interface"),
pointer_default(unique),
local,
helpcontext(81219)
]
interface I_dxj_DirectSoundFXChorus : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81851)] HRESULT SetAllParameters([in,out] DSFXCHORUS_CDESC *params);
[helpcontext(81850)] HRESULT GetAllParameters([out,retval] DSFXCHORUS_CDESC *params);
};
[
object,
uuid(B9B28963-4ADC-44f0-873F-9955244C9BD0),
helpstring("DirectSoundFXGargle Interface"),
pointer_default(unique),
local,
helpcontext(81220)
]
interface I_dxj_DirectSoundFXGargle : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81866)] HRESULT SetAllParameters([in,out] DSFXGARGLE_CDESC *params);
[helpcontext(81865)] HRESULT GetAllParameters([out,retval] DSFXGARGLE_CDESC *params);
};
#if 0
[
object,
uuid(E307FA2B-1305-403b-A769-2EF053BEAA3E),
helpstring("DirectSoundFXSend Interface"),
pointer_default(unique),
local,
helpcontext(81221)
]
interface I_dxj_DirectSoundFXSend : IUnknown
{
import "oaidl.idl";
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81884)] HRESULT SetAllParameters([in,out] DSFXSEND_CDESC *params);
[helpcontext(81883)] HRESULT GetAllParameters([out,retval] DSFXSEND_CDESC *params);
};
#endif
///////////////////////////////////////////////////////////////////////////
//
// DirectMusic
//
///////////////////////////////////////////////////////////////////////////
[
object,
uuid(A4A8597A-BA7A-4648-B321-1701598844D8),
helpstring("DirectMusicAudioPath Interface"),
pointer_default(unique),
local,
helpcontext(81022)
]
interface I_dxj_DirectMusicAudioPath : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81639)] HRESULT GetObjectInPath([in] LONG lPChannel, [in] CONST_DMUSIC_PATH lStage, [in] LONG lBuffer, [in] BSTR guidObject, [in] LONG lIndex, [in] BSTR iidInterface, [out,retval] IUnknown **ppObject);
[helpcontext(81638)] HRESULT Activate([in] VARIANT_BOOL fActive);
[helpcontext(81640)] HRESULT SetVolume([in] LONG lVolume, [in] LONG lDuration);
};
[
object,
uuid(FAFA35A0-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicLoader Interface"),
pointer_default(unique),
local,
helpcontext(316800)
]
interface I_dxj_DirectMusicLoader : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
// in place of GetObject we can have a function for each type -
// load from Resource
[helpcontext(81661)] HRESULT loadSegment([in]BSTR filename, [out,retval] I_dxj_DirectMusicSegment **ret);
[helpcontext(81664)] HRESULT loadStyle([in]BSTR filename, [out,retval] I_dxj_DirectMusicStyle **ret);
[helpcontext(81655)] HRESULT loadBand([in]BSTR filename, [out,retval] I_dxj_DirectMusicBand **ret);
[helpcontext(81659)] HRESULT loadCollection([in]BSTR filename, [out,retval] I_dxj_DirectMusicCollection **ret);
[helpcontext(81662)] HRESULT loadSegmentFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicSegment **ret);
[helpcontext(81665)] HRESULT loadStyleFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicStyle **ret);
[helpcontext(81656)] HRESULT loadBandFromResource([in]BSTR moduleName,[in] BSTR resourceName, [out,retval] I_dxj_DirectMusicBand **ret);
[helpcontext(81660)] HRESULT loadCollectionFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicCollection **ret);
[helpcontext(81566)] HRESULT setSearchDirectory([in] BSTR dir);
[helpcontext(81657)] HRESULT loadChordMap([in]BSTR filename, [out,retval] I_dxj_DirectMusicChordMap **ret);
[helpcontext(81658)] HRESULT loadChordMapFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicChordMap **ret);
#if 0
[helpcontext(81663)] HRESULT LoadSong([in]BSTR filename, [out,retval] I_dxj_DirectMusicSong **ret);
#endif
};
[
object,
uuid(FAFA35A1-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicSegment Interface"),
pointer_default(unique),
local,
helpcontext(317000)
]
interface I_dxj_DirectMusicSegment : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
/* I_dxj_DirectMusicSegment */
[helpcontext(81718)] HRESULT clone ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd, [out,retval] I_dxj_DirectMusicSegment** ppSegment);
[helpcontext(81734)] HRESULT setStartPoint ([in] MUSIC_TIME mtStart) ;
[helpcontext(81727)] HRESULT getStartPoint ([out,retval] MUSIC_TIME* pmtStart);
[helpcontext(81731)] HRESULT setLoopPoints ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd);
[helpcontext(81725)] HRESULT getLoopPointStart ([out,retval] MUSIC_TIME* pmtStart);
[helpcontext(81724)] HRESULT getLoopPointEnd ([out,retval] MUSIC_TIME* pmtEnd);
[helpcontext(81723)] HRESULT getLength ([out,retval] MUSIC_TIME* pmtLength);
[helpcontext(81730)] HRESULT setLength ([in] MUSIC_TIME mtLength);
[helpcontext(81726)] HRESULT getRepeats ([out,retval] LONG* lRepeats);
[helpcontext(81732)] HRESULT setRepeats ([in] LONG lRepeats) ;
//track params
[helpcontext(81720)] HRESULT download( [in] IUnknown *downloadpath);
[helpcontext(81737)] HRESULT unload( [in] IUnknown *downloadpath);
[helpcontext(81729)] HRESULT setAutoDownloadEnable ( [in] VARIANT_BOOL b);
[helpcontext(81735)] HRESULT setTempoEnable ( [in] VARIANT_BOOL b);
[helpcontext(81736)] HRESULT setTimeSigEnable ( [in] VARIANT_BOOL b);
[helpcontext(81733)] HRESULT setStandardMidiFile( );
[helpcontext(81719)] HRESULT connectToCollection ( [in] I_dxj_DirectMusicCollection *c);
[helpcontext(81721)] HRESULT GetAudioPathConfig([out,retval] IUnknown **ret);
[helpcontext(81728)] HRESULT getStyle([in] LONG lTrack,[out,retval] I_dxj_DirectMusicStyle **ret);
[helpcontext(81722)] HRESULT getChordMap([in] LONG lTrack, [in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] I_dxj_DirectMusicChordMap **ret);
[helpcontext(88722)] HRESULT GetName([out,retval] BSTR *ret);
};
[
object,
uuid(FAFA35A2-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicComposer Interface"),
pointer_default(unique),
local,
helpcontext(317200)
]
interface I_dxj_DirectMusicComposer : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81648)] HRESULT autoTransition ([in] I_dxj_DirectMusicPerformance* performance,
[in] I_dxj_DirectMusicSegment* toSeg,
[in] LONG lCommand,
[in] LONG lFlags,
[in] I_dxj_DirectMusicChordMap *chordmap,
[out,retval] I_dxj_DirectMusicSegment** ppTransSeg);
[helpcontext(81651)] HRESULT composeSegmentFromTemplate ([in] I_dxj_DirectMusicStyle* style,
[in] I_dxj_DirectMusicSegment* templateSeg,
[in] SHORT activity,
[in] I_dxj_DirectMusicChordMap *chordmap,
[out,retval] I_dxj_DirectMusicSegment** SectionSeg);
[helpcontext(81650)] HRESULT composeSegmentFromShape ( [in] I_dxj_DirectMusicStyle* style,
[in] SHORT numberOfMeasures,
[in] SHORT shape,
[in] SHORT activity,
[in] VARIANT_BOOL bIntro,
[in] VARIANT_BOOL bEnd,
[in] I_dxj_DirectMusicChordMap *chordmap,
[out,retval] I_dxj_DirectMusicSegment** SectionSeg);
[helpcontext(81653)] HRESULT composeTransition ([in] I_dxj_DirectMusicSegment* fromSeg,
[in] I_dxj_DirectMusicSegment* toSeg,
[in] MUSIC_TIME mtTime,
[in] LONG lCommand,
[in] LONG lFlags,
[in] I_dxj_DirectMusicChordMap *chordmap,
[out,retval] I_dxj_DirectMusicSegment** SectionSeg);
[helpcontext(81652)] HRESULT composeTemplateFromShape ([in] SHORT numMeasures,
[in] SHORT shape,
[in] VARIANT_BOOL bIntro,
[in] VARIANT_BOOL bEnd,
[in] SHORT endLength,
[out,retval] I_dxj_DirectMusicSegment** TempSeg);
[helpcontext(81649)] HRESULT changeChordMap([in] I_dxj_DirectMusicSegment* segment,[in] VARIANT_BOOL trackScale, [in] I_dxj_DirectMusicChordMap* ChordMap);
};
[
object,
uuid(FAFA35A3-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicBand Interface"),
pointer_default(unique),
local,
helpcontext(317400)
]
interface I_dxj_DirectMusicBand : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81642)] HRESULT createSegment([out,retval] I_dxj_DirectMusicSegment **ret);
[helpcontext(81643)] HRESULT download([in] I_dxj_DirectMusicPerformance *downloadpath);
[helpcontext(81644)] HRESULT unload([in] I_dxj_DirectMusicPerformance *downloadpath);
};
[
object,
uuid(FAFA35A4-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicStyle Interface"),
pointer_default(unique),
local,
helpcontext(317600)
]
interface I_dxj_DirectMusicStyle : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81753)] HRESULT getBandName([in] LONG index,[out,retval] BSTR *name);
[helpcontext(81752)] HRESULT getBandCount([out,retval] LONG *count);
[helpcontext(81751)] HRESULT getBand([in] BSTR name,[out,retval] I_dxj_DirectMusicBand **ret);
[helpcontext(81754)] HRESULT getDefaultBand([out,retval] I_dxj_DirectMusicBand **ret);
[helpcontext(81757)] HRESULT getMotifName([in] LONG index,[out,retval] BSTR *name);
[helpcontext(81756)] HRESULT getMotifCount([out,retval] LONG *count);
[helpcontext(81755)] HRESULT getMotif([in] BSTR name,[out,retval] I_dxj_DirectMusicSegment **ret);
[helpcontext(81759)] HRESULT getTimeSignature( [in,out] DMUS_TIMESIGNATURE_CDESC* pTimeSig);
[helpcontext(81758)] HRESULT getTempo([out,retval] double *pTempo);
};
[
object,
uuid(FAFA35A5-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicChordMap Interface"),
pointer_default(unique),
local,
helpcontext(317800)
]
interface I_dxj_DirectMusicChordMap : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[hidden] HRESULT getScale([out,retval] LONG *scale);
};
[
object,
uuid(FAFA35A6-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicSegmentState Interface"),
pointer_default(unique),
local,
helpcontext(318000)
]
interface I_dxj_DirectMusicSegmentState : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81739)] HRESULT getRepeats([out,retval] LONG *repeats);
[helpcontext(81740)] HRESULT getSeek([out,retval] MUSIC_TIME *seek);
[helpcontext(81742)] HRESULT getStartPoint([out,retval] MUSIC_TIME *seek);
[helpcontext(81743)] HRESULT getStartTime([out,retval] MUSIC_TIME *seek);
[helpcontext(81741)] HRESULT getSegment([out,retval] I_dxj_DirectMusicSegment **segment);
};
[
object,
uuid(FAFA35A7-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicPerformance Interface"),
pointer_default(unique),
local,
helpcontext(318200)
]
interface I_dxj_DirectMusicPerformance : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81671)] HRESULT closeDown ();
[helpcontext(81690)] HRESULT getSegmentState ([in] MUSIC_TIME mtTime, [out,retval] I_dxj_DirectMusicSegmentState **ret);
[helpcontext(81695)] HRESULT invalidate ([in] MUSIC_TIME mtTime, [in] LONG flags);
[helpcontext(81696)] HRESULT isPlaying ([in] I_dxj_DirectMusicSegment* segment, [in] I_dxj_DirectMusicSegmentState* segmentState,[out,retval] VARIANT_BOOL *b);
[helpcontext(81668)] HRESULT addNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
[helpcontext(81699)] HRESULT removeNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
#ifdef _WIN64
[helpcontext(81714)] HRESULT setNotificationHandle([in] HWND hnd);
#else
[helpcontext(81714)] HRESULT setNotificationHandle([in] LONG hnd);
#endif
[helpcontext(81686)] HRESULT getNotificationPMSG ([in,out] DMUS_NOTIFICATION_PMSG_CDESC *message,[out,retval] VARIANT_BOOL *success);
[helpcontext(81697)] HRESULT musicToClockTime ([in] MUSIC_TIME mtTime,[out,retval] REFERENCE_TIME *ctTime);
[helpcontext(81670)] HRESULT clockToMusicTime ([in] REFERENCE_TIME ctTime,[out,retval] MUSIC_TIME *mtTime);
[helpcontext(81685)] HRESULT getMusicTime ([out,retval] MUSIC_TIME* ret);
[helpcontext(81676)] HRESULT getClockTime ([out,retval] REFERENCE_TIME* ret);
[helpcontext(81687)] HRESULT getPrepareTime ([out,retval] LONG *lMilliSeconds);
[helpcontext(81674)] HRESULT getBumperLength ([out,retval] LONG *lMilliSeconds);
[helpcontext(81680)] HRESULT getLatencyTime ([out,retval] REFERENCE_TIME *ctTime);
[helpcontext(81688)] HRESULT getQueueTime ([out,retval] REFERENCE_TIME *ctTime);
[helpcontext(81689)] HRESULT getResolvedTime ([in] REFERENCE_TIME ctTime, [in] LONG flags, [out,retval] REFERENCE_TIME *ret);
[helpcontext(81715)] HRESULT setPrepareTime ([in] LONG lMilliSeconds);
[helpcontext(81708)] HRESULT setBumperLength ([in] LONG lMilliSeconds) ;
[helpcontext(81669)] HRESULT adjustTime ([in] LONG tAmount);
//global params
[helpcontext(81710)] HRESULT setMasterAutoDownload ([in] VARIANT_BOOL b);
[helpcontext(81681)] HRESULT getMasterAutoDownload ([out,retval] VARIANT_BOOL *b);
[helpcontext(81712)] HRESULT setMasterTempo ([in] FLOAT tempo);
[helpcontext(81683)] HRESULT getMasterTempo ([out,retval] FLOAT *tempo);
[helpcontext(81713)] HRESULT setMasterVolume ([in] LONG vol);
[helpcontext(81684)] HRESULT getMasterVolume ([out,retval] LONG *v);
[helpcontext(81711)] HRESULT setMasterGrooveLevel ([in] SHORT level);
[helpcontext(81682)] HRESULT getMasterGrooveLevel ([out,retval] SHORT *level);
[helpcontext(81700)] HRESULT Reset([in] LONG resetflags );
[helpcontext(81691)] HRESULT getStyle([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] I_dxj_DirectMusicStyle **ret);
[helpcontext(81675)] HRESULT getChordMap([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] I_dxj_DirectMusicChordMap **ret);
[helpcontext(81677)] HRESULT getCommand([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *command) ;
[helpcontext(81679)] HRESULT getGrooveLevel([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *level) ;
[helpcontext(81692)] HRESULT getTempo([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] double *tempo) ;
[helpcontext(81693)] HRESULT getTimeSig([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[in,out] DMUS_TIMESIGNATURE_CDESC *timeSig) ;
[helpcontext(81703)] HRESULT sendNotePMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] LONG channel,
[in] DMUS_NOTE_PMSG_CDESC *msg);
[helpcontext(81701)] HRESULT sendCurvePMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] LONG channel,
[in] DMUS_CURVE_PMSG_CDESC *msg);
[helpcontext(81702)] HRESULT sendMIDIPMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] LONG channel,
[in] Byte status,
[in] Byte byte1,
[in] Byte byte2);
[helpcontext(81704)] HRESULT sendPatchPMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] LONG channel,
[in] Byte instrument,
[in] Byte byte1,
[in] Byte byte2);
[helpcontext(81705)] HRESULT sendTempoPMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
// [in] LONG channel,
[in] double tempo);
[helpcontext(81707)] HRESULT sendTransposePMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] LONG channel,
[in] SHORT transpose);
[helpcontext(81706)] HRESULT sendTimeSigPMSG([in] MUSIC_TIME lTime,
[in] LONG flags,
[in] DMUS_TIMESIGNATURE_CDESC *timesig);
// New for DX8
#ifdef _WIN64
[helpcontext(81694)] HRESULT InitAudio([in] HWND hWnd, /* HWND for DSound. */
[in] CONST_DMUS_AUDIO lFlags,
[in,out] DMUS_AUDIOPARAMS_CDESC *AudioParams,
[in,out,optional] I_dxj_DirectSound **DirectSound, /* Optional DSound pointer. */
[in,optional] CONST_DMUSIC_STANDARD_AUDIO_PATH lDefaultPathType, /* Requested default audio path type, also optional. */
[in,optional] LONG lPChannelCount /* Number of PChannels, if default audio path to be created. */
);
#else
[helpcontext(81694)] HRESULT InitAudio([in] LONG hWnd, /* HWND for DSound. */
[in] CONST_DMUS_AUDIO lFlags,
[in,out] DMUS_AUDIOPARAMS_CDESC *AudioParams,
[in,out,optional] I_dxj_DirectSound **DirectSound, /* Optional DSound pointer. */
[in,optional] CONST_DMUSIC_STANDARD_AUDIO_PATH lDefaultPathType, /* Requested default audio path type, also optional. */
[in,optional] LONG lPChannelCount /* Number of PChannels, if default audio path to be created. */
);
#endif
[helpcontext(81698)] HRESULT PlaySegmentEx([in] IUnknown *Source, /* Segment to play. Alternately, could be an IDirectMusicSong. */
[in] CONST_DMUS_SEGF_FLAGS lFlags, /* DMUS_SEGF_ flags. */
[in] LONG StartTime, /* Time to start playback. */
[in,optional] IUnknown *From, /* Optional segmentstate or audiopath to replace. */
[in,optional] IUnknown *AudioPath, /* Optional audioPath to play on. */
#if 0
[in,optional] BSTR SegmentName, /* If song, which segment in the song. */
[in,optional] IUnknown *Transition, /* Optional template segment to compose transition with. */
#endif
[out,retval] I_dxj_DirectMusicSegmentState **ppSegmentState); /* Returned Segment State. */
[helpcontext(81716)] HRESULT StopEx([in] IUnknown *ObjectToStop, /* Segstate, AudioPath, Segment, or Song. */
[in] LONG lStopTime,
[in] CONST_DMUS_SEGF_FLAGS lFlags);
[helpcontext(81672)] HRESULT CreateAudioPath([in] IUnknown *SourceConfig, [in] VARIANT_BOOL fActive,
[out,retval] I_dxj_DirectMusicAudioPath **ppNewPath);
[helpcontext(81673)] HRESULT CreateStandardAudioPath([in] CONST_DMUSIC_STANDARD_AUDIO_PATH lType, [in] LONG lPChannelCount, [in] VARIANT_BOOL fActive,
[out,retval] I_dxj_DirectMusicAudioPath **ppNewPath);
[helpcontext(81709)] HRESULT SetDefaultAudioPath([in,out] I_dxj_DirectMusicAudioPath *AudioPath);
[helpcontext(81678)] HRESULT GetDefaultAudioPath([out,retval] I_dxj_DirectMusicAudioPath **ppAudioPath);
};
[
object,
uuid(FAFA35A8-8B72-11d2-90B2-00C04FC2C603),
helpstring("DirectMusicCollection Interface"),
pointer_default(unique),
local,
helpcontext(318400)
]
interface I_dxj_DirectMusicCollection : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
};
#if 0
[
object,
uuid(7D140634-A5B2-46cc-A8C0-F51BC475BF5D),
helpstring("DirectMusicSong Interface"),
pointer_default(unique),
local,
helpcontext(81023)
]
interface I_dxj_DirectMusicSong : IUnknown
{
[hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
[hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
[helpcontext(81745)] HRESULT Compose();
[helpcontext(81748)] HRESULT GetSegment([in] BSTR Name, [out,retval] I_dxj_DirectMusicSegment **ret);
[helpcontext(81747)] HRESULT GetAudioPathConfig([out,retval] IUnknown **ret);
[helpcontext(81746)] HRESULT Download([in] IUnknown *downloadpath);
[helpcontext(81749)] HRESULT Unload([in] IUnknown *downloadpath);
[helpcontext(81348)] HRESULT EnumSegment([in] LONG lSegmentID, [out,retval] I_dxj_DirectMusicSegment **ret);
};
#endif
//
// AUDIO String Constants
//
[
dllname("dx8vb.dll")
]
module AUDIOCONSTANTS
{
// GUID for FX components
#if 0
const BSTR DSFX_SEND = L"GUID_DSFX_SEND";
#endif
const BSTR DSFX_STANDARD_GARGLE = L"GUID_DSFX_STANDARD_GARGLE";
const BSTR DSFX_STANDARD_CHORUS = L"GUID_DSFX_STANDARD_CHORUS";
const BSTR DSFX_STANDARD_FLANGER = L"GUID_DSFX_STANDARD_FLANGER";
const BSTR DSFX_STANDARD_ECHO = L"GUID_DSFX_STANDARD_ECHO";
const BSTR DSFX_STANDARD_DISTORTION = L"GUID_DSFX_STANDARD_DISTORTION";
const BSTR DSFX_STANDARD_COMPRESSOR = L"GUID_DSFX_STANDARD_COMPRESSOR";
#if 0
const BSTR DSFX_STANDARD_I3DL2SOURCE = L"GUID_DSFX_STANDARD_I3DL2SOURCE";
#endif
const BSTR DSFX_STANDARD_I3DL2REVERB = L"GUID_DSFX_STANDARD_I3DL2REVERB";
const BSTR DSFX_STANDARD_PARAMEQ = L"GUID_DSFX_STANDARD_PARAMEQ";
const BSTR DSFX_STANDARD_WAVES_REVERB = L"GUID_DSFX_WAVES_REVERB";
// IID for FX Interfaces
#if 0
const BSTR IID_DirectSoundFXSend = L"IID_DirectSoundFXSend";
#endif
const BSTR IID_DirectSoundFXChorus = L"IID_DirectSoundFXChorus";
const BSTR IID_DirectSoundFXCompressor = L"IID_DirectSoundFXCompressor";
const BSTR IID_DirectSoundFXDistortion = L"IID_DirectSoundFXDistortion";
const BSTR IID_DirectSoundFXEcho = L"IID_DirectSoundFXEcho";
const BSTR IID_DirectSoundFXFlanger = L"IID_DirectSoundFXFlanger";
const BSTR IID_DirectSoundFXGargle = L"IID_DirectSoundFXGargle";
const BSTR IID_DirectSoundFXI3DL2REVERB = L"IID_DirectSoundFXI3DL2REVERB";
#if 0
const BSTR IID_DirectSoundFXI3DL2SOURCE = L"IID_DirectSoundFXI3DL2SOURCE";
#endif
const BSTR IID_DirectSoundFXParamEq = L"IID_DirectSoundFXParamEq";
const BSTR IID_DirectSoundFXWavesReverb = L"IID_DirectSoundFXWavesReverb";
// IID for Interfaces
const BSTR IID_DirectSoundSecondaryBuffer = L"IID_IDirectSoundBuffer8";
const BSTR IID_DirectSoundPrimaryBuffer = L"IID_IDirectSoundBuffer";
const BSTR IID_DirectSound3DBuffer = L"IID_IDirectSound3DBuffer";
const BSTR IID_DirectSound3DListener = L"IID_IDirectSound3DListener";
const BSTR GUID_ALL = L"GUID_ALL_OBJECTS";
// IID For 3D Algorithms
const BSTR GUID_DS3DALG_DEFAULT = L"DS3DALG_DEFAULT";
const BSTR GUID_DS3DALG_NO_VIRTUALIZATION = L"DS3DALG_NO_VIRTUALIZATION";
const BSTR GUID_DS3DALG_HRTF_FULL = L"DS3DALG_HRTF_FULL";
const BSTR GUID_DS3DALG_HRTF_LIGHT = L"DS3DALG_HRTF_LIGHT";
};