install single color theme file during waf install
[ardour.git] / gtk2_ardour / editor_markers.cc
index 371feaff5826483c67668508c16eef0f4b9ad8bd..6d07ecc35716f4e9f87f0ac7354ca68c2602ac34 100644 (file)
@@ -64,7 +64,7 @@ Editor::add_new_location (Location *location)
 {
        ENSURE_GUI_THREAD (*this, &Editor::add_new_location, location);
 
-       ArdourCanvas::Group* group = add_new_location_internal (location);
+       ArdourCanvas::Container* group = add_new_location_internal (location);
 
        /* Do a full update of the markers in this group */
        update_marker_labels (group);
@@ -82,14 +82,14 @@ Editor::add_new_location (Location *location)
  *  the caller must call update_marker_labels () after calling this.
  *  @return canvas group that the location's marker was added to.
  */
-ArdourCanvas::Group*
+ArdourCanvas::Container*
 Editor::add_new_location_internal (Location* location)
 {
        LocationMarkers *lam = new LocationMarkers;
        uint32_t color;
 
        /* make a note here of which group this marker ends up in */
-       ArdourCanvas::Group* group = 0;
+       ArdourCanvas::Container* group = 0;
 
        if (location->is_cd_marker()) {
                color = location_cd_marker_color;
@@ -163,11 +163,8 @@ Editor::add_new_location_internal (Location* location)
                lam->show ();
        }
 
-       location->start_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
-       location->end_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
-       location->changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
        location->name_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
-       location->FlagsChanged.connect (*this, invalidator (*this), boost::bind (&Editor::location_flags_changed, this, _1, _2), gui_context());
+       location->FlagsChanged.connect (*this, invalidator (*this), boost::bind (&Editor::location_flags_changed, this, location), gui_context());
 
        pair<Location*,LocationMarkers*> newpair;
 
@@ -311,14 +308,14 @@ struct MarkerComparator {
 void
 Editor::update_marker_labels ()
 {
-       for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
+       for (std::map<ArdourCanvas::Container *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
                update_marker_labels (i->first);
        }
 }
 
 /** Look at all markers in a group and update label widths */
 void
-Editor::update_marker_labels (ArdourCanvas::Group* group)
+Editor::update_marker_labels (ArdourCanvas::Container* group)
 {
        list<Marker*>& sorted = _sorted_marker_lists[group];
 
@@ -370,7 +367,7 @@ Editor::update_marker_labels (ArdourCanvas::Group* group)
 }
 
 void
-Editor::location_flags_changed (Location *location, void*)
+Editor::location_flags_changed (Location *location)
 {
        ENSURE_GUI_THREAD (*this, &Editor::location_flags_changed, location, src)
 
@@ -489,7 +486,7 @@ Editor::find_location_from_marker (Marker *marker, bool& is_start) const
 }
 
 void
-Editor::refresh_location_display_internal (Locations::LocationList& locations)
+Editor::refresh_location_display_internal (const Locations::LocationList& locations)
 {
        /* invalidate all */
 
@@ -499,7 +496,7 @@ Editor::refresh_location_display_internal (Locations::LocationList& locations)
 
        /* add new ones */
 
-       for (Locations::LocationList::iterator i = locations.begin(); i != locations.end(); ++i) {
+       for (Locations::LocationList::const_iterator i = locations.begin(); i != locations.end(); ++i) {
 
                LocationMarkerMap::iterator x;
 
@@ -707,7 +704,7 @@ Editor::remove_marker (ArdourCanvas::Item& item, GdkEvent*)
 
        if ((marker = static_cast<Marker*> (item.get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        if (entered_marker == marker) {
@@ -794,7 +791,7 @@ Editor::marker_context_menu (GdkEventButton* ev, ArdourCanvas::Item* item)
        Marker * marker;
        if ((marker = reinterpret_cast<Marker *> (item->get_data("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        bool is_start;
@@ -979,7 +976,7 @@ Editor::marker_menu_hide ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -997,7 +994,7 @@ Editor::marker_menu_select_using_range ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1015,7 +1012,7 @@ Editor::marker_menu_select_all_selectables_using_range ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1034,7 +1031,7 @@ Editor::marker_menu_separate_regions_using_location ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1053,7 +1050,7 @@ Editor::marker_menu_play_from ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1083,7 +1080,7 @@ Editor::marker_menu_set_playhead ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1114,7 +1111,7 @@ Editor::marker_menu_range_to_next ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1144,7 +1141,7 @@ Editor::marker_menu_set_from_playhead ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1172,7 +1169,7 @@ Editor::marker_menu_set_from_selection (bool /*force_regions*/)
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1203,7 +1200,7 @@ Editor::marker_menu_play_range ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1228,7 +1225,7 @@ Editor::marker_menu_loop_range ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* l;
@@ -1240,8 +1237,8 @@ Editor::marker_menu_loop_range ()
                        l2->set (l->start(), l->end());
 
                        // enable looping, reposition and start rolling
-                       _session->request_play_loop(true);
                        _session->request_locate (l2->start(), true);
+                       _session->request_play_loop(true);
                }
        }
 }
@@ -1279,7 +1276,7 @@ Editor::dynamic_cast_marker_object (void* p, MeterMarker** m, TempoMarker** t) c
        Marker* marker = reinterpret_cast<Marker*> (p);
        if (!marker) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        *m = dynamic_cast<MeterMarker*> (marker);
@@ -1323,7 +1320,7 @@ Editor::toggle_marker_menu_lock ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* loc;
@@ -1349,7 +1346,7 @@ Editor::marker_menu_rename ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
 
@@ -1543,7 +1540,7 @@ Editor::toggle_marker_menu_glue ()
 
        if ((marker = reinterpret_cast<Marker *> (marker_menu_item->get_data ("marker"))) == 0) {
                fatal << _("programming error: marker canvas item has no marker object pointer!") << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        Location* loc;
@@ -1576,7 +1573,7 @@ Editor::toggle_marker_lines ()
 void
 Editor::remove_sorted_marker (Marker* m)
 {
-       for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
+       for (std::map<ArdourCanvas::Container *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
                i->second.remove (m);
        }
 }