1 /* 2 * OpenSound media addon for BeOS and Haiku 3 * 4 * Copyright (c) 2007, François Revol (revol@free.fr) 5 * Distributed under the terms of the MIT License. 6 */ 7 8 #ifndef _OPENSOUNDDEVICEMIXER_H 9 #define _OPENSOUNDDEVICEMIXER_H 10 11 #include "OpenSoundDevice.h" 12 13 class OpenSoundDeviceMixer 14 { 15 public: 16 OpenSoundDeviceMixer(oss_mixerinfo *info); 17 virtual ~OpenSoundDeviceMixer(void); 18 19 virtual status_t InitCheck(void) const; 20 int FD() const { return fFD; }; 21 const oss_mixerinfo *Info() const { return &fMixerInfo; }; 22 23 int CountExtInfos(); 24 status_t GetExtInfo(int index, oss_mixext *info); 25 status_t GetMixerValue(oss_mixer_value *value); 26 status_t SetMixerValue(oss_mixer_value *value); 27 status_t GetEnumInfo(int index, oss_mixer_enuminfo *info); 28 29 30 31 // 32 int CachedUpdateCounter(int index); 33 void SetCachedUpdateCounter(int index, int counter); 34 35 /* 36 status_t Get(oss_ *info); 37 status_t Get(oss_ *info); 38 */ 39 40 private: 41 status_t fInitCheckStatus; 42 oss_mixerinfo fMixerInfo; 43 int fFD; 44 }; 45 46 #endif 47