summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-11-26 17:20:34 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-11-26 17:20:34 +0000
commit1268bf8b45d2f7c4dad55f055b4f76d4b66c5dd3 (patch)
treef833ae99c935fca7c7afa6a686bdcb2bd4452046 /gtk2_ardour/editor.cc
parent90a5607604a6a8853fa780285561aff706531589 (diff)
more ongoing SAE-driven changes (too many too list here)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2715 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r--gtk2_ardour/editor.cc41
1 files changed, 40 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index d638d54689..e95e65d1c3 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -318,6 +318,7 @@ Editor::Editor ()
_dragging_playhead = false;
_dragging_edit_point = false;
_dragging_hscrollbar = false;
+ select_new_marker = false;
scrubbing_direction = 0;
@@ -489,7 +490,7 @@ Editor::Editor ()
CellRendererToggle* route_list_visible_cell = dynamic_cast<CellRendererToggle*>(route_list_display.get_column_cell_renderer (0));
route_list_visible_cell->property_activatable() = true;
route_list_visible_cell->property_radio() = false;
-
+
route_display_model->signal_row_deleted().connect (mem_fun (*this, &Editor::route_list_delete));
route_display_model->signal_row_changed().connect (mem_fun (*this, &Editor::route_list_change));
route_display_model->signal_rows_reordered().connect (mem_fun (*this, &Editor::track_list_reorder));
@@ -579,6 +580,10 @@ Editor::Editor ()
region_list_display.append_column (_("Regions"), region_list_columns.name);
region_list_display.set_headers_visible (false);
+ CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(region_list_display.get_column_cell_renderer (0));
+ region_name_cell->property_editable() = true;
+ region_name_cell->signal_edited().connect (mem_fun (*this, &Editor::region_name_edit));
+
region_list_display.get_selection()->set_select_function (mem_fun (*this, &Editor::region_list_selection_filter));
TreeViewColumn* tv_col = region_list_display.get_column(0);
@@ -4226,3 +4231,37 @@ Editor::get_regions_for_action ()
tmp_regions = get_regions_at (where, selection->tracks);
return tmp_regions;
}
+
+void
+Editor::get_regions_corresponding_to (boost::shared_ptr<Region> region, vector<RegionView*>& regions)
+{
+
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+
+ RouteTimeAxisView* tatv;
+
+ if ((tatv = dynamic_cast<RouteTimeAxisView*> (*i)) != 0) {
+
+ boost::shared_ptr<Playlist> pl;
+ vector<boost::shared_ptr<Region> > results;
+ RegionView* marv;
+ boost::shared_ptr<Diskstream> ds;
+
+ if ((ds = tatv->get_diskstream()) == 0) {
+ /* bus */
+ continue;
+ }
+
+ if ((pl = (ds->playlist())) != 0) {
+ pl->get_region_list_equivalent_regions (region, results);
+ }
+
+ for (vector<boost::shared_ptr<Region> >::iterator ir = results.begin(); ir != results.end(); ++ir) {
+ if ((marv = tatv->view()->find_view (*ir)) != 0) {
+ regions.push_back (marv);
+ }
+ }
+
+ }
+ }
+}