xref: /haiku/src/add-ons/media/media-add-ons/mixer/MixerAddOn.h (revision 93aeb8c3bc3f13cb1f282e3e749258a23790d947)
1 // MixerAddon.h
2 // David Shipman, 2002
3 //
4 //   Quick addon header for the Audio Mixer
5 //
6 
7 #ifndef __AudioMixerAddOn_H_
8 #define __AudioMixerAddOn_H_
9 
10 #include <MediaAddOn.h>
11 
12 // -------------------------------------------------------- //
13 
14 class AudioMixerAddon :
15 	public		BMediaAddOn {
16 	typedef	BMediaAddOn _inherited;
17 
18 public:					// ctor/dtor
19 	virtual ~AudioMixerAddon();
20 	explicit AudioMixerAddon(image_id image);
21 
22 public:					// BMediaAddOn impl
23 virtual	status_t InitCheck(
24 				const char** out_failure_text);
25 virtual	int32 CountFlavors();
26 virtual	status_t GetFlavorAt(
27 				int32 n,
28 				const flavor_info ** out_info);
29 virtual	BMediaNode * InstantiateNodeFor(
30 				const flavor_info * info,
31 				BMessage * config,
32 				status_t * out_error);
33 virtual	status_t GetConfigurationFor(
34 				BMediaNode * your_node,
35 				BMessage * into_message);
36 
37 virtual	bool WantsAutoStart();
38 virtual	status_t AutoStart(
39 				int in_index,
40 				BMediaNode ** out_node,
41 				int32 * out_internal_id,
42 				bool * out_has_more);
43 
44 private:
45 	media_format 	*fFormat;
46 	flavor_info		*fInfo;
47 };
48 
49 #endif /*__AudioMixerAddOn_H_*/
50