Adding stereo plugins, fixed LADSPA menus, ignoring NON-RT plugins - Alex
[terminatorX.git] / src / tX_ladspa.h
index 1af4e7daf94965ae10e50e0ab1829847099072f2..de508035f81ef4adf782fc1061fe4a5247338e6e 100644 (file)
@@ -31,12 +31,14 @@ using namespace std;
 
 class LADSPA_Plugin
 {
-       private:
+       protected:
        const LADSPA_Descriptor *ladspa_descriptor;
        LADSPA_Plugin(const LADSPA_Descriptor *ld, char *filename);
+       LADSPA_Plugin() {}
        char info_string[4096];
        char file[1024];
        
+       private:
        static list <LADSPA_Plugin *> plugin_list;
        static void scandir(char *dir);
        static void handlelib(void *lib, LADSPA_Descriptor_Function desc_func, char* filename);
@@ -45,6 +47,7 @@ class LADSPA_Plugin
        static void init();
        static void status();
        static void debug_display();
+       virtual bool is_stereo();
        char *get_info_string() { return info_string; }
        char *get_file_name() { return file; }
        
@@ -59,4 +62,18 @@ class LADSPA_Plugin
        const LADSPA_Descriptor *getDescriptor() { return ladspa_descriptor; }
 };
 
+class LADSPA_Stereo_Plugin : public LADSPA_Plugin
+{
+       private:
+       static list <LADSPA_Stereo_Plugin *> stereo_plugin_list;
+       
+       public:
+       LADSPA_Stereo_Plugin(const LADSPA_Descriptor *ld, char *filename);
+
+       public:
+       virtual bool is_stereo();
+       static LADSPA_Stereo_Plugin * getPluginByIndex(int i);
+       static LADSPA_Stereo_Plugin * getPluginByUniqueID(long ID);     
+};
+
 #endif