ardour
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ShuttleControl Class Reference

#include <shuttle_control.h>

Inheritance diagram for ShuttleControl:
CairoWidget ARDOUR::SessionHandlePtr

Classes

struct  ShuttleControllable
 

Public Member Functions

 ShuttleControl ()
 
 ~ShuttleControl ()
 
void map_transport_state ()
 
void set_shuttle_fract (double, bool zero_ok=false)
 
double get_shuttle_fract () const
 
void set_session (ARDOUR::Session *)
 
boost::shared_ptr
< ShuttleControllable
controllable () const
 
- Public Member Functions inherited from CairoWidget
 CairoWidget ()
 
virtual ~CairoWidget ()
 
void set_dirty ()
 
Gtkmm2ext::ActiveState active_state () const
 
Gtkmm2ext::VisualState visual_state () const
 
virtual void set_active_state (Gtkmm2ext::ActiveState)
 
virtual void set_visual_state (Gtkmm2ext::VisualState)
 
void unset_active_state ()
 
void unset_visual_state ()
 
void set_active (bool)
 
bool get_active ()
 
void set_draw_background (bool yn)
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 

Protected Member Functions

void build_shuttle_context_menu ()
 
void show_shuttle_context_menu ()
 
void shuttle_style_changed ()
 
void shuttle_unit_clicked ()
 
void set_shuttle_max_speed (float)
 
