void cart_to_gtk(PBD::CartesianVector &c) const
Gtk::AspectFrame aspect_frame
void gtk_to_cart(PBD::CartesianVector &c) const
bool ignore_azimuth_change
bool darea_button_release_event(GdkEventButton *ev)
int y_origin
y origin of our stuff within the drawing area
int selected_index
index of any selected speaker, or -1
int x_origin
x origin of our stuff within the drawing area
bool darea_button_press_event(GdkEventButton *ev)
void darea_size_allocate(Gtk::Allocation &alloc)
std::shared_ptr< ARDOUR::Speakers > get_speakers() const
Gtk::SpinButton azimuth_spinner
bool ignore_speaker_position_change
void speaker_position_changed()
Gtk::Adjustment azimuth_adjustment
Gtk::Button add_speaker_button
int width
width of the circle
int height
height of the circle
Gtk::Button remove_speaker_button
bool handle_motion(gint evx, gint evy, GdkModifierType state)
bool darea_motion_notify_event(GdkEventMotion *ev)
void clamp_to_circle(double &x, double &y)
void set_speakers(std::shared_ptr< ARDOUR::Speakers >)
PBD::ScopedConnection selected_speaker_connection
std::weak_ptr< ARDOUR::Speakers > _speakers
bool darea_expose_event(GdkEventExpose *)
int find_closest_object(gdouble x, gdouble y)