home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mmoshead.zip / midios2.h < prev    next >
C/C++ Source or Header  |  1999-12-25  |  1KB  |  67 lines

  1. /**************************************/
  2. /* midi.h -- Multimedia for emx 1.2   */
  3. /*                                    */
  4. /*                                    */
  5. /* Darwin O'Connor 1999-12            */
  6. /*                                    */
  7. /**************************************/
  8.  
  9. #ifndef _MIDI_H
  10. #define _MIDI_H
  11.  
  12. /* use 8-bit alignment */
  13. #pragma pack(1)
  14.  
  15.  
  16. /***************/
  17. /* definitions */
  18. /***************/
  19.  
  20. #define STATUS_BIT 0x80
  21.  
  22. #define TRACK_OFF 0
  23. #define TRACK_ON 1
  24.  
  25. #define NORMAL_SYSEX 0xF0
  26. #define ESCAPE_SYSEX 0xF7
  27. #define META 0xFF
  28.  
  29. #define MMIO_SEQ MMIOM_USER+1
  30. #define MMIO_MERGE MMIOM_USER+2
  31. #define MMIO_FROM_SEQ MMIOM_USER+3
  32. #define MMIO_TIMED_READ MMIOM_USER+4
  33. #define MMIO_SET_TRACKS MMIOM_USER+5
  34. #define MMIO_FORMAT_0 MMIOM_USER+6
  35. #define MMIO_GETHEADER MMIOM_GETHEADER
  36. #define MMIOM_GETFILELENGTH MMIOM_USER+10
  37. #define MMIOM_GETTRACKLENGTH MMIOM_USER+11
  38.  
  39. /************/
  40. /* typedefs */
  41. /************/
  42.  
  43. typedef struct _MIDIHEADER {
  44.     CHAR chHeaderChunk[4];
  45.     ULONG ulHeaderLength;
  46.     USHORT usFormat;
  47.     USHORT usNumTracks;
  48.     USHORT usDivision;
  49.     PVOID vpAdditionalInformation;
  50. } MIDIHEADER;
  51.  
  52. typedef struct _MMMIDIHEADER {
  53.     ULONG ulHeaderLength;
  54.     ULONG ulContentType;
  55.     ULONG ulMediaType;
  56.     MIDIHEADER midiheader;
  57. } MMMIDIHEADER;
  58.  
  59. typedef MMMIDIHEADER *PMMMIDIHEADER;
  60.  
  61. /* set default alignment */
  62. #pragma pack()
  63.  
  64. /* nested header management */
  65. #endif
  66.  
  67.