#define __libardour_speaker_h__
#include "pbd/cartesian.h"
+#include "pbd/signals.h"
-namespace ARDOUR {
+#include "ardour/libardour_visibility.h"
-class Speaker {
+namespace ARDOUR {
+
+class LIBARDOUR_API Speaker {
public:
Speaker (int, const PBD::AngularVector& position);
-
+ Speaker (const Speaker &);
+ Speaker& operator= (const Speaker &);
+
void move (const PBD::AngularVector& new_position);
const PBD::CartesianVector& coords() const { return _coords; }
int id;
+ /** emitted when this speaker's position has changed */
+ PBD::Signal0<void> PositionChanged;
+
private:
PBD::CartesianVector _coords;
PBD::AngularVector _angles;