⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fmod.h

📁 一个小飞机游戏
💻 H
📖 第 1 页 / 共 3 页
字号:

DLL_API int				F_API FSOUND_PlaySound(int channel, FSOUND_SAMPLE *sptr);
DLL_API int				F_API FSOUND_PlaySoundEx(int channel, FSOUND_SAMPLE *sptr, FSOUND_DSPUNIT *dsp, signed char startpaused);
DLL_API signed char		F_API FSOUND_StopSound(int channel);

/* 
    Functions to control playback of a channel.
*/

DLL_API signed char		F_API FSOUND_SetFrequency(int channel, int freq);
DLL_API signed char		F_API FSOUND_SetVolume(int channel, int vol);
DLL_API signed char 	F_API FSOUND_SetVolumeAbsolute(int channel, int vol);
DLL_API signed char		F_API FSOUND_SetPan(int channel, int pan);
DLL_API signed char		F_API FSOUND_SetSurround(int channel, signed char surround);
DLL_API signed char		F_API FSOUND_SetMute(int channel, signed char mute);
DLL_API signed char		F_API FSOUND_SetPriority(int channel, int priority);
DLL_API signed char		F_API FSOUND_SetReserved(int channel, signed char reserved);
DLL_API signed char		F_API FSOUND_SetPaused(int channel, signed char paused);
DLL_API signed char		F_API FSOUND_SetLoopMode(int channel, unsigned int loopmode);
DLL_API signed char     F_API FSOUND_SetCurrentPosition(int channel, unsigned int offset);

/* 
    Functions to control DX8 only effects processing.
    Note that FX enabled samples can only be played once at a time.
*/

DLL_API signed char     F_API FSOUND_FX_Enable(int channel, unsigned int fx);    /* Set bits to enable following fx */
DLL_API signed char     F_API FSOUND_FX_SetChorus(int channel, float WetDryMix, float Depth, float Feedback, float Frequency, int Waveform, float Delay, int Phase);
DLL_API signed char     F_API FSOUND_FX_SetCompressor(int channel, float Gain, float Attack, float Release, float Threshold, float Ratio, float Predelay);
DLL_API signed char     F_API FSOUND_FX_SetDistortion(int channel, float Gain, float Edge, float PostEQCenterFrequency, float PostEQBandwidth, float PreLowpassCutoff);
DLL_API signed char     F_API FSOUND_FX_SetEcho(int channel, float WetDryMix, float Feedback, float LeftDelay, float RightDelay, int PanDelay);
DLL_API signed char     F_API FSOUND_FX_SetFlanger(int channel, float WetDryMix, float Depth, float Feedback, float Frequency, int Waveform, float Delay, int Phase);
DLL_API signed char     F_API FSOUND_FX_SetGargle(int channel, int RateHz, int WaveShape);
DLL_API signed char     F_API FSOUND_FX_SetI3DL2Reverb(int channel, int Room, int RoomHF, float RoomRolloffFactor, float DecayTime, float DecayHFRatio, int Reflections, float ReflectionsDelay, int Reverb, float ReverbDelay, float Diffusion, float Density, float HFReference);
DLL_API signed char     F_API FSOUND_FX_SetParamEQ(int channel, float Center, float Bandwidth, float Gain);
DLL_API signed char     F_API FSOUND_FX_SetWavesReverb(int channel, float InGain, float ReverbMix, float ReverbTime, float HighFreqRTRatio);  

/* 
    Channel information functions.
*/

DLL_API signed char		F_API FSOUND_IsPlaying(int channel);
DLL_API int				F_API FSOUND_GetFrequency(int channel);
DLL_API int				F_API FSOUND_GetVolume(int channel);
DLL_API int				F_API FSOUND_GetPan(int channel);
DLL_API signed char		F_API FSOUND_GetSurround(int channel);
DLL_API signed char		F_API FSOUND_GetMute(int channel);
DLL_API int				F_API FSOUND_GetPriority(int channel);
DLL_API signed char		F_API FSOUND_GetReserved(int channel);
DLL_API signed char		F_API FSOUND_GetPaused(int channel);
DLL_API unsigned int	F_API FSOUND_GetCurrentPosition(int channel);
DLL_API FSOUND_SAMPLE *	F_API FSOUND_GetCurrentSample(int channel);
DLL_API float			F_API FSOUND_GetCurrentVU(int channel);
 
