Ardour  9.0-pre0-582-g084a23a80d
route_processor_selection.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007-2009 David Robillard <d@drobilla.net>
3  * Copyright (C) 2007-2017 Paul Davis <paul@linuxaudiosystems.com>
4  * Copyright (C) 2016-2017 Robin Gareus <robin@gareus.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20 
21 #pragma once
22 
23 #include <vector>
24 
25 #include "pbd/property_basics.h"
26 #include "pbd/signals.h"
27 
28 #include "processor_selection.h"
29 #include "route_ui_selection.h"
30 
31 namespace ARDOUR {
32  class SessionHandlePtr;
33 }
34 
35 class AxisViewProvider;
36 
38 {
39 public:
41 
43 
44  void clear ();
45  bool empty();
46 
47  void set (AxisView*);
48  void add (AxisView*, bool with_groups = false);
49  void remove (AxisView*, bool with_groups = false);
50  bool selected (AxisView*);
51 
52  void clear_routes ();
53 
54  void presentation_info_changed (PBD::PropertyChange const & what_changed);
55 
56 private:
59  void removed (AxisView*);
60 
63 };
64 
66 
bool operator==(const Color &lhs, const Color &rhs)
void set(AxisView *)
RouteProcessorSelection & operator=(const RouteProcessorSelection &other)
ARDOUR::SessionHandlePtr & shp
void presentation_info_changed(PBD::PropertyChange const &what_changed)
bool selected(AxisView *)
RouteProcessorSelection(ARDOUR::SessionHandlePtr &, AxisViewProvider &)
void removed(AxisView *)
RouteProcessorSelection(RouteProcessorSelection const &)
void add(AxisView *, bool with_groups=false)
void remove(AxisView *, bool with_groups=false)