home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / H / MCDOS2.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  5KB  |  151 lines

  1.  
  2. /*static char *SCCSID = "@(#)mcd.h      13.35 92/04/13";*/
  3. /**************************START OF SPECIFICATIONS **************************/
  4. /*                                                                          */
  5. /* Module NAME:  MCD.H                                                      */
  6. /*                                                                          */
  7. /*                                                                          */
  8. /* OS/2 2.0 Multimedia Extensions MCD structures and definitions            */
  9. /*                                                                          */
  10. /* Copyright (c) International Business Machines Corporation 1990,1991      */
  11. /*                         All Rights Reserved                              */
  12. /************************** END OF SPECIFICATIONS ***************************/
  13.  
  14. #define INCL_SEMAPHORES
  15. #define LIST_LEN           8
  16.  
  17. #define LINE_IN_ON                              0x00000001
  18. #define MIC_ON                                  0x00000002
  19. #define LINE_OUT_ON                             0x00000004
  20.  
  21.  
  22.  
  23. /*-------------------------------------------------------------------------*
  24. * RIFF to ACPA Mode conversion Table
  25. *-------------------------------------------------------------------------*/
  26.  
  27. typedef struct
  28.         {
  29.         ULONG  ulDataType;
  30.         ULONG  ulAUDIODDMode;
  31.         } RIFFTABLE;
  32.  
  33.  
  34.  
  35. #pragma pack(4)
  36. typedef struct _portlist {   /* devid */
  37.                        ULONG ulDevType;
  38.                        ULONG  ulDevNum;
  39.                       } MCI_PORT_LIST;
  40. #pragma pack()
  41.  
  42.  
  43. /*-------------------------------------------------------------------------*
  44. * Amp/Mixer instance structure declaration
  45. *-------------------------------------------------------------------------*/
  46.  
  47. #pragma pack(4)
  48.  
  49. typedef struct _MCI_AMP_INSTANCE
  50.         {
  51.         CHAR szDeviceName[128];
  52.         CHAR szDriverName[15];
  53.         HFILE hFile;
  54.         USHORT usDeviceID;
  55.         ULONG ulGlobalFile;
  56.  
  57.         USHORT usMasterVolume;
  58.         LONG lLeftVolume;
  59.         LONG lRightVolume;
  60.         LONG lVolumeDelay;
  61.  
  62.         LONG lBalance;
  63.  
  64.         LONG lBalanceDelay;
  65.  
  66.         LONG lBass;
  67.  
  68.         LONG lTreble;
  69.  
  70.         LONG lPitch;
  71.         LONG lGain;
  72.  
  73.         LONG lSRate;
  74.         LONG lBitsPerSRate;
  75.         LONG lBsize;
  76.         SHORT sMode;
  77.         SHORT sChannels;
  78.         ULONG ulFlags;
  79.         LONG lMonitor;
  80.         LONG lInput;
  81.         LONG lOutput;
  82.         ULONG ulOperation;
  83.         ULONG ulGainLevel;
  84.  
  85.  
  86.         ULONG ulStoreRVolume;
  87.         ULONG ulStoreLVolume;
  88.  
  89.  
  90.         ULONG ulDosOpened;
  91.         ULONG ulInitOpen;
  92.         ULONG ulMasterVolume;
  93.         ULONG ulActive;
  94.         LONG  lStoreSRate;
  95.         LONG  lStoreBitsPerSRate;
  96.         ULONG ulStoreOperation;
  97.         SHORT sStoreMode;
  98.         SHORT sStoreChannels;
  99.         ULONG ulSetAmpDefaults;
  100.         ULONG ulDefaultsSet;
  101.  
  102.         ULONG ulOutputDev;
  103.         ULONG ulInputDev;
  104.         ULONG ulResourcesUsed;
  105.         ULONG ulRestoreNotify;
  106.         ULONG ulCallback;
  107.         SHORT sUserParm;
  108.         LONG  lNotifyFlag;
  109.         LONG  ( * APIENTRY pfnAUDIOIF) ( PVOID, LONG, LONG, LONG, LONG);
  110.         HMTX  hmtxInstanceSem;
  111.         ULONG ulClass;
  112.         ULONG ulBlockAlignment;
  113.         ULONG ulHardwareMode;
  114.         MCI_PORT_LIST  rInputList [ LIST_LEN ];
  115.         MCI_PORT_LIST  rOutputList[ LIST_LEN ];
  116.         ULONG ulNumInputs;
  117.         ULONG ulNumOutputs;
  118.  
  119.         ULONG ulDataType;
  120.         ULONG ulSubType;
  121.         ULONG ulBytesPerBlock;
  122.         ULONG ulMMTimePerBlock;
  123.  
  124. /*-------------------------------------------------------------------------*
  125. * New resource management stuff
  126. *-------------------------------------------------------------------------*/
  127.  
  128.  
  129.  
  130.         PVOID    pAudioModeData;      /* ptr to dev. specific resource data */
  131.         CHAR     pResourceDLL[ 128 ];
  132.  
  133.         PSZ        pProdInfo;         /* pointer to the product name        */
  134.         ULONG      ulDeviceID;        /* pointer to the device id.          */
  135.         ULONG      ulNumMappingRows;  /* num of RIFF->AUDIODD mapping modes */
  136.         ULONG      ulMatch;
  137.         RIFFTABLE  *pMapTable;        /* additional RIFF->AUDIODD mappings  */
  138.  
  139.         ULONG      ulNumDataTypes;    /* number of datatypes to check       */
  140.         PVOID      pDataTypeTable;
  141.         BOOL       fMute;
  142.         ULONG      ulResourceID;      /* offset in the resource dll to use  */
  143.         ULONG      ulConnDefaults;    /* Default values for connectors      */
  144.  
  145.         } MCI_AMP_INSTANCE;
  146.  
  147.  
  148.  
  149. typedef MCI_AMP_INSTANCE FAR *PMCI_AMP_INSTANCE;
  150. #pragma pack()
  151.