/* =================== */
/* 3D sound functions. */
/* =================== */

/* 
    See also FSOUND_Sample_SetMinMaxDistance (above)
*/
DLL_API void			F_API FSOUND_3D_Update();
DLL_API signed char		F_API FSOUND_3D_SetAttributes(int channel, float *pos, float *vel);
DLL_API signed char		F_API FSOUND_3D_GetAttributes(int channel, float *pos, float *vel);
DLL_API void			F_API FSOUND_3D_Listener_SetAttributes(float *pos, float *vel, float fx, float fy, float fz, float tx, float ty, float tz);
DLL_API void			F_API FSOUND_3D_Listener_GetAttributes(float *pos, float *vel, float *fx, float *fy, float *fz, float *tx, float *ty, float *tz);
DLL_API void			F_API FSOUND_3D_Listener_SetDopplerFactor(float scale);
DLL_API void			F_API FSOUND_3D_Listener_SetDistanceFactor(float scale);
DLL_API void			F_API FSOUND_3D_Listener_SetRolloffFactor(float scale);
 
/* ========================= */
/* File Streaming functions. */
/* ========================= */

/*
    Note : Use FSOUND_LOADMEMORY   flag with FSOUND_Stream_OpenFile to stream from memory.
           Use FSOUND_LOADRAW      flag with FSOUND_Stream_OpenFile to treat stream as raw pcm data.
           Use FSOUND_MPEGACCURATE flag with FSOUND_Stream_OpenFile to open mpegs in 'accurate mode' for settime/gettime/getlengthms.
*/

DLL_API FSOUND_STREAM *	F_API FSOUND_Stream_OpenFile(const char *filename, unsigned int mode, int memlength);
DLL_API FSOUND_STREAM *	F_API FSOUND_Stream_Create(FSOUND_STREAMCALLBACK callback, int length, unsigned int mode, int samplerate, int userdata);
DLL_API int 			F_API FSOUND_Stream_Play(int channel, FSOUND_STREAM *stream);
DLL_API int				F_API FSOUND_Stream_PlayEx(int channel, FSOUND_STREAM *stream, FSOUND_DSPUNIT *dsp, signed char startpaused);

DLL_API signed char		F_API FSOUND_Stream_Stop(FSOUND_STREAM *stream);
DLL_API signed char		F_API FSOUND_Stream_Close(FSOUND_STREAM *stream);
DLL_API signed char		F_API FSOUND_Stream_SetEndCallback(FSOUND_STREAM *stream, FSOUND_STREAMCALLBACK callback, int userdata);
DLL_API signed char		F_API FSOUND_Stream_SetSynchCallback(FSOUND_STREAM *stream, FSOUND_STREAMCALLBACK callback, int userdata);
DLL_API FSOUND_SAMPLE * F_API FSOUND_Stream_GetSample(FSOUND_STREAM *stream);   /* every stream contains a sample to playback on */
DLL_API FSOUND_DSPUNIT *F_API FSOUND_Stream_CreateDSP(FSOUND_STREAM *stream, FSOUND_DSPCALLBACK callback, int priority, int param);

DLL_API signed char		F_API FSOUND_Stream_SetPosition(FSOUND_STREAM *stream, unsigned int position);
DLL_API unsigned int	F_API FSOUND_Stream_GetPosition(FSOUND_STREAM *stream);
DLL_API signed char		F_API FSOUND_Stream_SetTime(FSOUND_STREAM *stream, int ms);
DLL_API int				F_API FSOUND_Stream_GetTime(FSOUND_STREAM *stream);
DLL_API int				F_API FSOUND_Stream_GetLength(FSOUND_STREAM *stream);
DLL_API int				F_API FSOUND_Stream_GetLengthMs(FSOUND_STREAM *stream);

