home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / immamix.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.7 KB  |  87 lines

  1. #ifndef _IMMAMIX_
  2.    #define _IMMAMIX_
  3. /*******************************************************************************
  4. * FILE NAME: immamix.hpp                                                       *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class(es):                                              *
  8. *     IMMAmpMixer                                                              *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #include <immdev.hpp>
  19. #include <istring.hpp>
  20.  
  21. #pragma pack(4)
  22.  
  23.  
  24. class IMMAmpMixer : public IMMDevice {
  25. typedef IMMDevice
  26.   Inherited;
  27. public:
  28. /*----------------------------- Constructors ---------------------------------*/
  29.   IMMAmpMixer  (Boolean openNow = true,
  30.                 unsigned long instance = 0, Boolean openShareable = true);
  31.   IMMAmpMixer  (unsigned long deviceIdentifier,
  32.                 const IString& newAlias = IString());
  33.  
  34. virtual
  35.   ~IMMAmpMixer ();
  36.  
  37. /*----------------------------- Mixer Attributes -----------------------------*/
  38. unsigned long
  39.   balance        (CallType call = wait) const,
  40.   bass           (CallType call = wait) const,
  41.   gain           (CallType call = wait) const,
  42.   pitch          (CallType call = wait) const,
  43.   treble         (CallType call = wait) const;
  44. virtual IMMAmpMixer
  45.   &setBalance    (unsigned long balance, CallType call = wait),
  46.   &setBass       (unsigned long bass, CallType call = wait),
  47.   &setGain       (unsigned long gain, CallType call = wait),
  48.   &setPitch      (unsigned long pitch, CallType call = wait),
  49.   &setTreble     (unsigned long treble, CallType call = wait);
  50.  
  51. /*----------------------------- Monitoring -----------------------------------*/
  52. virtual IMMAmpMixer
  53.   &enableMonitoring   (Boolean enable= true, CallType call = wait),
  54.   &disableMonitoring  (CallType call = wait);
  55. Boolean
  56.   isMonitoringEnabled (CallType call = wait) const;
  57.  
  58. /*-------------------------- Device open/close overrides ---------------------*/
  59. virtual IMMAmpMixer
  60.   &open              (const IString& fileOrDevice = IString(),
  61.                       Boolean shareable = true,
  62.                       CallType call = wait),
  63.   &openOnThread      (const IString& fileOrDevice = IString(),
  64.                       Boolean shareable = true,
  65.                       CallType call = wait);
  66. virtual IMMAmpMixer
  67.   &close             (CallType call = wait);
  68.  
  69. protected:
  70. /*-------------------------------- Implementaion -----------------------------*/
  71. virtual Boolean
  72.   isOpenStringValid(const IString& deviceName) const;
  73.  
  74. /*-------------------------- Device open overrides ---------------------------*/
  75. virtual IMMAmpMixer
  76.   &open                   (unsigned long instanceNumber,
  77.                            Boolean shareable = true,
  78.                            CallType call = nowait),
  79.   &openOnThread           (unsigned long instanceNumber,
  80.                            Boolean shareable = true);
  81. }; // IMMAmpMixer
  82.  
  83.  
  84. #pragma pack()
  85.  
  86. #endif /* _IMMAMIX_ */
  87.