home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / music / vaisdk.arj / MIDI.H < prev    next >
Text File  |  1994-04-10  |  3KB  |  91 lines

  1.  
  2. ;   /*\
  3. ;---|*|-----------------====< VBE/AI MIDI INCLUDE >====----------------------
  4. ;---|*|
  5. ;---|*| Copyright (c) 1993,1994  V.E.S.A, Inc. All Rights Reserved.
  6. ;---|*|
  7. ;---|*| VBE/AI 1.0 Specification
  8. ;---|*|    February 2, 1994. 1.00 release
  9. ;---|*|
  10. ;   \*/
  11.  
  12.     //
  13.     // OPL2 Registered Patch
  14.     //
  15.  
  16.     typedef struct {        // nested structure within the
  17.         char opl2ksl;       // patch structure
  18.         char opl2freqMult;
  19.         char opl2feedBack;      // used by operator 0 only
  20.         char opl2attack;
  21.         char opl2sustLevel;
  22.         char opl2sustain;
  23.         char opl2decay;
  24.         char opl2release;
  25.         char opl2output;
  26.         char opl2am;
  27.         char opl2vib;
  28.         char opl2ksr;
  29.         char opl2fm;        // used by operator 0 only
  30.     } OPL2opr;
  31.  
  32.     //
  33.     // The following structure represents the format of whole patch
  34.     // passed in from the application. This whole structure makes up
  35.     // a single OPL2 patch.
  36.     //
  37.  
  38.         typedef struct {
  39.         int     opl2type;       // patch type
  40.             char    opl2mode;           // 0 = melodic, 1 = percussive
  41.         char    opl2percVoice;  // if mode == 1, voice number to be used
  42.         OPL2opr opl2op0;
  43.             OPL2opr opl2op1;
  44.         char    opl2wave0;      // waveform for operator 0
  45.         char    opl2wave1;      // waveform for operator 1
  46.     } OPL2native;
  47.  
  48.  
  49.     //
  50.     // The following structure makes up the complete VBE/AI 'vaid' patch
  51.     // in the patch librayr. It includes the VESA patch header wrapper.
  52.     //
  53.  
  54.     typedef struct {
  55.         VAIDhdr vbehdr;     // the 'vaid' header
  56.         OPL2native  native;     // native patch data
  57.     } OPL2patch;
  58.  
  59.     //
  60.     // OPL3 Registered Patch
  61.     //
  62.  
  63.     // OPL3 Patch Structure
  64.  
  65.     typedef struct {        // register values from the
  66.         int  opl3type;      // patch type
  67.         char reg20[4];      // four operators
  68.         char reg40[4];      // patch structure
  69.         char reg60[4];      // patch structure
  70.         char reg80[4];      // patch structure
  71.         char regC0[2];      // patch structure
  72.         char regE0[2];      // patch structure
  73.     } OPL3native;
  74.  
  75.         //
  76.     // The following structure makes up the complete VBE/AI 'vaid' patch
  77.     // in the patch library. It includes the VESA patch header wrapper.
  78.     //
  79.  
  80.     typedef struct {
  81.         VAIDhdr vbehdr;     // the 'vaid' header
  82.         OPL3native  native;     // native patch data
  83.     } OPL3patch;
  84.  
  85.  
  86. ;   /*\
  87. ;---|*| end of MIDI.INC
  88. ;   \*/
  89.  
  90.  
  91.