home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional Developers Kit 1992 November / Disc01 / Disc01.mdf / mmpm2tk / mmpmtlk2 / h / os2medef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-06  |  7.0 KB  |  177 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /* Module Name: OS2MEDEF.H                                                  */
  4. /*                                                                          */
  5. /* OS/2 2.0 Multimedia Extensions Common Definitions file                   */
  6. /*                                                                          */
  7. /* Copyright (c) International Business Machines Corporation 1991, 1992     */
  8. /*                        All Rights Reserved                               */
  9. /*                                                                          */
  10. /****************************************************************************/
  11.  
  12. #ifndef  _OS2MEDEF_H
  13. #define  _OS2MEDEF_H
  14.  
  15. typedef USHORT WORD;
  16. typedef ULONG  DWORD;
  17.  
  18. /* XLATOFF */
  19. typedef WORD  VERSION;
  20. typedef FAR * LPSTR;
  21. typedef FAR * LPTR;
  22. typedef FAR * LPRECT;
  23. typedef HWND HANDLE;
  24. typedef WORD *  PW;
  25. typedef WORD *  PAW;
  26. typedef WORD * PWORD;
  27. typedef PFN  FAR *  PPFN;
  28. typedef DWORD (APIENTRY FNMCI) (LPTR, WORD, DWORD, DWORD, WORD);
  29. typedef FNMCI *PFNMCI;
  30. /* XLATON */
  31. #ifdef XXXXX
  32. typedef PVOID PFNMCI;
  33. typedef PVOID LPTR;
  34. #endif
  35.  
  36. typedef char   SZ;                    /* ASCIIZ char string type*/
  37. typedef ULONG  MMTIME;                /* universal Chinatown time (1/3000 second)*/
  38. typedef MMTIME FAR *PMMTIME;          /* Ptr to MMTIME unit*/
  39.  
  40. typedef DWORD HMMIO;                  /* Handle to an MMIO object*/
  41. typedef HMMIO FAR *PHMMIO;            /* Handle to an MMIO object*/
  42.  
  43.  
  44. /************************/
  45. /* Sampling Rate*/
  46. /************************/
  47. #define         HZ_8000                 8000            /* 8.0 kHz*/
  48. #define         HZ_11025                11025           /* 11.025 kHz*/
  49. #define         HZ_14700                14700           /* 14.700 kHz (SPV/2)*/
  50. #define         HZ_18900                18900           /* 18.900 kHz (CD/XA LVL C)*/
  51. #define         HZ_22050                22050           /* 22.050 kHz*/
  52. #define         HZ_37800                37800           /* 37.800 kHz (CD/XA LVL B)*/
  53. #define         HZ_44100                44100           /* 44.100 kHz*/
  54.  
  55. /************************/
  56. /* Bits per Sample*/
  57. /************************/
  58. #define         BPS_4                   4               /* 4 bits/sample (ADPCM)*/
  59. #define         BPS_8                   8               /* 8 bits/sample (PCM)*/
  60. #define         BPS_16                  16              /* 16 bits/sample(PCM)*/
  61.  
  62. /************************/
  63. /* Channels*/
  64. /************************/
  65. #define         CH_1                    1               /* Mono*/
  66. #define         CH_2                    2               /* Stereo*/
  67. #define         CH_4                    4               /* Quad*/
  68.  
  69. /*************************************************************************
  70.  * Multimedia Datatypes (spcbkey values)
  71.  *************************************************************************/
  72.  
  73.  
  74. /****************
  75.  * NULL datatype
  76.  ****************/
  77. #define  DATATYPE_NULL           0x0000L     /* NULL stream data type (NULL)*/
  78. #define    SUBTYPE_NONE            0x0000L   /* No subtype for this data type*/
  79.  
  80.  
  81. /*********************
  82.  * WAVEFORM datatypes
  83.  *********************/
  84. #define  DATATYPE_WAVEFORM       0x0001L     /* WAVEFORM audio (PCM)*/
  85.  
  86. /* Subtypes for DATATYPE_WAVEFORM:*/
  87. #define    WAVE_FORMAT_1M08        0x0001L   /* 11.025kHz, Mono  , 8-bit*/
  88. #define    WAVE_FORMAT_1S08        0x0002L   /* 11.025kHz, Stereo, 8-bit*/
  89. #define    WAVE_FORMAT_1M16        0x0003L   /* 11.025kHz, Mono  , 16-bit*/
  90. #define    WAVE_FORMAT_1S16        0x0004L   /* 11.025kHz, Stereo, 16-bit*/
  91. #define    WAVE_FORMAT_2M08        0x0005L   /* 22.05kHz , Mono  , 8-bit*/
  92. #define    WAVE_FORMAT_2S08        0x0006L   /* 22.05kHz , Stereo, 8-bit*/
  93. #define    WAVE_FORMAT_2M16        0x0007L   /* 22.05kHz , Mono  , 16-bit*/
  94. #define    WAVE_FORMAT_2S16        0x0008L   /* 22.05kHz , Stereo, 16-bit*/
  95. #define    WAVE_FORMAT_4M08        0x0009L   /* 44.1kHz  , Mono  , 8-bit*/
  96. #define    WAVE_FORMAT_4S08        0x000aL   /* 44.1kHz  , Stereo, 8-bit*/
  97. #define    WAVE_FORMAT_4M16        0x000bL   /* 44.1kHz  , Mono  , 16-bit*/
  98. #define    WAVE_FORMAT_4S16        0x000cL   /* 44.1kHz  , Stereo, 16-bit*/
  99.  
  100.  
  101. /******************
  102.  * MuLaw datatypes
  103.  ******************/
  104. #define DATATYPE_MULAW           0x0101L     /* MuLaw*/
  105.  
  106. /* Subtypes for DATATYPE_MULAW:*/
  107. #define    MULAW_8B8KS             0x0001L   /* 8bit 8kHz stereo*/
  108. #define    MULAW_8B11KS            0x0002L   /* 8bit 11kHz stereo*/
  109. #define    MULAW_8B22KS            0x0003L   /* 8bit 22kHz stereo*/
  110. #define    MULAW_8B44KS            0x0004L   /* 8bit 44kHz stereo*/
  111.  
  112. /*****************
  113.  * ALaw datatypes
  114.  *****************/
  115. #define DATATYPE_ALAW            0x0102L     /* ALaw*/
  116.  
  117. /* Subtypes for DATATYPE_ALAW:*/
  118. #define    ALAW_8B8KS              0x0001L   /* 8bit 8kHz stereo*/
  119. #define    ALAW_8B11KS             0x0002L   /* 8bit 11kHz stereo*/
  120. #define    ALAW_8B22KS             0x0003L   /* 8bit 22kHz stereo*/
  121. #define    ALAW_8B44KS             0x0004L   /* 8bit 44kHz stereo*/
  122.  
  123.  
  124. /*******************************
  125.  * AVC ADPCM WAVEFORM datatypes
  126.  *******************************/
  127. #define  DATATYPE_ADPCM_AVC      0x0103L     /* ADPCM audio*/
  128.  
  129. /* Subtypes for DATATYPE_ADPCM_AVC:*/
  130. #define    ADPCM_AVC_VOICE         0x0001L
  131. #define    ADPCM_AVC_MUSIC         0x0002L
  132. #define    ADPCM_AVC_STEREO        0x0003L
  133. #define    ADPCM_AVC_HQ            0x0004L
  134.  
  135.  
  136. /****************
  137.  * MIDI datatype
  138.  ****************/
  139. #define  DATATYPE_MIDI           0x0201L     /* MIDI*/
  140. /*         SUBTYPE_NONE            0x0000L      No subtype for this data type*/
  141.  
  142.  
  143. /********************
  144.  * GENERIC datatypes
  145.  ********************/
  146. #define  DATATYPE_GENERIC        0x0202L     /* Generic for files / memory. This*/
  147.                                              /* datatype will match any other*/
  148.                                              /* datatype at stream creation time.*/
  149.  
  150. /**************************
  151.  * Speech Viewer datatypes
  152.  **************************/
  153. #define  DATATYPE_SPV2           0x0203L     /* Speech Viewer*/
  154.  
  155. /* Subtypes for DATATYPE_SPV2:*/
  156. #define    SPV2_BPCM               0x0001L
  157. #define    SPV2_PCM                0x0002L
  158. #define    SPV2_NONE               0x0003L
  159.  
  160.  
  161. /******************
  162.  * CD-XA datatypes
  163.  ******************/
  164. #define  DATATYPE_CDXA_VIDEO     0x0204L     /* CD-XA Video datatype*/
  165. #define  DATATYPE_CDXA_DATA      0x0205L     /* CD-XA sub-band data datatype*/
  166. #define  DATATYPE_CDXA_AUDIO     0x0206L     /* CD-XA ADPCM Audio datatype*/
  167. #define  DATATYPE_CDXA_AUDIO_HD  0x0207L     /* CD-XA ADPCM Audio with Headers*/
  168.  
  169. /* Subtypes for DATATYPE_CDXA_AUDIO:*/
  170. #define    CDXA_LEVELB             0x0000L /* LEVEL B Audio Stereo*/
  171. #define    CDXA_LEVELC             0x0001L /* LEVEL C Audio Stereo*/
  172. #define    CDXA_LEVELB_MONO        0x0002L /* LEVEL B Audio Mono*/
  173. #define    CDXA_LEVELC_MONO        0x0003L /* LEVEL C Audio Mono*/
  174.  
  175.  
  176. #endif
  177.