/* =================== */
/* CD audio functions. */
/* =================== */

DLL_API signed char		F_API FSOUND_CD_Play(int track);
DLL_API void			F_API FSOUND_CD_SetPlayMode(signed char mode);
DLL_API signed char		F_API FSOUND_CD_Stop();

DLL_API signed char		F_API FSOUND_CD_SetPaused(signed char paused);
DLL_API	signed char		F_API FSOUND_CD_SetVolume(int volume);
DLL_API signed char		F_API FSOUND_CD_Eject();

DLL_API signed char		F_API FSOUND_CD_GetPaused();
DLL_API int				F_API FSOUND_CD_GetTrack();
DLL_API int				F_API FSOUND_CD_GetNumTracks();
DLL_API	int				F_API FSOUND_CD_GetVolume();
DLL_API int				F_API FSOUND_CD_GetTrackLength(int track); 
DLL_API int				F_API FSOUND_CD_GetTrackTime();


/*
 ==============
 DSP functions.
 ==============
*/

/* 
    DSP Unit control and information functions. 
*/

DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_Create(FSOUND_DSPCALLBACK callback, int priority, int param);
DLL_API void			F_API FSOUND_DSP_Free(FSOUND_DSPUNIT *unit);
DLL_API void			F_API FSOUND_DSP_SetPriority(FSOUND_DSPUNIT *unit, int priority);
DLL_API int				F_API FSOUND_DSP_GetPriority(FSOUND_DSPUNIT *unit);
DLL_API void			F_API FSOUND_DSP_SetActive(FSOUND_DSPUNIT *unit, signed char active);
DLL_API signed char		F_API FSOUND_DSP_GetActive(FSOUND_DSPUNIT *unit);

/* 
    Functions to get hold of FSOUND 'system DSP unit' handles. 
*/

DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_GetClearUnit();
DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_GetSFXUnit();
DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_GetMusicUnit();
DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_GetClipAndCopyUnit();
DLL_API FSOUND_DSPUNIT *F_API FSOUND_DSP_GetFFTUnit();

/* 
    Miscellaneous DSP functions 
*/

DLL_API signed char		F_API FSOUND_DSP_MixBuffers(void *destbuffer, void *srcbuffer, int len, int freq, int vol, int pan, unsigned int mode);
DLL_API void			F_API FSOUND_DSP_ClearMixBuffer();
DLL_API int				F_API FSOUND_DSP_GetBufferLength();         /* Length of each DSP update */
DLL_API int				F_API FSOUND_DSP_GetBufferLengthTotal();    /* Total buffer length due to FSOUND_SetBufferSize */
DLL_API float *         F_API FSOUND_DSP_GetSpectrum();             /* Array of 512 floats */


/* ================================================ */
/* Geometry functions.  (NOT SUPPORTED IN LINUX/CE) */
/* ================================================ */

/* 
    Scene/Polygon functions 
*/
DLL_API signed char       F_API FSOUND_Geometry_AddPolygon(float *p1, float *p2, float *p3, float *p4, float *normal, unsigned int mode, float *openingfactor);
DLL_API int				  F_API FSOUND_Geometry_AddList(FSOUND_GEOMLIST *geomlist);

/* 
    Polygon list functions 
*/
DLL_API FSOUND_GEOMLIST * F_API FSOUND_Geometry_List_Create(signed char boundingvolume);
DLL_API signed char		  F_API FSOUND_Geometry_List_Free(FSOUND_GEOMLIST *geomlist);
DLL_API signed char		  F_API FSOUND_Geometry_List_Begin(FSOUND_GEOMLIST *geomlist);
DLL_API signed char		  F_API FSOUND_Geometry_List_End(FSOUND_GEOMLIST *geomlist);