bool on_enter_notify_event (GdkEventCrossing *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_scroll_event (GdkEventScroll *)
 
bool on_motion_notify_event (GdkEventMotion *)
 
void render (cairo_t *, cairo_rectangle_t *)
 
void on_size_allocate (Gtk::Allocation &)
 
bool on_query_tooltip (int, int, bool, const Glib::RefPtr< Gtk::Tooltip > &)
 
gint mouse_shuttle (double x, bool force)
 
void use_shuttle_fract (bool force, bool zero_ok=false)
 
void parameter_changed (std::string)
 
void set_shuttle_units (ARDOUR::ShuttleUnits)
 
void set_shuttle_style (ARDOUR::ShuttleBehaviour)
 
int speed_as_semitones (float, bool &)
 
int fract_as_semitones (float, bool &)
 
float semitones_as_speed (int, bool)
 
float semitones_as_fract (int, bool)
 
- Protected Member Functions inherited from CairoWidget
virtual bool on_expose_event (GdkEventExpose *)
 
void on_size_allocate (Gtk::Allocation &)
 
void on_state_changed (Gtk::StateType)
 
void on_style_changed (const Glib::RefPtr< Gtk::Style > &)
 
bool on_button_press_event (GdkEventButton *)
 
Gdk::Color get_parent_bg ()
 
virtual void on_name_changed ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 

Protected Attributes

bool _hovering
 
float shuttle_max_speed
 
float last_speed_displayed
 
bool shuttle_grabbed
 
double shuttle_speed_on_grab
 
float shuttle_fract
 
boost::shared_ptr
< ShuttleControllable
_controllable
 
cairo_pattern_t * pattern
 
cairo_pattern_t * shine_pattern
 
ARDOUR::microseconds_t last_shuttle_request
 
PBD::ScopedConnection parameter_connection
 
Gtk::Menu * shuttle_unit_menu
 
Gtk::Menu * shuttle_style_menu
 
Gtk::Menu * shuttle_context_menu
 
BindingProxy binding_proxy
 
- Protected Attributes inherited from CairoWidget
Gtkmm2ext::ActiveState _active_state
 
Gtkmm2ext::VisualState _visual_state
 
bool _need_bg
 
bool _grabbed
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Additional Inherited Members

- Static Public Member Functions inherited from CairoWidget
static void provide_background_for_cairo_widget (Gtk::Widget &w, const Gdk::Color &bg)
 
static void set_flat_buttons (bool yn)
 
static bool flat_buttons ()
 
static void set_widget_prelight (bool yn)
 
static bool widget_prelight ()
 
static void set_source_rgb_a (cairo_t *cr, Gdk::Color, float a=1.0)
 
static void set_focus_handler (sigc::slot< void >)
 
- Public Attributes inherited from CairoWidget
sigc::signal< void > StateChanged
 
- Static Protected Attributes inherited from CairoWidget
static bool _flat_buttons = false
 
static bool _widget_prelight = true
 
static sigc::slot< void > focus_handler
 

Detailed Description

Definition at line 35 of file shuttle_control.h.

Constructor & Destructor Documentation

ShuttleControl::ShuttleControl ( )

Definition at line 52 of file shuttle_control.cc.

ShuttleControl::~ShuttleControl ( )

Definition at line 83 of file shuttle_control.cc.

Member Function Documentation

void ShuttleControl::build_shuttle_context_menu ( )
protected

Definition at line 160 of file shuttle_control.cc.

boost::shared_ptr<ShuttleControllable> ShuttleControl::controllable ( ) const
inline

Definition at line 57 of file shuttle_control.h.

int ShuttleControl::fract_as_semitones ( float  fract,
bool &  reverse 
)
protected

Definition at line 479 of file shuttle_control.cc.

double ShuttleControl::get_shuttle_fract ( ) const
inline

Definition at line 43 of file shuttle_control.h.

void ShuttleControl::map_transport_state ( )

Definition at line 131 of file shuttle_control.cc.

gint ShuttleControl::mouse_shuttle ( double  x,
bool  force 
)
protected

Definition at line 419 of file shuttle_control.cc.

bool ShuttleControl::on_button_press_event ( GdkEventButton *  ev)
protected

Definition at line 248 of file shuttle_control.cc.

bool ShuttleControl::on_button_release_event ( GdkEventButton *  ev)
protected

Definition at line 290 of file shuttle_control.cc.

bool ShuttleControl::on_enter_notify_event ( GdkEventCrossing *  ev)
protected

Definition at line 705 of file shuttle_control.cc.

bool ShuttleControl::on_leave_notify_event ( GdkEventCrossing *  ev)
protected

Definition at line 717 of file shuttle_control.cc.

bool ShuttleControl::on_motion_notify_event ( GdkEventMotion *  ev)
protected

Definition at line 409 of file shuttle_control.cc.

bool ShuttleControl::on_query_tooltip ( int  ,
int  ,
bool  ,
const Glib::RefPtr< Gtk::Tooltip > &   
)
protected

Definition at line 330 of file shuttle_control.cc.

bool ShuttleControl::on_scroll_event ( GdkEventScroll *  ev)
protected

Definition at line 336 of file shuttle_control.cc.

void ShuttleControl::on_size_allocate ( Gtk::Allocation &  alloc)
protected

Definition at line 103 of file shuttle_control.cc.

void ShuttleControl::parameter_changed ( std::string  p)
protected

Definition at line 669 of file shuttle_control.cc.

void ShuttleControl::render ( cairo_t *  cr,
cairo_rectangle_t *   
)
protectedvirtual

Implements CairoWidget.

Definition at line 525 of file shuttle_control.cc.

float ShuttleControl::semitones_as_fract ( int  semi,
bool  reverse 
)
protected

Definition at line 472 of file shuttle_control.cc.

float ShuttleControl::semitones_as_speed ( int  semi,
bool  reverse 
)
protected

Definition at line 462 of file shuttle_control.cc.

void ShuttleControl::set_session ( ARDOUR::Session s)
virtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 90 of file shuttle_control.cc.

void ShuttleControl::set_shuttle_fract ( double  f,
bool  zero_ok = false 
)

Definition at line 441 of file shuttle_control.cc.

void ShuttleControl::set_shuttle_max_speed ( float  speed)
protected

Definition at line 241 of file shuttle_control.cc.

void ShuttleControl::set_shuttle_style ( ARDOUR::ShuttleBehaviour  s)
protected

Definition at line 639 of file shuttle_control.cc.

void ShuttleControl::set_shuttle_units ( ARDOUR::ShuttleUnits  s)
protected

Definition at line 645 of file shuttle_control.cc.

void ShuttleControl::show_shuttle_context_menu ( )
protected

Definition at line 231 of file shuttle_control.cc.

void ShuttleControl::shuttle_style_changed ( )
protected
void ShuttleControl::shuttle_unit_clicked ( )
protected

Definition at line 630 of file shuttle_control.cc.

int ShuttleControl::speed_as_semitones ( float  speed,
bool &  reverse 
)
protected

Definition at line 448 of file shuttle_control.cc.

void ShuttleControl::use_shuttle_fract ( bool  force,
bool  zero_ok = false 
)
protected

Definition at line 486 of file shuttle_control.cc.

Member Data Documentation

boost::shared_ptr<ShuttleControllable> ShuttleControl::_controllable
protected

Definition at line 66 of file shuttle_control.h.

bool ShuttleControl::_hovering
protected

Definition at line 60 of file shuttle_control.h.

BindingProxy ShuttleControl::binding_proxy
protected

Definition at line 74 of file shuttle_control.h.

ARDOUR::microseconds_t ShuttleControl::last_shuttle_request
protected

Definition at line 69 of file shuttle_control.h.

float ShuttleControl::last_speed_displayed
protected

Definition at line 62 of file shuttle_control.h.

PBD::ScopedConnection ShuttleControl::parameter_connection
protected

Definition at line 70 of file shuttle_control.h.

cairo_pattern_t* ShuttleControl::pattern
protected

Definition at line 67 of file shuttle_control.h.

cairo_pattern_t* ShuttleControl::shine_pattern
protected

Definition at line 68 of file shuttle_control.h.

Gtk::Menu* ShuttleControl::shuttle_context_menu
protected

Definition at line 73 of file shuttle_control.h.

float ShuttleControl::shuttle_fract
protected

Definition at line 65 of file shuttle_control.h.

bool ShuttleControl::shuttle_grabbed
protected

Definition at line 63 of file shuttle_control.h.

float ShuttleControl::shuttle_max_speed
protected

Definition at line 61 of file shuttle_control.h.

double ShuttleControl::shuttle_speed_on_grab
protected

Definition at line 64 of file shuttle_control.h.

Gtk::Menu* ShuttleControl::shuttle_style_menu
protected

Definition at line 72 of file shuttle_control.h.

Gtk::Menu* ShuttleControl::shuttle_unit_menu
protected

Definition at line 71 of file shuttle_control.h.


The documentation for this class was generated from the following files: