Use XMLNode::set_property API in copy-mixer Session utility
authorTim Mayberry <mojofunk@gmail.com>
Tue, 30 Aug 2016 04:01:52 +0000 (14:01 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Tue, 18 Apr 2017 23:36:57 +0000 (09:36 +1000)
session_utils/copy-mixer.cc

index d317af654839edbbf017abf243844752579fadf4..2fa3c1fb14a3234324231dbb44500b5c0bf4fc80 100644 (file)
@@ -39,37 +39,35 @@ trim_state_for_mixer_copy (Session*s, XMLNode& node)
                                 */
                                XMLProperty const * target = (*i)->property (X_("name"));
                                if (!target) {
-                                       (*i)->add_property ("type", "dangling-aux-send");
+                                       (*i)->set_property ("type", "dangling-aux-send");
                                        continue;
                                }
                                boost::shared_ptr<Route> r = s->route_by_name (target->value ());
                                if (!r || boost::dynamic_pointer_cast<Track> (r)) {
-                                       (*i)->add_property ("type", "dangling-aux-send");
+                                       (*i)->set_property ("type", "dangling-aux-send");
                                        continue;
                                }
-                               (*i)->add_property ("target", r->id ().to_s ());
+                               (*i)->set_property ("target", r->id ().to_s ());
                        }
                        if (role && role->value () == X_("Listen")) {
                                (*i)->remove_property (X_("bitslot"));
                        }
                        else if (role && (role->value () == X_("Send") || role->value () == X_("Aux"))) {
-                               char buf[32];
                                Delivery::Role xrole;
                                uint32_t bitslot = 0;
                                xrole = Delivery::Role (string_2_enum (role->value (), xrole));
                                std::string name = Send::name_and_id_new_send (*s, xrole, bitslot, false);
-                               snprintf (buf, sizeof (buf), "%" PRIu32, bitslot);
                                (*i)->remove_property (X_("bitslot"));
                                (*i)->remove_property (X_("name"));
-                               (*i)->add_property ("bitslot", buf);
-                               (*i)->add_property ("name", name);
+                               (*i)->set_property ("bitslot", bitslot);
+                               (*i)->set_property ("name", name);
                        }
                        else if (type && type->value () == X_("intreturn")) {
                                // ignore, in case bus existed in old session,
                                // tracks in old session may be connected to it.
                                // if the bus is new, new_route_from_template()
                                // will have re-created an ID.
-                               (*i)->add_property ("type", "ignore-aux-return");
+                               (*i)->set_property ("type", "ignore-aux-return");
                        }
                        else if (type && type->value () == X_("return")) {
                                // Return::set_state() generates a new one
@@ -78,7 +76,7 @@ trim_state_for_mixer_copy (Session*s, XMLNode& node)
                        else if (type && type->value () == X_("port")) {
                                // PortInsert::set_state() handles the bitslot
                                (*i)->remove_property (X_("bitslot"));
-                               (*i)->add_property ("ignore-name", "1");
+                               (*i)->set_property ("ignore-name", "1");
                        }
                }
        }