xref: /haiku/src/add-ons/media/media-add-ons/mixer/MixerAddOn.h (revision e6b30aee0fd7a23d6a6baab9f3718945a0cd838a)
1 /*
2  * Copyright 2002 David Shipman,
3  * Copyright 2003-2007 Marcus Overhagen
4  * Copyright 2007 Haiku Inc. All rights reserved.
5  * Distributed under the terms of the MIT License.
6  */
7 #ifndef _AUDIOMIXER_ADDON_H
8 #define _AUDIOMIXER_ADDON_H
9 
10 #include <MediaAddOn.h>
11 
12 class AudioMixerAddon : public BMediaAddOn {
13 	public:
14 		virtual 					~AudioMixerAddon();
15 		explicit 					AudioMixerAddon(image_id image);
16 
17 		virtual	status_t			InitCheck(const char** out_failure_text);
18 		virtual	int32				CountFlavors();
19 		virtual	status_t 			GetFlavorAt(int32 n,
20 										const flavor_info ** out_info);
21 		virtual	BMediaNode *		InstantiateNodeFor(
22 										const flavor_info *info,
23 										BMessage *config,
24 										status_t *out_error);
25 		virtual	status_t			GetConfigurationFor(
26 										BMediaNode *your_node,
27 										BMessage *into_message);
28 
29 		virtual	bool				WantsAutoStart();
30 		virtual	status_t			AutoStart(int in_index,
31 										BMediaNode **out_node,
32 										int32 *out_internal_id,
33 										bool *out_has_more);
34 
35 	private:
36 		media_format 				*fFormat;
37 		flavor_info					*fInfo;
38 };
39 #endif
40