[Summary] Made split to work as required for TracksLive

This commit is contained in:
GZharun 2015-01-23 18:43:20 +02:00
parent 4cb65afe4a
commit f0637059f5
3 changed files with 25 additions and 3 deletions

View file

@ -4684,6 +4684,28 @@ Editor::get_regions_from_selection_and_edit_point ()
return regions;
}
RegionSelection
Editor::get_regions_from_selection_and_playhead ()
{
RegionSelection regions;
TrackViewList involved_tracks;
RegionSelection& selected_regions = selection->regions;
if (!selected_regions.empty() ) {
RegionSelection::iterator iter = selected_regions.begin ();
for (; iter != selected_regions.end (); ++iter) {
involved_tracks.push_back ( &(*iter)->get_time_axis_view() );
}
}
framepos_t where = get_playhead_position ();
get_regions_at(regions, where, involved_tracks /*if empty apply to all*/);
return regions;
}
/** Get regions using the following method:
*
* Make a region list using:

View file

@ -2057,6 +2057,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void get_regions_after (RegionSelection&, framepos_t where, const TrackViewList& ts) const;
RegionSelection get_regions_from_selection_and_edit_point ();
RegionSelection get_regions_from_selection_and_playhead ();
RegionSelection get_regions_from_selection_and_entered ();
void start_updating_meters ();

View file

@ -5709,9 +5709,8 @@ Editor::split_region ()
return;
}
RegionSelection rs = get_regions_from_selection_and_edit_point ();
framepos_t where = get_preferred_edit_position ();
RegionSelection rs = get_regions_from_selection_and_playhead ();
framepos_t where = get_playhead_position ();
if (rs.empty()) {
return;