ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
ardour
ardour
speakers.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2010 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
#ifndef __libardour_speakers_h__
20
#define __libardour_speakers_h__
21
22
#include <vector>
23
#include <iostream>
24
25
#include <
pbd/signals.h
>
26
#include <
pbd/stateful.h
>
27
28
#include "
ardour/speaker.h
"
29
30
class
XMLNode
;
31
32
namespace
ARDOUR
{
33
34
class
LIBARDOUR_API
Speakers
:
public
PBD::Stateful
{
35
public
:
36
Speakers
();
37
Speakers
(
const
Speakers
&);
38
virtual
~
Speakers
();
39
40
Speakers
& operator= (
const
Speakers
&);
41
42
virtual
int
add_speaker (
const
PBD::AngularVector
&);
43
virtual
void
remove_speaker (
int
id
);
44
virtual
void
move_speaker (
int
id
,
const
PBD::AngularVector
& new_position);
45
virtual
void
clear_speakers ();
46
uint32_t
size
()
const
{
return
_speakers.size(); }
47
48
void
setup_default_speakers (uint32_t nspeakers);
49
50
std::vector<Speaker>&
speakers
() {
return
_speakers; }
51
52
void
dump_speakers (std::ostream&);
53
54
XMLNode
& get_state ();
55
int
set_state (
const
XMLNode
&,
int
version);
56
57
PBD::Signal0<void>
Changed
;
58
59
protected
:
60
std::vector<Speaker>
_speakers
;
61
62
virtual
void
update
() {}
63
};
64
65
}
/* namespace */
66
67
#endif
/* __libardour_speakers_h__ */
ARDOUR::Speakers::_speakers
std::vector< Speaker > _speakers
Definition:
speakers.h:60
PBD::AngularVector
Definition:
cartesian.h:59
PBD::Stateful
Definition:
stateful.h:45
speaker.h
stateful.h
ARDOUR::Speakers::size
uint32_t size() const
Definition:
speakers.h:46
ARDOUR
Definition:
amp.h:29
ARDOUR::Speakers::speakers
std::vector< Speaker > & speakers()
Definition:
speakers.h:50
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:40
ARDOUR::Speakers::Changed
PBD::Signal0< void > Changed
Definition:
speakers.h:57
ARDOUR::Speakers
Definition:
speakers.h:34
signals.h
XMLNode
Definition:
xml++.h:95
ARDOUR::Speakers::update
virtual void update()
Definition:
speakers.h:62
Generated on Sun May 24 2015 12:15:05 for ardour by
1.8.8