/* 
    Material functions 
*/
DLL_API FSOUND_MATERIAL * F_API FSOUND_Geometry_Material_Create();
DLL_API signed char       F_API FSOUND_Geometry_Material_Free(FSOUND_MATERIAL *material);
DLL_API signed char       F_API FSOUND_Geometry_Material_SetAttributes(FSOUND_MATERIAL *material, float reflectancegain, float reflectancefreq, float transmittancegain, float transmittancefreq);
DLL_API signed char		  F_API FSOUND_Geometry_Material_GetAttributes(FSOUND_MATERIAL *material, float *reflectancegain, float *reflectancefreq, float *transmittancegain, float *transmittancefreq);
DLL_API signed char		  F_API FSOUND_Geometry_Material_Set(FSOUND_MATERIAL *material);


/* ========================================================================== */
/* Reverb functions. (eax, eax2, a3d 3.0 reverb)  (NOT SUPPORTED IN LINUX/CE) */
/* ========================================================================== */

/* 
    Supporing EAX1, EAX2, A3D 3.0 (use FSOUND_REVERB_PRESETS if you like), 
    (EAX2 support through emulation/parameter conversion) 
*/

DLL_API signed char		F_API FSOUND_Reverb_SetEnvironment(int env, float vol, float decay, float damp);			

/* 
    Supporting EAX2, A3D 3.0 only.  Has no effect on EAX1
*/

DLL_API signed char		F_API FSOUND_Reverb_SetEnvironmentAdvanced(
								int	  env,
								int   Room,					/* [-10000, 0]     default: -10000 mB	or use FSOUND_REVERB_IGNOREPARAM */
								int   RoomHF,				/* [-10000, 0]     default: 0 mB		or use FSOUND_REVERB_IGNOREPARAM */
								float RoomRolloffFactor,	/* [0.0, 10.0]     default: 0.0			or use FSOUND_REVERB_IGNOREPARAM */
								float DecayTime,			/* [0.1, 20.0]     default: 1.0 s		or use FSOUND_REVERB_IGNOREPARAM */
								float DecayHFRatio,			/* [0.1, 2.0]      default: 0.5			or use FSOUND_REVERB_IGNOREPARAM */
								int   Reflections,			/* [-10000, 1000]  default: -10000 mB	or use FSOUND_REVERB_IGNOREPARAM */
								float ReflectionsDelay,		/* [0.0, 0.3]      default: 0.02 s		or use FSOUND_REVERB_IGNOREPARAM */
								int   Reverb,				/* [-10000, 2000]  default: -10000 mB	or use FSOUND_REVERB_IGNOREPARAM */
								float ReverbDelay,			/* [0.0, 0.1]      default: 0.04 s		or use FSOUND_REVERB_IGNOREPARAM */
								float EnvironmentSize,		/* [0.0, 100.0]    default: 100.0 %		or use FSOUND_REVERB_IGNOREPARAM */
								float EnvironmentDiffusion,	/* [0.0, 100.0]    default: 100.0 %		or use FSOUND_REVERB_IGNOREPARAM */
								float AirAbsorptionHF);		/* [20.0, 20000.0] default: 5000.0 Hz	or use FSOUND_REVERB_IGNOREPARAM */

DLL_API signed char		F_API FSOUND_Reverb_SetMix(int channel, float mix);

/*
    Reverb information functions.
*/

DLL_API signed char		F_API FSOUND_Reverb_GetEnvironment(int *env, float *vol, float *decay, float *damp);			
DLL_API signed char		F_API FSOUND_Reverb_GetEnvironmentAdvanced(
								int   *env,
								int   *Room,				
								int   *RoomHF,				
								float *RoomRolloffFactor,	
								float *DecayTime,			
								float *DecayHFRatio,		
								int   *Reflections,			
								float *ReflectionsDelay,	
								int   *Reverb,				
								float *ReverbDelay,			
								float *EnvironmentSize,		
								float *EnvironmentDiffusion,
								float *AirAbsorptionHF);	
DLL_API signed char		F_API FSOUND_Reverb_GetMix(int channel, float *mix);


/* ================================================ */
/* Recording functions  (NOT SUPPORTED IN LINUX/CE) */
/* ================================================ */

/*
    Recording initialization functions
*/

