Fix blocked patch:Set messages.
authorHanspeter Portner <dev@open-music-kontrollers.ch>
Thu, 17 Mar 2016 22:01:33 +0000 (23:01 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 18 Mar 2016 22:36:11 +0000 (23:36 +0100)
libs/ardour/lv2_plugin.cc

index 3b9a3ef286e8c5ab3536594677be550644ad402c..d707d3e3754523e350dd8fb71a99ab780990d9a8 100644 (file)
@@ -2464,19 +2464,18 @@ LV2Plugin::connect_and_run(BufferSet& bufs,
                                                                            _uri_map.urids.patch_value,    &value,
                                                                            0);
 
-                                                       if (!property || !value ||
-                                                           property->type != _uri_map.urids.atom_URID ||
-                                                           value->type    != _uri_map.urids.atom_Path) {
+                                                       if (property && value &&
+                                                           property->type == _uri_map.urids.atom_URID &&
+                                                           value->type    == _uri_map.urids.atom_Path) {
+                                                               const uint32_t prop_id = ((const LV2_Atom_URID*)property)->body;
+                                                               const char*    path    = (const char*)LV2_ATOM_BODY_CONST(value);
+
+                                                               // Emit PropertyChanged signal for UI
+                                                               // TODO: This should emit the control's Changed signal
+                                                               PropertyChanged(prop_id, Variant(Variant::PATH, path));
+                                                       } else {
                                                                std::cerr << "warning: patch:Set for unknown property" << std::endl;
-                                                               continue;
                                                        }
-
-                                                       const uint32_t prop_id = ((const LV2_Atom_URID*)property)->body;
-                                                       const char*    path    = (const char*)LV2_ATOM_BODY_CONST(value);
-
-                                                       // Emit PropertyChanged signal for UI
-                                                       // TODO: This should emit the control's Changed signal
-                                                       PropertyChanged(prop_id, Variant(Variant::PATH, path));
                                                }
                                        }
                                }