diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-11-26 17:20:34 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-11-26 17:20:34 +0000 |
commit | 1268bf8b45d2f7c4dad55f055b4f76d4b66c5dd3 (patch) | |
tree | f833ae99c935fca7c7afa6a686bdcb2bd4452046 /gtk2_ardour/editor.cc | |
parent | 90a5607604a6a8853fa780285561aff706531589 (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.cc | 41 |
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); + } + } + + } + } +} |