Optimize Plugin connect & run API, use const maps
authorRobin Gareus <robin@gareus.org>
Sun, 4 Nov 2018 01:15:28 +0000 (02:15 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 4 Nov 2018 01:16:34 +0000 (02:16 +0100)
12 files changed:
libs/ardour/ardour/audio_unit.h
libs/ardour/ardour/ladspa_plugin.h
libs/ardour/ardour/luaproc.h
libs/ardour/ardour/lv2_plugin.h
libs/ardour/ardour/plugin.h
libs/ardour/ardour/vst_plugin.h
libs/ardour/audio_unit.cc
libs/ardour/ladspa_plugin.cc
libs/ardour/luaproc.cc
libs/ardour/lv2_plugin.cc
libs/ardour/plugin.cc
libs/ardour/vst_plugin.cc

index 407be7a6dc414d692ee03c7a3e2cb2dbe6b5ef12..3a01349dd36887e7e771a93b3cc23b8cc424c8ae 100644 (file)
@@ -85,7 +85,7 @@ class LIBARDOUR_API AUPlugin : public ARDOUR::Plugin
 
        int connect_and_run (BufferSet& bufs,
                        samplepos_t start, samplepos_t end, double speed,
-                       ChanMapping in, ChanMapping out,
+                       ChanMapping const& in, ChanMapping const& out,
                        pframes_t nframes, samplecnt_t offset);
        std::set<Evoral::Parameter> automatable() const;
        std::string describe_parameter (Evoral::Parameter);
index 97744abc341398039a08620d850cac978774e4f4..ab2780e879207d98fa4bcd22187a81c7be788d54 100644 (file)
@@ -84,7 +84,7 @@ class LIBARDOUR_API LadspaPlugin : public ARDOUR::Plugin
 
        int connect_and_run (BufferSet& bufs,
                        samplepos_t start, samplepos_t end, double speed,
-                       ChanMapping in, ChanMapping out,
+                       ChanMapping const& in, ChanMapping const& out,
                        pframes_t nframes, samplecnt_t offset);
 
        std::string describe_parameter (Evoral::Parameter);
index 45b730ff73a438f2a1dafcf5631b6c25affde313..a07725417983d693da8a288d9f88d90e2ede6a42 100644 (file)
@@ -89,7 +89,7 @@ public:
 
        int connect_and_run (BufferSet& bufs,
                        samplepos_t start, samplepos_t end, double speed,
-                       ChanMapping in, ChanMapping out,
+                       ChanMapping const& in, ChanMapping const& out,
                        pframes_t nframes, samplecnt_t offset);
 
        std::string describe_parameter (Evoral::Parameter);
index 01dbaf4adca25d9de98f13d6dfc464da511be6c4..f12953633b39bc7929270d57da1c6cd7083f69ca 100644 (file)
@@ -113,7 +113,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
 
        int connect_and_run (BufferSet& bufs,
                             samplepos_t start, samplepos_t end, double speed,
-                            ChanMapping in, ChanMapping out,
+                            ChanMapping const& in, ChanMapping const& out,
                             pframes_t nframes, samplecnt_t offset);
 
        std::string describe_parameter (Evoral::Parameter);
index 892ae8c6c6ccc8bf599b69679f7faf0f8deee6d8..7ae524b0ebbf075b682891398f45be2da8e87029 100644 (file)
@@ -115,7 +115,7 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
 
        virtual int connect_and_run (BufferSet& bufs,
                        samplepos_t start, samplepos_t end, double speed,
-                       ChanMapping in, ChanMapping out,
+                       ChanMapping const& in, ChanMapping const& out,
                        pframes_t nframes, samplecnt_t offset);
 
        virtual std::set<Evoral::Parameter> automatable() const = 0;
index 39838e1b212986a355b09dab9949e42f3c62147d..b2189143d3b8108324b8d347488d19941834b37f 100644 (file)
@@ -74,7 +74,7 @@ public:
 
        int connect_and_run (BufferSet&,
                        samplepos_t start, samplepos_t end, double speed,
-                       ChanMapping in, ChanMapping out,
+                       ChanMapping const& in, ChanMapping const& out,
                        pframes_t nframes, samplecnt_t offset
                        );
 
index 4dba7ea83503fac39fa5825ece5838df8a8d7fc2..0482ff2bb655e8503ef0226f5316020c52af8b0f 100644 (file)
@@ -1639,7 +1639,7 @@ AUPlugin::render_callback(AudioUnitRenderActionFlags*,
 int
 AUPlugin::connect_and_run (BufferSet& bufs,
                samplepos_t start, samplepos_t end, double speed,
-               ChanMapping in_map, ChanMapping out_map,
+               ChanMapping const& in_map, ChanMapping const& out_map,
                pframes_t nframes, samplecnt_t offset)
 {
        Plugin::connect_and_run(bufs, start, end, speed, in_map, out_map, nframes, offset);
index 570c5109ffe44dea075e29cacbf7d7dd43f879bf..be0edee8b5e8c668facecc3c34e9b824fbd952ae 100644 (file)
@@ -558,7 +558,7 @@ LadspaPlugin::automatable () const
 int
 LadspaPlugin::connect_and_run (BufferSet& bufs,
                samplepos_t start, samplepos_t end, double speed,
-               ChanMapping in_map, ChanMapping out_map,
+               ChanMapping const& in_map, ChanMapping const& out_map,
                pframes_t nframes, samplecnt_t offset)
 {
        Plugin::connect_and_run (bufs, start, end, speed, in_map, out_map, nframes, offset);
index bf93e1df676adfe690d31b3590a2b6e1679c1579..58167e7f06005705fad6c4cc401d58622f3ae6c2 100644 (file)
@@ -614,7 +614,7 @@ LuaProc::configure_io (ChanCount in, ChanCount out)
 int
 LuaProc::connect_and_run (BufferSet& bufs,
                samplepos_t start, samplepos_t end, double speed,
-               ChanMapping in, ChanMapping out,
+               ChanMapping const& in, ChanMapping const& out,
                pframes_t nframes, samplecnt_t offset)
 {
        if (!_lua_dsp) {
index 6f8dad939689e4728dcb470eb7e37089492d34e3..3ae314057761be3b7703998b89bac0a82a26cb19 100644 (file)
@@ -2568,7 +2568,7 @@ write_position(LV2_Atom_Forge*     forge,
 int
 LV2Plugin::connect_and_run(BufferSet& bufs,
                samplepos_t start, samplepos_t end, double speed,
-               ChanMapping in_map, ChanMapping out_map,
+               ChanMapping const& in_map, ChanMapping const& out_map,
                pframes_t nframes, samplecnt_t offset)
 {
        DEBUG_TRACE(DEBUG::LV2, string_compose("%1 run %2 offset %3\n", name(), nframes, offset));
index 2d1ffbed7491a60f6791e2b885d337e63be829c0..f3d66971b813e1618eb76389cca38b86e6a7468e 100644 (file)
@@ -353,7 +353,7 @@ Plugin::write_immediate_event (size_t size, const uint8_t* buf)
 int
 Plugin::connect_and_run (BufferSet& bufs,
                samplepos_t /*start*/, samplepos_t /*end*/, double /*speed*/,
-               ChanMapping /*in_map*/, ChanMapping /*out_map*/,
+               ChanMapping const& /*in_map*/, ChanMapping const& /*out_map*/,
                pframes_t nframes, samplecnt_t /*offset*/)
 {
        if (bufs.count().n_midi() > 0) {
index a85c9ca6781fe1a98e7f3f5f60182faceddce078..cbd88877cd8bcb033de9858471bd3ddc2c173599 100644 (file)
@@ -671,7 +671,7 @@ VSTPlugin::automatable () const
 int
 VSTPlugin::connect_and_run (BufferSet& bufs,
                samplepos_t start, samplepos_t end, double speed,
-               ChanMapping in_map, ChanMapping out_map,
+               ChanMapping const& in_map, ChanMapping const& out_map,
                pframes_t nframes, samplecnt_t offset)
 {
        Plugin::connect_and_run(bufs, start, end, speed, in_map, out_map, nframes, offset);