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