xref: /haiku/src/add-ons/media/media-add-ons/opensound/OpenSoundDeviceMixer.h (revision de6be214a057eaff48008ca30a411a868aedad19)
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;
FD()20 		int			FD() const { return fFD; };
Info()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