xref: /haiku/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.h (revision 4eea0741422175450c25308b96809ed65e33b5ba)
1 /*
2  * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com.
3  * All rights reserved.
4  * Distributed under the terms of the MIT License.
5  */
6 
7 #ifndef __VST_ADDON_H__
8 #define __VST_ADDON_H__
9 
10 #include <MediaAddOn.h>
11 #include "VSTHost.h"
12 
13 class VSTAddOn : public BMediaAddOn {
14 public:
15 	virtual		 			~VSTAddOn();
16 	explicit 				VSTAddOn(image_id image);
17 	virtual		status_t 	InitCheck(const char** text);
18 	virtual		int32 		CountFlavors();
19 	virtual		status_t 	GetFlavorAt(int32 idx, const flavor_info** info);
20 	virtual		BMediaNode* InstantiateNodeFor(const flavor_info* info, BMessage* config,
21 							status_t* err);
22 	virtual		status_t 	GetConfigurationFor(BMediaNode* node, BMessage* message);
23 	virtual		bool 		WantsAutoStart();
24 	virtual		status_t 	AutoStart(int count, BMediaNode** node,	int32* id, bool* more);
25 private:
26 				int 		ScanPluginsFolder(const char* path, bool make_dir = false);
27 				BList		fPluginsList;
28 };
29 
30 #endif //__VST_ADDON_H__
31