drastic rethink of the relationship between remote control ID and route order keys...
[ardour.git] / libs / ardour / ardour / ladspa_plugin.h
index 7d561dd0a8c37f3c0c65157ee46da0a9f127ea29..6853a1dc367f38c31c6749f1c1035cd96064bf8e 100644 (file)
@@ -97,11 +97,12 @@ class LadspaPlugin : public ARDOUR::Plugin
        bool parameter_is_output(uint32_t) const;
        bool parameter_is_toggled(uint32_t) const;
 
-       XMLNode& get_state();
-       int      set_state (const XMLNode&, int version);
+       boost::shared_ptr<Plugin::ScalePoints>
+       get_scale_points(uint32_t port_index) const;
 
-       std::vector<PresetRecord> get_presets ();
-       bool load_preset (const std::string& uri);
+       int set_state (const XMLNode&, int version);
+
+       bool load_preset (PresetRecord);
 
        bool has_editor() const { return false; }
 
@@ -112,7 +113,7 @@ class LadspaPlugin : public ARDOUR::Plugin
        LADSPA_Properties           properties() const                { return _descriptor->Properties; }
        uint32_t                    index() const                     { return _index; }
        const char *                copyright() const                 { return _descriptor->Copyright; }
-       LADSPA_PortDescriptor       port_descriptor(uint32_t i) const { return _descriptor->PortDescriptors[i]; }
+       LADSPA_PortDescriptor       port_descriptor(uint32_t i) const;
        const LADSPA_PortRangeHint* port_range_hints() const          { return _descriptor->PortRangeHints; }
        const char * const *        port_names() const                { return _descriptor->PortNames; }
 
@@ -131,6 +132,8 @@ class LadspaPlugin : public ARDOUR::Plugin
        uint32_t                 _index;
        bool                     _was_activated;
 
+       void find_presets ();
+
        void init (void *mod, uint32_t index, framecnt_t rate);
        void run_in_place (pframes_t nsamples);
        void latency_compute_run ();
@@ -140,6 +143,7 @@ class LadspaPlugin : public ARDOUR::Plugin
        std::string preset_envvar () const;
        std::string preset_source (std::string) const;
        bool write_preset_file (std::string);
+       void add_state (XMLNode *) const;
 };
 
 class LadspaPluginInfo : public PluginInfo {