ardour
track_selection.cc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2000-2009 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
20 #include <algorithm>
21 #include "ardour/route_group.h"
22 #include "track_selection.h"
23 #include "time_axis_view.h"
24 #include "public_editor.h"
25 
26 using namespace std;
27 
29  : TrackViewList (t)
30  , _editor (e)
31 {
32 }
33 
35 {
36 }
37 
40 {
42 
43  for (TrackSelection::const_iterator i = t.begin(); i != t.end(); ++i) {
44 
45  /* select anything in the same select-enabled route group */
46  ARDOUR::RouteGroup* rg = (*i)->route_group ();
47  if (rg && rg->is_active() && rg->is_select ()) {
49  for (TrackViewList::iterator j = tr.begin(); j != tr.end(); ++j) {
50  if (!contains (*j)) {
51  added.push_back (*j);
52  push_back (*j);
53  }
54  }
55  }
56  }
57 
58  return added;
59 }
60 
bool is_select() const
Definition: route_group.h:73
virtual TrackViewList add(TrackViewList const &)
Representation of the interface of the Editor class.
Definition: Beats.hpp:239
virtual ~TrackSelection()
PublicEditor const * _editor
TrackViewList add(TrackViewList const &)
bool is_active() const
Definition: route_group.h:66
virtual TrackViewList axis_views_from_routes(boost::shared_ptr< ARDOUR::RouteList >) const =0
boost::shared_ptr< RouteList > route_list()
Definition: route_group.h:126
TrackSelection(PublicEditor const *e)
bool contains(TimeAxisView const *) const