home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / miditype.h < prev    next >
C/C++ Source or Header  |  1999-03-15  |  2KB  |  58 lines

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