diff vamp-client/CapnpRRClient.h @ 289:26027c3a99a0

Further wiring for ProgramParameters - should now be supported throughout
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 08 Apr 2020 15:02:24 +0100
parents c9f63ca1914d
children
line wrap: on
line diff
--- a/vamp-client/CapnpRRClient.h	Tue Apr 07 18:04:53 2020 +0100
+++ b/vamp-client/CapnpRRClient.h	Wed Apr 08 15:02:24 2020 +0100
@@ -188,7 +188,8 @@
                                                        req.inputSampleRate,
                                                        req.adapterFlags,
                                                        resp.staticData,
-                                                       resp.defaultConfiguration);
+                                                       resp.defaultConfiguration,
+                                                       resp.programParameters);
 
         Vamp::Plugin *plugin = new PiperVampPlugin(this,
                                                    req.pluginKey,
@@ -339,11 +340,14 @@
 
         PluginStaticData psd;
         PluginConfiguration defaultConfig;
+        PluginProgramParameters programParameters;
         PluginHandleMapper::Handle handle =
             serverLoad(plugin->getPluginKey(),
                        plugin->getInputSampleRate(),
                        plugin->getAdapterFlags(),
-                       psd, defaultConfig);
+                       psd,
+                       defaultConfig,
+                       programParameters);
 
         m_mapper.addPlugin(handle, plugin);
 
@@ -441,7 +445,8 @@
     PluginHandleMapper::Handle
     serverLoad(std::string key, float inputSampleRate, int adapterFlags,
                PluginStaticData &psd,
-               PluginConfiguration &defaultConfig) {
+               PluginConfiguration &defaultConfig,
+               PluginProgramParameters &programParameters) {
 
         LoadRequest request;
         request.pluginKey = key;
@@ -465,6 +470,9 @@
         const piper::LoadResponse::Reader &lr = reader.getResponse().getLoad();
         VampnProto::readExtractorStaticData(psd, lr.getStaticData());
         VampnProto::readConfiguration(defaultConfig, lr.getDefaultConfiguration());
+        for (auto pp: lr.getProgramParameters()) {
+            VampnProto::readProgramParameterMap(programParameters, pp);
+        }
         return lr.getHandle();
     };