xref: /haiku/src/add-ons/media/media-add-ons/vst_host/VSTAddOn.h (revision 6c874a26fcde8a0fd139f3b76b3abb7fbc3c582c)
1df969babSthreedeyes /*
2*6c874a26Sthreedeyes  * Copyright 2012, Gerasim Troeglazov (3dEyes**), 3dEyes@gmail.com.
3*6c874a26Sthreedeyes  * 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 
13df969babSthreedeyes class VSTAddOn : public BMediaAddOn
14df969babSthreedeyes {
15df969babSthreedeyes public:
16df969babSthreedeyes 	virtual		 			~VSTAddOn();
17df969babSthreedeyes 	explicit 				VSTAddOn(image_id image);
18df969babSthreedeyes 	virtual		status_t 	InitCheck(const char** text);
19df969babSthreedeyes 	virtual		int32 		CountFlavors();
20df969babSthreedeyes 	virtual		status_t 	GetFlavorAt(int32 idx, const flavor_info** info);
21df969babSthreedeyes 	virtual		BMediaNode* InstantiateNodeFor(const flavor_info* info, BMessage* config,
22df969babSthreedeyes 							status_t* err);
23df969babSthreedeyes 	virtual		status_t 	GetConfigurationFor(BMediaNode* node, BMessage* message);
24df969babSthreedeyes 	virtual		bool 		WantsAutoStart();
25df969babSthreedeyes 	virtual		status_t 	AutoStart(int count, BMediaNode** node,	int32* id, bool* more);
26df969babSthreedeyes private:
27df969babSthreedeyes 				int 		ScanPluginsFolders(const char* path, bool make_dir = false);
28df969babSthreedeyes 				BList		fPluginsList;
29df969babSthreedeyes };
30df969babSthreedeyes 
31df969babSthreedeyes #endif //__VST_ADDON_H__
32