DLL_API signed char		F_API FSOUND_Record_SetDriver(int outputtype);
DLL_API int				F_API FSOUND_Record_GetNumDrivers();
DLL_API signed char *	F_API FSOUND_Record_GetDriverName(int id);
DLL_API int				F_API FSOUND_Record_GetDriver();

/*
    Recording functionality.  Only one recording session will work at a time.
*/

DLL_API signed char		F_API FSOUND_Record_StartSample(FSOUND_SAMPLE *sptr, signed char loop);
DLL_API signed char		F_API FSOUND_Record_Stop();
DLL_API int				F_API FSOUND_Record_GetPosition();	


/* ========================================================================================== */
/* FMUSIC API (MOD,S3M,XM,IT,MIDI PLAYBACK)                                                   */
/* ========================================================================================== */

/* 
    Song management / playback functions.
*/

DLL_API FMUSIC_MODULE * F_API FMUSIC_LoadSong(const char *name);
DLL_API FMUSIC_MODULE * F_API FMUSIC_LoadSongMemory(void *data, int length);
DLL_API signed char		F_API FMUSIC_FreeSong(FMUSIC_MODULE *mod);
DLL_API signed char		F_API FMUSIC_PlaySong(FMUSIC_MODULE *mod);
DLL_API signed char		F_API FMUSIC_StopSong(FMUSIC_MODULE *mod);
DLL_API void			F_API FMUSIC_StopAllSongs();

DLL_API signed char		F_API FMUSIC_SetZxxCallback(FMUSIC_MODULE *mod, FMUSIC_CALLBACK callback);
DLL_API signed char		F_API FMUSIC_SetRowCallback(FMUSIC_MODULE *mod, FMUSIC_CALLBACK callback, int rowstep);
DLL_API signed char		F_API FMUSIC_SetOrderCallback(FMUSIC_MODULE *mod, FMUSIC_CALLBACK callback, int orderstep);
DLL_API signed char		F_API FMUSIC_SetInstCallback(FMUSIC_MODULE *mod, FMUSIC_CALLBACK callback, int instrument);

DLL_API signed char		F_API FMUSIC_SetSample(FMUSIC_MODULE *mod, int sampno, FSOUND_SAMPLE *sptr);
DLL_API signed char		F_API FMUSIC_OptimizeChannels(FMUSIC_MODULE *mod, int maxchannels, int minvolume);

/*
    Runtime song functions. 
*/

DLL_API signed char		F_API FMUSIC_SetReverb(signed char reverb);				/* MIDI only */
DLL_API signed char		F_API FMUSIC_SetOrder(FMUSIC_MODULE *mod, int order);
DLL_API signed char		F_API FMUSIC_SetPaused(FMUSIC_MODULE *mod, signed char pause);
DLL_API signed char		F_API FMUSIC_SetMasterVolume(FMUSIC_MODULE *mod, int volume);
DLL_API signed char		F_API FMUSIC_SetPanSeperation(FMUSIC_MODULE *mod, float pansep);
 
/* 
    Static song information functions.
*/

DLL_API char *			F_API FMUSIC_GetName(FMUSIC_MODULE *mod);
DLL_API int             F_API FMUSIC_GetType(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetNumOrders(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetNumPatterns(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetNumInstruments(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetNumSamples(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetNumChannels(FMUSIC_MODULE *mod);
DLL_API FSOUND_SAMPLE * F_API FMUSIC_GetSample(FMUSIC_MODULE *mod, int sampno);
DLL_API int				F_API FMUSIC_GetPatternLength(FMUSIC_MODULE *mod, int orderno);
 
/* 
    Runtime song information.
*/

DLL_API signed char		F_API FMUSIC_IsFinished(FMUSIC_MODULE *mod);
DLL_API signed char		F_API FMUSIC_IsPlaying(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetMasterVolume(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetGlobalVolume(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetOrder(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetPattern(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetSpeed(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetBPM(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetRow(FMUSIC_MODULE *mod);
DLL_API signed char		F_API FMUSIC_GetPaused(FMUSIC_MODULE *mod);
DLL_API int				F_API FMUSIC_GetTime(FMUSIC_MODULE *mod);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -