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

  1. /**************************START OF SPECIFICATIONS **************************/
  2. /*                                                                          */
  3. /* Module NAME:  MCD.H                                                      */
  4. /*                                                                          */
  5. /*                                                                          */
  6. /* OS/2 2.0 Multimedia Extensions MCD structures and definitions            */
  7. /*                                                                          */
  8. /* Copyright (c) International Business Machines Corporation 1990,1991      */
  9. /*                         All Rights Reserved                              */
  10. /************************** END OF SPECIFICATIONS ***************************/
  11. #ifdef __cplusplus
  12.    extern "C" {
  13. #endif
  14.  
  15.  
  16. #define INCL_SEMAPHORES
  17. #define LIST_LEN           8
  18.  
  19. #define LINE_IN_ON                              0x00000001
  20. #define MIC_ON                                  0x00000002
  21. #define LINE_OUT_ON                             0x00000004
  22.  
  23.  
  24.  
  25. /*-------------------------------------------------------------------------*
  26. * RIFF to ACPA Mode conversion Table
  27. *-------------------------------------------------------------------------*/
  28.  
  29. typedef struct
  30.         {
  31.         ULONG  ulDataType;
  32.         ULONG  ulAUDIODDMode;
  33.         } RIFFTABLE;
  34.  
  35.  
  36.  
  37. #pragma pack(4)
  38. typedef struct _portlist {   /* devid */
  39.                        ULONG ulDevType;
  40.                        ULONG  ulDevNum;
  41.                       } MCI_PORT_LIST;
  42. #pragma pack()
  43.  
  44.  
  45. /*-------------------------------------------------------------------------*
  46. * Amp/Mixer instance structure declaration
  47. *-------------------------------------------------------------------------*/
  48.  
  49. #pragma pack(4)
  50.  
  51. typedef struct _MCI_AMP_INSTANCE
  52.         {
  53.         CHAR szDeviceName[128];
  54.         CHAR szDriverName[15];
  55.         HFILE hFile;
  56.         USHORT usDeviceID;
  57.         ULONG ulGlobalFile;
  58.  
  59.         USHORT usMasterVolume;
  60.         LONG lLeftVolume;
  61.         LONG lRightVolume;
  62.         LONG lVolumeDelay;
  63.  
  64.         LONG lBalance;
  65.  
  66.         LONG lBalanceDelay;
  67.  
  68.         LONG lBass;
  69.  
  70.         LONG lTreble;
  71.  
  72.         LONG lPitch;
  73.         LONG lGain;
  74.  
  75.         LONG lSRate;
  76.         LONG lBitsPerSRate;
  77.         LONG lBsize;
  78.         SHORT sMode;
  79.         SHORT sChannels;
  80.         ULONG ulFlags;
  81.         LONG lMonitor;
  82.         LONG lInput;
  83.         LONG lOutput;
  84.         ULONG ulOperation;
  85.         ULONG ulGainLevel;
  86.  
  87.  
  88.         ULONG ulStoreRVolume;
  89.         ULONG ulStoreLVolume;
  90.  
  91.  
  92.         ULONG ulDosOpened;
  93.         ULONG ulInitOpen;
  94.         ULONG ulMasterVolume;
  95.         ULONG ulActive;
  96.         LONG  lStoreSRate;
  97.         LONG  lStoreBitsPerSRate;
  98.         ULONG ulStoreOperation;
  99.         SHORT sStoreMode;
  100.         SHORT sStoreChannels;
  101.         ULONG ulSetAmpDefaults;
  102.         ULONG ulDefaultsSet;
  103.  
  104.         ULONG ulOutputDev;
  105.         ULONG ulInputDev;
  106.         ULONG ulResourcesUsed;
  107.         ULONG ulRestoreNotify;
  108.         ULONG ulCallback;
  109.         SHORT sUserParm;
  110.         LONG  lNotifyFlag;
  111.         LONG  ( * APIENTRY pfnAUDIOIF) ( PVOID, LONG, LONG, LONG, LONG);
  112.         HMTX  hmtxInstanceSem;
  113.         ULONG ulClass;
  114.         ULONG ulBlockAlignment;
  115.         ULONG ulHardwareMode;
  116.         MCI_PORT_LIST  rInputList [ LIST_LEN ];
  117.         MCI_PORT_LIST  rOutputList[ LIST_LEN ];
  118.         ULONG ulNumInputs;
  119.         ULONG ulNumOutputs;
  120.  
  121.         ULONG ulDataType;
  122.         ULONG ulSubType;
  123.         ULONG ulBytesPerBlock;
  124.         ULONG ulMMTimePerBlock;
  125.  
  126. /*-------------------------------------------------------------------------*
  127. * New resource management stuff
  128. *-------------------------------------------------------------------------*/
  129.  
  130.  
  131.  
  132.         PVOID    pAudioModeData;      /* ptr 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;  /* num 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. #ifdef __cplusplus
  155. }
  156. #endif
  157.  
  158.