ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
ardour
ardour
route_group_specialized.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2000-2007 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
#ifndef __ardour_route_group_specialized_h__
21
#define __ardour_route_group_specialized_h__
22
23
#include "
ardour/route_group.h
"
24
#include "
ardour/track.h
"
25
26
namespace
ARDOUR
{
27
28
template
<
class
T>
void
29
RouteGroup::apply
(
void
(
Track
::*func)(T,
void
*), T val,
void
*
/*src*/
)
30
{
31
for
(RouteList::iterator i =
routes
->begin(); i !=
routes
->end(); i++) {
32
boost::shared_ptr<Track>
at;
33
34
if
((at = boost::dynamic_pointer_cast<Track>(*i)) != 0) {
35
(at.
get
()->*func)(val,
this
);
36
}
37
}
38
}
39
40
}
/* namespace ARDOUR */
41
42
#endif
/* __ardour_route_group_specialized_h__ */
43
boost::shared_ptr
Definition:
shared_ptr.hpp:116
ARDOUR::RouteGroup::routes
boost::shared_ptr< RouteList > routes
Definition:
route_group.h:138
ARDOUR::Track
Definition:
track.h:38
ARDOUR
Definition:
amp.h:29
ARDOUR::RouteGroup::apply
void apply(void(Track::*func)(T, void *), T val, void *src)
Definition:
route_group_specialized.h:29
boost::shared_ptr::get
T * get() const
Definition:
shared_ptr.hpp:268
route_group.h
track.h
Generated on Sun May 24 2015 12:15:05 for ardour by
1.8.8