Fix a problem where VST automation data wasn't getting written (if the adjustments...
[ardour.git] / libs / ardour / ardour / plugin.h
index 480b64dc5312f7f82bb9def492498862f9784d43..2554a6816c01a5e6fa94f6623d6152c29a73ff3c 100644 (file)
@@ -67,7 +67,7 @@ class LIBARDOUR_API PluginInfo {
        std::string unique_id;
 
        virtual PluginPtr load (Session& session) = 0;
-       virtual bool is_instrument() const; 
+       virtual bool is_instrument() const;
 
        /* NOTE: this block of virtual methods looks like the interface
           to a Processor, but Plugin does not inherit from Processor.
@@ -144,11 +144,11 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
        struct PresetRecord {
            PresetRecord () : number (-1), user (true) {}
            PresetRecord (const std::string& u, const std::string& l, int n = -1, bool s = true) : uri (u), label (l), number (n), user (s)  {}
-           
+
            bool operator!= (PresetRecord const & a) const {
                    return number != a.number || uri != a.uri || label != a.label;
            }
-           
+
            std::string uri;
            std::string label;
            int number; // if <0, invalid
@@ -166,25 +166,25 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
 
        std::vector<PresetRecord> get_presets ();
 
-        /** @return true if this plugin will respond to MIDI program
+       /** @return true if this plugin will respond to MIDI program
         * change messages by changing presets.
         *
         * This is hard to return a correct value for because most plugin APIs
         * do not specify plugin behaviour. However, if you want to force
-         * the display of plugin built-in preset names rather than MIDI program
-         * numbers, return true. If you want a generic description, return
+        * the display of plugin built-in preset names rather than MIDI program
+        * numbers, return true. If you want a generic description, return
         * false.
-       */
-        virtual bool presets_are_MIDI_programs() const { return false; }
+        */
+       virtual bool presets_are_MIDI_programs() const { return false; }
 
-        /** @return true if this plugin is General MIDI compliant, false
+       /** @return true if this plugin is General MIDI compliant, false
         * otherwise.
         *
         * It is important to note that it is is almost impossible for a host
         * (e.g. Ardour) to determine this for just about any plugin API
         * known as of June 2012
         */
-        virtual bool current_preset_uses_general_midi() const { return false; }
+       virtual bool current_preset_uses_general_midi() const { return false; }
 
        /** @return Last preset to be requested; the settings may have
         * been changed since; find out with parameter_changed_since_last_preset.
@@ -266,14 +266,15 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
        /** Emitted when a property is changed in the plugin. */
        PBD::Signal2<void, uint32_t, Variant> PropertyChanged;
 
-        PBD::Signal1<void,uint32_t> StartTouch;
-        PBD::Signal1<void,uint32_t> EndTouch;
+       PBD::Signal1<void,uint32_t> StartTouch;
+       PBD::Signal1<void,uint32_t> EndTouch;
 
 protected:
 
        friend class PluginInsert;
 
        virtual void set_parameter (uint32_t which, float val);
+       virtual void set_parameter_automated (uint32_t which, float val);
 
        /** Do the actual saving of the current plugin settings to a preset of the provided name.
         *  Should return a URI on success, or an empty string on failure.