home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mmpm21tk.zip / TK / ADMCT / MCD.H < prev    next >
C/C++ Source or Header  |  1993-03-16  |  7KB  |  235 lines

  1. /*static char *SCCSID = "@(#)mcd.h      13.35 92/04/13";*/
  2. /**************************START OF SPECIFICATIONS **************************/
  3. /*                                                                          */
  4. /* Module NAME:  MCD.H                                                      */
  5. /*                                                                          */
  6. /*                                                                          */
  7. /* OS/2 2.0 Multimedia Extensions MCD structures and definitions            */
  8. /*                                                                          */
  9. /* Copyright (c) International Business Machines Corporation 1990,1991      */
  10. /*                         All Rights Reserved                              */
  11. /************************** END OF SPECIFICATIONS ***************************/
  12.  
  13. #define INCL_SEMAPHORES
  14. #define LIST_LEN           8
  15.  
  16. #define LINE_IN_ON                              0x00000001
  17. #define MIC_ON                                  0x00000002
  18. #define LINE_OUT_ON                             0x00000004
  19.  
  20.  
  21. #define VSD_SET_VOLUME          0x00000001
  22. #define VSD_SET_TREBLE          0x00000002
  23. #define VSD_SET_BASS            0x00000004
  24. #define VSD_SET_PITCH           0x00000008
  25. #define VSD_SET_GAIN            0x00000010
  26. #define VSD_SET_CONN            0x00000020
  27. #define VSD_SET_MONITOR         0x00000040
  28. #define VSD_SET_BALANCE         0x00000080
  29. #define VSD_SET_ALL             0xffffffff
  30.  
  31.  
  32. /*-------------------------------------------------------------------------*
  33. * RIFF to ACPA Mode conversion Table
  34. *-------------------------------------------------------------------------*/
  35.  
  36. typedef struct
  37.         {
  38.         ULONG  ulDataType;
  39.         ULONG  ulAUDIODDMode;
  40.         } RIFFTABLE;
  41.  
  42.  
  43.  
  44. #pragma pack(4)
  45. typedef struct _portlist {   /* devid */
  46.                        ULONG ulDevType;
  47.                        ULONG  ulDevNum;
  48.                       } MCI_PORT_LIST;
  49. #pragma pack()
  50.  
  51.  
  52. /*-------------------------------------------------------------------------*
  53. * Amp/Mixer instance structure declaration
  54. *-------------------------------------------------------------------------*/
  55.  
  56. #pragma pack(4)
  57.  
  58. typedef struct _MCI_AMP_INSTANCE
  59.         {
  60.         CHAR szDeviceName[128];
  61.         CHAR szDriverName[15];
  62.         HFILE hFile;
  63.         USHORT usDeviceID;
  64.         ULONG ulGlobalFile;
  65.  
  66.         USHORT usMasterVolume;
  67.         LONG lLeftVolume;
  68.         LONG lRightVolume;
  69.         LONG lVolumeDelay;
  70.  
  71.         LONG lBalance;
  72.  
  73.         LONG lBalanceDelay;
  74.  
  75.         LONG lBass;
  76.  
  77.         LONG lTreble;
  78.  
  79.         LONG lPitch;
  80.  
  81.         LONG lSRate;
  82.         LONG lBitsPerSRate;
  83.         LONG lBsize;
  84.         SHORT sMode;
  85.         SHORT sChannels;
  86.         ULONG ulFlags;
  87.         LONG lMonitor;
  88.         LONG lInput;
  89.         LONG lOutput;
  90.         ULONG ulOperation;
  91.         ULONG ulGainLevel;
  92.  
  93.         ULONG ulDosOpened;
  94.         ULONG ulInitOpen;
  95.         ULONG ulMasterVolume;
  96.         ULONG ulActive;
  97.         LONG  lStoreSRate;
  98.         LONG  lStoreBitsPerSRate;
  99.         ULONG ulStoreOperation;
  100.         SHORT sStoreMode;
  101.         SHORT sStoreChannels;
  102.         ULONG ulSetAmpDefaults;
  103.         ULONG ulDefaultsSet;
  104.  
  105.         ULONG ulOutputDev;
  106.         ULONG ulInputDev;
  107.         ULONG ulResourcesUsed;
  108.         ULONG ulRestoreNotify;
  109.         ULONG ulCallback;
  110.         SHORT sUserParm;
  111.         LONG  lNotifyFlag;
  112.         LONG  ( * APIENTRY pfnAUDIOIF) ( PVOID, LONG, LONG, LONG, LONG);
  113.         HMTX  hmtxInstanceSem;
  114.         ULONG ulClass;
  115.         ULONG ulBlockAlignment;
  116.         ULONG ulHardwareMode;
  117.         MCI_PORT_LIST  rInputList [ LIST_LEN ];
  118.         MCI_PORT_LIST  rOutputList[ LIST_LEN ];
  119.         ULONG ulNumInputs;
  120.         ULONG ulNumOutputs;
  121.  
  122.         ULONG ulDataType;
  123.         ULONG ulSubType;
  124.         ULONG ulBytesPerBlock;
  125.         ULONG ulMMTimePerBlock;
  126.         ULONG ulCanRecord;
  127.         ULONG ulVolControl;
  128.  
  129. // new resource management stuff
  130.  
  131.  
  132.         PVOID    pAudioModeData;     // pointer to dev. specific resource data
  133.         CHAR     pResourceDLL[ 128 ];
  134.  
  135.         PSZ        pProdInfo;          // pointer to the product name
  136.         ULONG      ulDeviceID;         // pointer to the device id.
  137.         ULONG      ulNumMappingRows;   // number of RIFF->AUDIODD mapping modes
  138.         ULONG      ulMatch;
  139.         RIFFTABLE  *pMapTable;        // additional RIFF->AUDIODD mappings
  140.  
  141.         ULONG      ulNumDataTypes;   // number of datatypes to check
  142.         PVOID      pDataTypeTable;
  143.         BOOL       fMute;
  144.         ULONG      ulResourceID;     // offset in the resource dll to use
  145.         ULONG      ulConnDefaults;   // Default values for connectors
  146.  
  147.         } MCI_AMP_INSTANCE;
  148.  
  149.  
  150.  
  151. typedef MCI_AMP_INSTANCE FAR *PMCI_AMP_INSTANCE;
  152. #pragma pack()
  153.  
  154.  
  155.  
  156.  
  157. #pragma pack(4)
  158.  
  159. typedef struct _MCI_OLD_AMP_INSTANCE
  160.         {
  161.         CHAR szDeviceName[128];
  162.         CHAR szDriverName[15];
  163.         HFILE hFile;
  164.         USHORT usDeviceID;
  165.         ULONG ulGlobalFile;
  166.  
  167.         USHORT usMasterVolume;
  168.         LONG lLeftVolume;
  169.         LONG lRightVolume;
  170.         LONG lVolumeDelay;
  171.  
  172.         LONG lBalance;
  173.  
  174.         LONG lBalanceDelay;
  175.  
  176.         LONG lBass;
  177.  
  178.         LONG lTreble;
  179.  
  180.         LONG lPitch;
  181.  
  182.         LONG lSRate;
  183.         LONG lBitsPerSRate;
  184.         LONG lBsize;
  185.         SHORT sMode;
  186.         SHORT sChannels;
  187.         ULONG ulFlags;
  188.         LONG lMonitor;
  189.         LONG lInput;
  190.         LONG lOutput;
  191.         ULONG ulOperation;
  192.         ULONG ulGainLevel;
  193.  
  194.  
  195.         ULONG ulStoreRVolume;
  196.         ULONG ulStoreLVolume;
  197.  
  198.  
  199.         ULONG ulDosOpened;
  200.         ULONG ulInitOpen;
  201.         ULONG ulMasterVolume;
  202.         ULONG ulActive;
  203.         LONG  lStoreSRate;
  204.         LONG  lStoreBitsPerSRate;
  205.         ULONG ulStoreOperation;
  206.         SHORT sStoreMode;
  207.         SHORT sStoreChannels;
  208.         ULONG ulSetAmpDefaults;
  209.         ULONG ulDefaultsSet;
  210.  
  211.         ULONG ulOutputDev;
  212.         ULONG ulInputDev;
  213.         ULONG ulResourcesUsed;
  214.         ULONG ulRestoreNotify;
  215.         ULONG ulCallback;
  216.         SHORT sUserParm;
  217.         LONG  lNotifyFlag;
  218.         LONG  ( * APIENTRY pfnAUDIOIF) ( PVOID, LONG, LONG, LONG, LONG);
  219.         HMTX  hmtxInstanceSem;
  220.         ULONG ulClass;
  221.         ULONG ulBlockAlignment;
  222.         ULONG ulHardwareMode;
  223.         MCI_PORT_LIST  rInputList [ LIST_LEN ];
  224.         MCI_PORT_LIST  rOutputList[ LIST_LEN ];
  225.         ULONG ulNumInputs;
  226.         ULONG ulNumOutputs;
  227.  
  228.  
  229.         } MCI_OLD_AMP_INSTANCE;
  230.  
  231. #pragma pack()
  232.  
  233.  
  234.  
  235.