Ardour  9.0-pre0-844-g046623df59
MainClock Class Reference

#include <main_clock.h>

Inheritance diagram for MainClock:
[legend]

Public Types

enum  ClockDisposition { PrimaryClock , SecondaryClock }
 
- Public Types inherited from AudioClock
enum  Mode {
  Timecode , BBT , MinSec , Seconds ,
  Samples
}
 

Public Member Functions

 MainClock (const std::string &clock_name, const std::string &widget_name, ClockDisposition d)
 
void set_session (ARDOUR::Session *s)
 
ARDOUR::ClockDeltaMode display_delta_mode ()
 
void set_display_delta_mode (ARDOUR::ClockDeltaMode m)
 
void set (Temporal::timepos_t const &, bool force=false, bool round_to_beat=false)
 
void clock_value_changed ()
 
void parameter_changed (std::string p)
 
- Public Member Functions inherited from AudioClock
 AudioClock (const std::string &clock_name, bool is_transient, const std::string &widget_name, bool editable, bool follows_playhead, bool duration=false, bool with_info=false, bool accept_on_focus_out=false)
 
 ~AudioClock ()
 
Mode mode () const
 
void set_off (bool yn)
 
bool off () const
 
bool on () const
 
void set_widget_name (const std::string &name)
 
void set_active_state (Gtkmm2ext::ActiveState s)
 
void set_editable (bool yn)
 
void set_corner_radius (double)
 
void focus ()
 
void set_duration (Temporal::timecnt_t const &, bool force=false)
 
virtual void set_mode (Mode)
 
void set_from_playhead ()
 
void locate ()
 
void copy_text_to_clipboard () const
 
std::string name () const
 
Temporal::timepos_t last_when () const
 
Temporal::timecnt_t current_duration (Temporal::timepos_t position=Temporal::timepos_t()) const
 
void set_negative_allowed (bool yn)
 
ArdourWidgets::ArdourButtonleft_btn ()
 
ArdourWidgets::ArdourButtonright_btn ()
 
void set_scale (double x, double y)
 
- 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_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
 

Public Attributes

sigc::signal< bool, ARDOUR::ClockDeltaModechange_display_delta_mode_signal
 
sigc::signal< void > CanonicalClockChanged
 
- Public Attributes inherited from AudioClock
sigc::signal< void > ValueChanged
 
sigc::signal< void > mode_changed
 
- Public Attributes inherited from CairoWidget
sigc::signal< void > StateChanged
 
sigc::signal< bool > QueueDraw
 
sigc::signal< bool > QueueResize
 

Protected Member Functions

void render (Cairo::RefPtr< Cairo::Context > const &, cairo_rectangle_t *)
 
void on_size_request (Gtk::Requisition *req)
 
- Protected Member Functions inherited from AudioClock
bool get_is_duration () const
 
bool on_button_press_event (GdkEventButton *ev)
 
bool on_button_release_event (GdkEventButton *ev)
 
void on_size_request (Gtk::Requisition *req)
 
- 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

ClockDisposition _disposition
 
- Protected Attributes inherited from AudioClock
Gtk::Menu * ops_menu
 
ArdourWidgets::ArdourButton _left_btn
 
ArdourWidgets::ArdourButton _right_btn
 
- 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
 

Private Member Functions

void build_ops_menu ()
 
void change_display_delta_mode (ARDOUR::ClockDeltaMode)
 
void edit_current_tempo ()
 
void edit_current_meter ()
 
void insert_new_tempo ()
 
void insert_new_meter ()
 

Private Attributes

bool _suspend_delta_mode_signal
 
std::string _widget_name
 
ARDOUR::ClockDeltaMode _delta_mode
 
Glib::RefPtr< Pango::Layout > _layout
 
int _layout_width
 
int _layout_height
 

Additional Inherited Members

- Static Public Member Functions inherited from AudioClock
static void print_minsec (samplepos_t, char *buf, size_t bufsize, float sample_rate, int decimals=3)
 
- 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 ()
 
- Static Public Attributes inherited from AudioClock
static std::vector< AudioClock * > clocks
 
- Static Protected Attributes inherited from CairoWidget
static sigc::slot< void, Gtk::Widget * > focus_handler
 

Detailed Description

A simple subclass of AudioClock that adds a few things to its context menu: ‘display delta to edit cursor’ and edit/change tempo/meter

Definition at line 27 of file main_clock.h.

Member Enumeration Documentation

◆ ClockDisposition

Enumerator
PrimaryClock 
SecondaryClock 

Definition at line 30 of file main_clock.h.

Constructor & Destructor Documentation

◆ MainClock()

MainClock::MainClock ( const std::string &  clock_name,
const std::string &  widget_name,
ClockDisposition  d 
)

Member Function Documentation

◆ build_ops_menu()

void MainClock::build_ops_menu ( )
privatevirtual

Reimplemented from AudioClock.

◆ change_display_delta_mode()

void MainClock::change_display_delta_mode ( ARDOUR::ClockDeltaMode  )
private

◆ clock_value_changed()

void MainClock::clock_value_changed ( )

◆ display_delta_mode()

ARDOUR::ClockDeltaMode MainClock::display_delta_mode ( )
inline

Definition at line 38 of file main_clock.h.

◆ edit_current_meter()

void MainClock::edit_current_meter ( )
private

◆ edit_current_tempo()

void MainClock::edit_current_tempo ( )
private

◆ insert_new_meter()

void MainClock::insert_new_meter ( )
private

◆ insert_new_tempo()

void MainClock::insert_new_tempo ( )
private

◆ on_size_request()

void MainClock::on_size_request ( Gtk::Requisition *  req)
protected

◆ parameter_changed()

void MainClock::parameter_changed ( std::string  p)

◆ render()

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

Reimplemented from AudioClock.

◆ set()

void MainClock::set ( Temporal::timepos_t const &  ,
bool  force = false,
bool  round_to_beat = false 
)
virtual

Reimplemented from AudioClock.

◆ set_display_delta_mode()

void MainClock::set_display_delta_mode ( ARDOUR::ClockDeltaMode  m)

◆ set_session()

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

Reimplemented from AudioClock.

Member Data Documentation

◆ _delta_mode

ARDOUR::ClockDeltaMode MainClock::_delta_mode
private

Definition at line 65 of file main_clock.h.

◆ _disposition

ClockDisposition MainClock::_disposition
protected

Definition at line 53 of file main_clock.h.

◆ _layout

Glib::RefPtr<Pango::Layout> MainClock::_layout
private

Definition at line 66 of file main_clock.h.

◆ _layout_height

int MainClock::_layout_height
private

Definition at line 68 of file main_clock.h.

◆ _layout_width

int MainClock::_layout_width
private

Definition at line 67 of file main_clock.h.

◆ _suspend_delta_mode_signal

bool MainClock::_suspend_delta_mode_signal
private

Definition at line 62 of file main_clock.h.

◆ _widget_name

std::string MainClock::_widget_name
private

Definition at line 63 of file main_clock.h.

◆ CanonicalClockChanged

sigc::signal<void> MainClock::CanonicalClockChanged

Definition at line 44 of file main_clock.h.

◆ change_display_delta_mode_signal

sigc::signal<bool, ARDOUR::ClockDeltaMode> MainClock::change_display_delta_mode_signal

Definition at line 42 of file main_clock.h.


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