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