From b6b68881b2c59c216d2195b1cea5e667187d83ed Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 6 Mar 2010 15:40:42 +0000 Subject: remove the session region list; GUI now represents (a relatively unfiltered view of) the raw region list that always contains every single region ever created git-svn-id: svn://localhost/ardour2/branches/3.0@6739 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_regions.cc | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) (limited to 'gtk2_ardour/editor_regions.cc') diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc index 39e8b84c1b..18b6971fe8 100644 --- a/gtk2_ardour/editor_regions.cc +++ b/gtk2_ardour/editor_regions.cc @@ -28,8 +28,9 @@ #include "ardour/audioregion.h" #include "ardour/audiofilesource.h" +#include "ardour/region_factory.h" +#include "ardour/session.h" #include "ardour/silentfilesource.h" -#include "ardour/session_region.h" #include "ardour/profile.h" #include @@ -139,7 +140,6 @@ EditorRegions::set_session (ARDOUR::Session* s) if (_session) { _session->RegionsAdded.connect (_session_connections, ui_bind (&EditorRegions::handle_new_regions, this, _1), gui_context()); - _session->RegionRemoved.connect (_session_connections, ui_bind (&EditorRegions::handle_region_removed, this, _1), gui_context()); _session->RegionHiddenChange.connect (_session_connections, ui_bind (&EditorRegions::region_hidden, this, _1), gui_context()); } @@ -147,15 +147,7 @@ EditorRegions::set_session (ARDOUR::Session* s) } void -EditorRegions::handle_region_removed (boost::weak_ptr wregion) -{ - ENSURE_GUI_THREAD (*this, &EditorRegions::handle_region_removed, wregion) - - redisplay (); -} - -void -EditorRegions::handle_new_regions (vector >& v) +EditorRegions::handle_new_regions (vector >& v) { ENSURE_GUI_THREAD (*this, &EditorRegions::handle_new_regions, v) add_regions (v); @@ -180,13 +172,10 @@ EditorRegions::region_hidden (boost::shared_ptr r) void -EditorRegions::add_regions (vector >& regions) +EditorRegions::add_regions (vector >& regions) { - for (vector >::iterator x = regions.begin(); x != regions.end(); ++x) { - boost::shared_ptr region ((*x).lock()); - if (region) { - add_region (region); - } + for (vector >::iterator x = regions.begin(); x != regions.end(); ++x) { + add_region (*x); } } @@ -511,7 +500,11 @@ EditorRegions::redisplay () */ tmp_region_list.clear(); - _session->foreach_region (this, &EditorRegions::insert_into_tmp_regionlist); + + const RegionFactory::RegionMap& regions (RegionFactory::regions()); + for (RegionFactory::RegionMap::const_iterator i = regions.begin(); i != regions.end(); ++i) { + insert_into_tmp_regionlist (i->second); + } for (list >::iterator r = tmp_region_list.begin(); r != tmp_region_list.end(); ++r) { add_region (*r); @@ -1000,7 +993,7 @@ EditorRegions::button_release (GdkEventButton *ev) } if (region && Keyboard::is_delete_event (ev)) { - _session->remove_region_from_region_list (region); + // _session->remove_region_from_region_list (region); return true; } -- cgit v1.2.3