qmus2mid.h
上传用户:xuyinpeng
上传日期:2021-05-12
资源大小:455k
文件大小:2k
源码类别:

射击游戏

开发平台:

Visual C++

  1. #if !defined( QMUS2MID_H )
  2. #define QMUS2MID_H
  3. typedef unsigned short  int2;   /* a two-byte int, use short.*/
  4. typedef unsigned int    int4;   /* a four-byte int, use int unless int is
  5.                                   16 bits, then use long. Don't use long
  6.                                   on an alpha.  */
  7. #define NOTMUSFILE      1       /* Not a MUS file */
  8. #define COMUSFILE       2       /* Can't open MUS file */
  9. #define COTMPFILE       3       /* Can't open TMP file */
  10. #define CWMIDFILE       4       /* Can't write MID file */
  11. #define MUSFILECOR      5       /* MUS file corrupted */
  12. #define TOOMCHAN        6       /* Too many channels */
  13. #define MEMALLOC        7       /* Memory allocation error */
  14. /* some (old) compilers mistake the "MUSx1A" construct (interpreting
  15.    it as "MUSx1A")      */
  16. #define MUSMAGIC     "MUS32"                    /* this seems to work */
  17. #define MIDIMAGIC    "MThd000000060001"
  18. #define TRACKMAGIC1  "003770335"
  19. #define TRACKMAGIC2  "003775700"
  20. #define TRACKMAGIC3  "003770226"
  21. #define TRACKMAGIC4  "00377131020000"
  22. #define TRACKMAGIC5  "00377121031124332"
  23. #define TRACKMAGIC6  "003775700"
  24. typedef struct
  25. {
  26.   char        ID[4];            /* identifier "MUS" 0x1A */
  27.   int2        ScoreLength;
  28.   int2        ScoreStart;
  29.   int2        channels;         /* count of primary channels */
  30.   int2        SecChannels;      /* count of secondary channels (?) */
  31.   int2        InstrCnt;
  32.   int2        dummy;
  33.   /* variable-length part starts here */
  34.   int2        *instruments;
  35. } MUSheader;
  36. struct Track
  37. {
  38.   unsigned long  current;
  39.   char           vel;
  40.   long           DeltaTime;
  41.   unsigned char  LastEvent;
  42.   char           *data;            /* Primary data */
  43. };
  44. int qmus2mid( const char *mus, const char *mid, int nodisplay,
  45.               int2 division, int BufferSize, int nocomp );
  46. #endif