Ardour  9.0-pre0-822-g12e3bc5c20
ShuttleControl Class Reference

#include <shuttle_control.h>

Inheritance diagram for ShuttleControl:
[legend]

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 *)
 
void do_blink (bool)
 
void set_colors ()
 
std::shared_ptr< ShuttleControllablecontrollable () const
 
ArdourWidgets::ArdourButtoninfo_button ()
 
ArdourWidgets::ArdourButtonvari_button ()
 
float speed_as_fract (float) const
 
float fract_as_speed (float) const
 
- Public Member Functions inherited from CairoWidget
 CairoWidget ()
 
virtual ~CairoWidget ()
 
void set_canvas_widget ()
 
void use_nsglview (bool retina=true)
 
void use_image_surface (bool yn=true)
 
void queue_draw ()
 
void queue_resize ()
 
int get_width () const
 
int get_height () const
 
void size_allocate (Gtk::Allocation &)
 
void set_dirty (cairo_rectangle_t *area=0)
 
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 () const
 
void set_draw_background (bool yn)
 
uint32_t background_color ()
 
- Public Member Functions inherited from Gtkmm2ext::CairoCanvas
virtual ~CairoCanvas ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual ARDOUR::Sessionsession () const
 

Static Public Member Functions

static int speed_as_semitones (float, bool &)
 
static int speed_as_cents (float, bool &)
 
- Static Public Member Functions inherited from CairoWidget
static void provide_background_for_cairo_widget (Gtk::Widget &w, const Gdk::Color &bg)
 
static void set_source_rgb_a (cairo_t *cr, Gdk::Color, float a=1.0)
 
static void set_source_rgb_a (cairo_t *cr, Gtkmm2ext::Color, float a=1.0)
 
static void set_focus_handler (sigc::slot< void, Gtk::Widget * >)
 
- Static Public Member Functions inherited from Gtkmm2ext::CairoTheme
static void set_flat_buttons (bool yn)
 
static void set_boxy_buttons (bool yn)
 
static void set_widget_prelight (bool yn)
 
static bool flat_buttons ()
 
static bool boxy_buttons ()
 
static bool widget_prelight ()
 

Protected Member Functions

void build_shuttle_context_menu ()
 
void set_shuttle_max_speed (float)
 
void varispeed_button_clicked ()
 
bool varispeed_button_scroll_event (GdkEventScroll *)
 
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_motion_notify_event (GdkEventMotion *)
 
bool on_button_press_event_for_display (GdkEventButton *)
 
void render (Cairo::RefPtr< Cairo::Context > const &, 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)
 
- 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 > &)
 
void on_realize ()
 
bool on_button_press_event (GdkEventButton *)
 
Gdk::Color get_parent_bg ()
 
void on_map ()
 
void on_unmap ()
 
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
 
float last_shuttle_fract
 
bool shuttle_grabbed
 
double shuttle_speed_on_grab
 
double requested_speed
 
float shuttle_fract
 
std::shared_ptr< ShuttleControllable_controllable
 
cairo_pattern_t * pattern
 
cairo_pattern_t * shine_pattern
 
PBD::microseconds_t last_shuttle_request
 
PBD::ScopedConnection parameter_connection
 
PBD::ScopedConnection port_connection
 
ShuttleInfoButton _info_button
 
Gtk::Menu * shuttle_context_menu
 
ArdourWidgets::BindingProxy binding_proxy
 
float bg_r
 
float bg_g
 
float bg_b
 
VarispeedDialog _vari_dialog
 
ArdourWidgets::ArdourButton _vari_button
 
bool _ignore_change
 
- 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

- Public Attributes inherited from CairoWidget
sigc::signal< void > StateChanged
 
sigc::signal< bool > QueueDraw
 
sigc::signal< bool > QueueResize
 
- Static Protected Attributes inherited from CairoWidget
static sigc::slot< void, Gtk::Widget * > focus_handler
 

Detailed Description

Definition at line 60 of file shuttle_control.h.

Constructor & Destructor Documentation

◆ ShuttleControl()

ShuttleControl::ShuttleControl ( )

◆ ~ShuttleControl()

ShuttleControl::~ShuttleControl ( )

Member Function Documentation

◆ build_shuttle_context_menu()

void ShuttleControl::build_shuttle_context_menu ( )
protected

◆ controllable()

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

Definition at line 88 of file shuttle_control.h.

◆ do_blink()

void ShuttleControl::do_blink ( bool  )

◆ fract_as_speed()

float ShuttleControl::fract_as_speed ( float  ) const

◆ get_shuttle_fract()

double ShuttleControl::get_shuttle_fract ( ) const
inline

Definition at line 68 of file shuttle_control.h.

◆ info_button()

ArdourWidgets::ArdourButton* ShuttleControl::info_button ( )
inline

Definition at line 93 of file shuttle_control.h.

◆ map_transport_state()

void ShuttleControl::map_transport_state ( )

◆ mouse_shuttle()

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

◆ on_button_press_event()

bool ShuttleControl::on_button_press_event ( GdkEventButton *  )
protected

◆ on_button_press_event_for_display()

