+ Properties::relative.property_id = g_quark_from_static_string (X_("relative"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for relative = %1\n", Properties::relative.property_id));
+ Properties::active.property_id = g_quark_from_static_string (X_("active"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for active = %1\n", Properties::active.property_id));
+ Properties::hidden.property_id = g_quark_from_static_string (X_("hidden"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for hidden = %1\n", Properties::hidden.property_id));
+ Properties::gain.property_id = g_quark_from_static_string (X_("gain"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for gain = %1\n", Properties::gain.property_id));
+ Properties::mute.property_id = g_quark_from_static_string (X_("mute"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for mute = %1\n", Properties::mute.property_id));
+ Properties::solo.property_id = g_quark_from_static_string (X_("solo"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for solo = %1\n", Properties::solo.property_id));
+ Properties::recenable.property_id = g_quark_from_static_string (X_("recenable"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for recenable = %1\n", Properties::recenable.property_id));
+ Properties::select.property_id = g_quark_from_static_string (X_("select"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for select = %1\n", Properties::select.property_id));
+ Properties::route_active.property_id = g_quark_from_static_string (X_("route-active"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for route-active = %1\n", Properties::route_active.property_id));
+ Properties::color.property_id = g_quark_from_static_string (X_("color"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for color = %1\n", Properties::color.property_id));
+ Properties::monitoring.property_id = g_quark_from_static_string (X_("monitoring"));
+ DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for monitoring = %1\n", Properties::monitoring.property_id));
+}
+
+#define ROUTE_GROUP_DEFAULT_PROPERTIES _relative (Properties::relative, true) \
+ , _active (Properties::active, false) \
+ , _hidden (Properties::hidden, false) \
+ , _gain (Properties::gain, false) \
+ , _mute (Properties::mute, false) \
+ , _solo (Properties::solo, false) \
+ , _recenable (Properties::recenable, false) \
+ , _select (Properties::select, false) \
+ , _route_active (Properties::route_active, false) \
+ , _color (Properties::color, false) \
+ , _monitoring (Properties::monitoring, false)
+
+RouteGroup::RouteGroup (Session& s, const string &n)
+ : SessionObject (s, n)
+ , routes (new RouteList)
+ , ROUTE_GROUP_DEFAULT_PROPERTIES
+{
+ _xml_node_name = X_("RouteGroup");
+
+ add_property (_relative);
+ add_property (_active);
+ add_property (_hidden);
+ add_property (_gain);
+ add_property (_mute);
+ add_property (_solo);
+ add_property (_recenable);
+ add_property (_select);
+ add_property (_route_active);
+ add_property (_color);
+ add_property (_monitoring);
+}
+
+RouteGroup::~RouteGroup ()
+{
+ for (RouteList::iterator i = routes->begin(); i != routes->end();) {
+ RouteList::iterator tmp = i;
+ ++tmp;
+
+ (*i)->set_route_group (0);
+
+ i = tmp;
+ }