MiniFmod.h
上传用户:sz83729876
上传日期:2013-03-07
资源大小:4140k
文件大小:3k
源码类别:

OpenGL

开发平台:

Windows_Unix

  1. /******************************************************************************/
  2. /* MINIFMOD.H                                                                 */
  3. /* ----------------                                                           */
  4. /* MiniFMOD public source code release.                                       */
  5. /* This source is provided as-is.  Firelight Multimedia will not support      */
  6. /* or answer questions about the source provided.                             */
  7. /* MiniFMOD Sourcecode is copyright (c) 2000, Firelight Multimedia.           */
  8. /* MiniFMOD Sourcecode is in no way representative of FMOD 3 source.          */
  9. /* Firelight Multimedia is a registered business name.                        */
  10. /* This source must not be redistributed without this notice.                 */
  11. /******************************************************************************/
  12. //==========================================================================================
  13. // MINIFMOD Main header file. Copyright (c), FireLight Multimedia 2000.
  14. // Based on FMOD, copyright (c), FireLight Multimedia 2000.
  15. //==========================================================================================
  16. #ifndef _MINIFMOD_H_
  17. #define _MINIFMOD_H_
  18. //===============================================================================================
  19. //= DEFINITIONS
  20. //===============================================================================================
  21. // fmod defined types
  22. typedef struct FMUSIC_MODULE FMUSIC_MODULE;
  23. //===============================================================================================
  24. //= FUNCTION PROTOTYPES
  25. //===============================================================================================
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. // ==================================
  30. // Initialization / Global functions.
  31. // ==================================
  32. typedef void (*SAMPLELOADCALLBACK)(void *buff, int lenbytes, int numbits, int instno, int sampno);
  33. typedef void (*FMUSIC_CALLBACK)(FMUSIC_MODULE *mod, unsigned char param);
  34. // this must be called before FSOUND_Init!
  35. void FSOUND_File_SetCallbacks(unsigned int (*OpenCallback)(char *name),
  36.                               void (*CloseCallback)(unsigned int handle),
  37.                               int (*ReadCallback)(void *buffer, int size, unsigned int handle),
  38.                               void (*SeekCallback)(unsigned int handle, int pos, signed char mode),
  39.                               int (*TellCallback)(unsigned int handle));
  40. signed char FSOUND_Init(int mixrate, int vcmmode);
  41. void FSOUND_Close();
  42. // =============================================================================================
  43. // FMUSIC API
  44. // =============================================================================================
  45. // Song management / playback functions.
  46. // =====================================
  47. FMUSIC_MODULE * FMUSIC_LoadSong(char *data, SAMPLELOADCALLBACK sampleloadcallback);
  48. signed char FMUSIC_FreeSong(FMUSIC_MODULE *mod);
  49. signed char FMUSIC_PlaySong(FMUSIC_MODULE *mod);
  50. signed char FMUSIC_StopSong(FMUSIC_MODULE *mod);
  51. // Runtime song information.
  52. // =========================
  53. int FMUSIC_GetOrder(FMUSIC_MODULE *mod);
  54. int FMUSIC_GetRow(FMUSIC_MODULE *mod);
  55. unsigned int FMUSIC_GetTime(FMUSIC_MODULE *mod);
  56.   
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60. #endif