summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_regions.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-06 15:40:42 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-06 15:40:42 +0000
commitb6b68881b2c59c216d2195b1cea5e667187d83ed (patch)
tree6f6cae22e8d2175bbc54d428472402cd2d73eb2c /gtk2_ardour/editor_regions.cc
parent4ffcec7b7974f9fb65b2da295cbadb219f2a1970 (diff)
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
Diffstat (limited to 'gtk2_ardour/editor_regions.cc')
-rw-r--r--gtk2_ardour/editor_regions.cc31
1 files changed, 12 insertions, 19 deletions
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 <gtkmm2ext/stop_signal.h>
@@ -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<Region> wregion)
-{
- ENSURE_GUI_THREAD (*this, &EditorRegions::handle_region_removed, wregion)
-
- redisplay ();
-}
-
-void
-EditorRegions::handle_new_regions (vector<boost::weak_ptr<Region> >& v)
+EditorRegions::handle_new_regions (vector<boost::shared_ptr<Region> >& v)
{
ENSURE_GUI_THREAD (*this, &EditorRegions::handle_new_regions, v)
add_regions (v);
@@ -180,13 +172,10 @@ EditorRegions::region_hidden (boost::shared_ptr<Region> r)
void
-EditorRegions::add_regions (vector<boost::weak_ptr<Region> >& regions)
+EditorRegions::add_regions (vector<boost::shared_ptr<Region> >& regions)
{
- for (vector<boost::weak_ptr<Region> >::iterator x = regions.begin(); x != regions.end(); ++x) {
- boost::shared_ptr<Region> region ((*x).lock());
- if (region) {
- add_region (region);
- }
+ for (vector<boost::shared_ptr<Region> >::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<boost::shared_ptr<Region> >::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;
}