bool ShuttleControl::on_button_press_event_for_display ( GdkEventButton *  )
protected

◆ on_button_release_event()

bool ShuttleControl::on_button_release_event ( GdkEventButton *  )
protected

◆ on_enter_notify_event()

bool ShuttleControl::on_enter_notify_event ( GdkEventCrossing *  )
protected

◆ on_leave_notify_event()

bool ShuttleControl::on_leave_notify_event ( GdkEventCrossing *  )
protected

◆ on_motion_notify_event()

bool ShuttleControl::on_motion_notify_event ( GdkEventMotion *  )
protected

◆ on_query_tooltip()

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

◆ on_size_allocate()

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

◆ parameter_changed()

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

◆ render()

void ShuttleControl::render ( Cairo::RefPtr< Cairo::Context > const &  ,
cairo_rectangle_t *   
)
protectedvirtual

◆ set_colors()

void ShuttleControl::set_colors ( )

◆ set_session()

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

Reimplemented from ARDOUR::SessionHandlePtr.

◆ set_shuttle_fract()

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

◆ set_shuttle_max_speed()

void ShuttleControl::set_shuttle_max_speed ( float  )
protected

◆ set_shuttle_units()

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

◆ speed_as_cents()

static int ShuttleControl::speed_as_cents ( float  ,
bool &   
)
static

◆ speed_as_fract()

float ShuttleControl::speed_as_fract ( float  ) const

◆ speed_as_semitones()

static int ShuttleControl::speed_as_semitones ( float  ,
bool &   
)
static

◆ use_shuttle_fract()

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

◆ vari_button()

ArdourWidgets::ArdourButton* ShuttleControl::vari_button ( )
inline

Definition at line 98 of file shuttle_control.h.

◆ varispeed_button_clicked()

void ShuttleControl::varispeed_button_clicked ( )
protected

◆ varispeed_button_scroll_event()

bool ShuttleControl::varispeed_button_scroll_event ( GdkEventScroll *  )
protected

Member Data Documentation

◆ _controllable

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

Definition at line 119 of file shuttle_control.h.

◆ _hovering

bool ShuttleControl::_hovering
protected

Definition at line 111 of file shuttle_control.h.

◆ _ignore_change

bool ShuttleControl::_ignore_change
protected

Definition at line 156 of file shuttle_control.h.

◆ _info_button

ShuttleInfoButton ShuttleControl::_info_button
protected

Definition at line 125 of file shuttle_control.h.

◆ _vari_button

ArdourWidgets::ArdourButton ShuttleControl::_vari_button
protected

Definition at line 133 of file shuttle_control.h.

◆ _vari_dialog

VarispeedDialog ShuttleControl::_vari_dialog
protected

Definition at line 132 of file shuttle_control.h.

◆ bg_b

float ShuttleControl::bg_b
protected

Definition at line 128 of file shuttle_control.h.

◆ bg_g

float ShuttleControl::bg_g
protected

Definition at line 128 of file shuttle_control.h.

◆ bg_r

float ShuttleControl::bg_r
protected

Definition at line 128 of file shuttle_control.h.

◆ binding_proxy

ArdourWidgets::BindingProxy ShuttleControl::binding_proxy
protected

Definition at line 127 of file shuttle_control.h.

◆ last_shuttle_fract

float ShuttleControl::last_shuttle_fract
protected

Definition at line 114 of file shuttle_control.h.

◆ last_shuttle_request

PBD::microseconds_t ShuttleControl::last_shuttle_request
protected

Definition at line 122 of file shuttle_control.h.

◆ last_speed_displayed

float ShuttleControl::last_speed_displayed
protected

Definition at line 113 of file shuttle_control.h.

◆ parameter_connection

PBD::ScopedConnection ShuttleControl::parameter_connection
protected

Definition at line 123 of file shuttle_control.h.

◆ pattern

cairo_pattern_t* ShuttleControl::pattern
protected

Definition at line 120 of file shuttle_control.h.

◆ port_connection

PBD::ScopedConnection ShuttleControl::port_connection
protected

Definition at line 124 of file shuttle_control.h.

◆ requested_speed

double ShuttleControl::requested_speed
protected

Definition at line 117 of file shuttle_control.h.

◆ shine_pattern

cairo_pattern_t* ShuttleControl::shine_pattern
protected

Definition at line 121 of file shuttle_control.h.

◆ shuttle_context_menu

Gtk::Menu* ShuttleControl::shuttle_context_menu
protected

Definition at line 126 of file shuttle_control.h.

◆ shuttle_fract

float ShuttleControl::shuttle_fract
protected

Definition at line 118 of file shuttle_control.h.

◆ shuttle_grabbed

bool ShuttleControl::shuttle_grabbed
protected

Definition at line 115 of file shuttle_control.h.

◆ shuttle_max_speed

float ShuttleControl::shuttle_max_speed
protected

Definition at line 112 of file shuttle_control.h.

◆ shuttle_speed_on_grab

double ShuttleControl::shuttle_speed_on_grab
protected

Definition at line 116 of file shuttle_control.h.


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