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