home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mmpm21tk.zip / TK / H / MIDITYPE.H < prev    next >
C/C++ Source or Header  |  1992-06-24  |  2KB  |  49 lines

  1. /**********************************************************************\
  2.  *                                                                    *
  3.  *               Copyright (c) IBM Corporation  1991, 1992            *
  4.  *                         All Rights Reserved                        *
  5.  *                                                                    *
  6. \**********************************************************************/
  7.  
  8. #pragma pack(1)
  9.  
  10. #define MIDINAMESIZE       40
  11. #define MIDIPATCHNUM      128
  12. #define MIDITYPEAPPNAME   "MidiTypes"     /* Appname in MIDITYPE.INI */
  13.  
  14. /********************************************************************/
  15. /* These structures describe the format of the MIDI maps that are   */
  16. /* located in the MIDITYPE.INI file.                                */
  17. /********************************************************************/
  18.  
  19. typedef struct {
  20.    USHORT uGenMidiPatchNumber;   /* Device To General Midi Conversion */
  21.    USHORT uDevMidiPatchNumber;   /* General Midi to Device Conversion */
  22.    USHORT uVolumePercent;        /* Channel Patch Volume Scaler */
  23.    USHORT uGenMidiKeyNumber;     /* Device To General Midi Perc. Key Conversion */
  24.    USHORT uDevMidiKeyNumber;     /* General Midi to Device Perc. Key Conversion */
  25. } MIDITYPEENTRY;
  26. typedef MIDITYPEENTRY FAR * PMIDITYPEENTRY;
  27.  
  28. typedef struct {
  29.    USHORT     uStyle;           /* Midi Style */
  30.    USHORT     uDrums10;         /* Patch 10 Drums if Perckey not supported */
  31.    USHORT     uDrums16;         /* Patch 16 Drums if Perckey not supported */
  32.    ULONG      ulReserved;       /* Reserved */
  33.    MIDITYPEENTRY MidiTypeEntry[MIDIPATCHNUM]; /* Array of MIDITYPEENTRYs */
  34.    CHAR       szPatchAndPercKeyName[2*MIDIPATCHNUM*MIDINAMESIZE];
  35.                                 /* List of 128 Patch Names */
  36.                                 /* that are null terminated, then a */
  37.                                 /* list of 128 Percussion key names that */
  38.                                 /* are double null terminated */
  39.                                 /* Each item is null terminated */
  40. } MIDITYPE;
  41. typedef MIDITYPE FAR * PMIDITYPE;
  42.  
  43. /* Style Flags */
  44.  
  45. #define MT_PERCUSSIONKEYS     0x1  /* Percussion Keys are supported */
  46. #define MT_MAPPERCKEYPATCHES  0x2   /* Map Percussion Key Patches */
  47.  
  48. #pragma pack()
  49.