+TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
+ : trackable (other)
+ , Selectable (other)
+ , PBD::ScopedConnectionList()
+ , trackview (other.trackview)
+ , _recregion (other._recregion)
+ , _automation (other._automation)
+ , _dragging (other._dragging)
+{
+
+ Gdk::Color c;
+ int r,g,b,a;
+
+ UINT_TO_RGBA (other.fill_color, &r, &g, &b, &a);
+ c.set_rgb_p (r/255.0, g/255.0, b/255.0);
+
+ /* share the other's parent, but still create a new group */
+
+ Gnome::Canvas::Group* parent = other.group->property_parent();
+
+ group = new ArdourCanvas::Group (*parent);
+
+ _selected = other._selected;
+
+ init (other.item_name, other.samples_per_unit, c, other.frame_position,
+ other.item_duration, other.visibility, other.wide_enough_for_name, other.high_enough_for_name);
+}
+
+void
+TimeAxisViewItem::init (
+ const string& it_name, double spu, Gdk::Color const & base_color, framepos_t start, framepos_t duration, Visibility vis, bool wide, bool high)
+{
+ item_name = it_name;
+ samples_per_unit = spu;
+ frame_position = start;
+ item_duration = duration;