//+------------------------------------------------------------------------- // // 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"; };