along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: editor.cc 1353 2007-01-18 03:06:15Z paul $
*/
+#include <pbd/stacktrace.h>
+
#include <ardour/diskstream.h>
#include <ardour/playlist.h>
#include <ardour/route_group.h>
return false;
}
+void
+Editor::select_all_tracks ()
+{
+ selection->set (track_views);
+}
bool
Editor::set_selected_track (TimeAxisView& view, Selection::Operation op, bool no_remove)
if ((pl = ds->playlist()) != 0) {
pl->get_equivalent_regions (basis->region(), results);
}
-
+
for (vector<boost::shared_ptr<Region> >::iterator ir = results.begin(); ir != results.end(); ++ir) {
if ((marv = tv.view()->find_view (*ir)) != 0) {
all_equivs->push_back (marv);
if (press) {
button_release_can_deselect = false;
- }
-
+ }
if (op == Selection::Toggle || op == Selection::Set) {
-
- if (selection->selected (clicked_audio_trackview)) {
- get_equivalent_regions (clicked_regionview, all_equivalent_regions);
- } else {
- all_equivalent_regions.push_back (clicked_regionview);
- }
-
+
+
switch (op) {
case Selection::Toggle:
} else {
if (press) {
+
+ if (selection->selected (clicked_audio_trackview)) {
+ get_equivalent_regions (clicked_regionview, all_equivalent_regions);
+ } else {
+ all_equivalent_regions.push_back (clicked_regionview);
+ }
+
/* add all the equivalent regions, but only on button press */
+
+
if (!all_equivalent_regions.empty()) {
commit = true;
}
case Selection::Set:
if (!clicked_regionview->get_selected()) {
+
+ if (selection->selected (clicked_audio_trackview)) {
+ get_equivalent_regions (clicked_regionview, all_equivalent_regions);
+ } else {
+ all_equivalent_regions.push_back (clicked_regionview);
+ }
+
selection->set (all_equivalent_regions);
commit = true;
} else {
set<AudioTimeAxisView*> relevant_tracks;
get_relevant_audio_tracks (relevant_tracks);
-
+
for (set<AudioTimeAxisView*>::iterator t = relevant_tracks.begin(); t != relevant_tracks.end(); ++t) {
(*t)->get_selectables (first_frame, last_frame, -1.0, -1.0, results);
}