Prefer const references: Beat-Converter does not modify the TempoMap
[ardour.git] / libs / ardour / ardour / plugin_insert.h
index 6f7b10cd46d94a99acefc3e9af2668de578f83ea..2b8d1bc54246cc491f2ac9161b61b34d630563bc 100644 (file)
@@ -59,6 +59,7 @@ class LIBARDOUR_API PluginInsert : public Processor
        XMLNode& get_state(void);
        int set_state(const XMLNode&, int version);
        void update_id (PBD::ID);
+       void set_owner (SessionObject*);
        void set_state_dir (const std::string& d = "");
 
        void run (BufferSet& in, framepos_t start_frame, framepos_t end_frame, double speed, pframes_t nframes, bool);
@@ -116,6 +117,7 @@ class LIBARDOUR_API PluginInsert : public Processor
        bool reset_map (bool emit = true);
        bool sanitize_maps ();
        bool check_inplace ();
+       bool configured () const { return _configured; }
 
        // these are ports visible on the outside
        ChanCount output_streams() const;
@@ -156,7 +158,7 @@ class LIBARDOUR_API PluginInsert : public Processor
        void set_strict_io  (bool b);
        void set_custom_cfg (bool b);
        bool set_preset_out (const ChanCount&);
-       bool add_sidechain  (uint32_t n_audio = 1);
+       bool add_sidechain  (uint32_t n_audio = 1, uint32_t n_midi = 0);
        bool del_sidechain ();
        void set_sidechain_latency (uint32_t, uint32_t);
        boost::shared_ptr<SideChain> sidechain () const { return _sidechain; }
@@ -171,7 +173,7 @@ class LIBARDOUR_API PluginInsert : public Processor
 
        bool has_no_inputs() const;
        bool has_no_audio_inputs() const;
-       bool needs_midi_input() const;
+       bool is_instrument () const;
        bool has_output_presets (
                        ChanCount in = ChanCount (DataType::MIDI, 1),
                        ChanCount out = ChanCount (DataType::AUDIO, 2)
@@ -310,6 +312,7 @@ class LIBARDOUR_API PluginInsert : public Processor
        boost::shared_ptr<SideChain> _sidechain;
        uint32_t _sc_playback_latency;
        uint32_t _sc_capture_latency;
+       uint32_t _plugin_signal_latency;
 
        boost::weak_ptr<Plugin> _impulseAnalysisPlugin;
 
@@ -368,9 +371,11 @@ class LIBARDOUR_API PluginInsert : public Processor
        void start_touch (uint32_t param_id);
        void end_touch (uint32_t param_id);
 
-       void latency_changed (framecnt_t, framecnt_t);
+       void latency_changed ();
        bool _latency_changed;
        uint32_t _bypass_port;
+
+       void preset_load_set_value (uint32_t, float);
 };
 
 } // namespace ARDOUR