Ardour  9.0-pre0-822-g12e3bc5c20
EditorSummary Class Reference

#include <editor_summary.h>

Inheritance diagram for EditorSummary:
[legend]

Public Member Functions

 EditorSummary (Editor *)
 
 ~EditorSummary ()
 
void set_session (ARDOUR::Session *)
 
void set_overlays_dirty ()
 
void set_background_dirty ()
 
void routes_added (std::list< RouteTimeAxisView * > 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 EditorComponent
 EditorComponent (Editor *)
 
virtual ~EditorComponent ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual ARDOUR::Sessionsession () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Private Types

enum  SummaryPosition {
  LEFT , RIGHT , BOTTOM , INSIDE ,
  TO_LEFT_OR_RIGHT
}
 

Private Member Functions

void parameter_changed (std::string)
 
void on_size_allocate (Gtk::Allocation &alloc)
 
void on_size_request (Gtk::Requisition *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_motion_notify_event (GdkEventMotion *)
 
bool on_scroll_event (GdkEventScroll *)
 
bool on_key_press_event (GdkEventKey *)
 
bool on_key_release_event (GdkEventKey *)
 
bool on_enter_notify_event (GdkEventCrossing *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
void reset_to_extents ()
 
void centre_on_click (GdkEventButton *)
 
void render (Cairo::RefPtr< Cairo::Context > const &, cairo_rectangle_t *)
 
void render_region (RegionView *, cairo_t *, double) const
 
void get_editor (std::pair< double, double > *x, std::pair< double, double > *y=NULL) const
 
void set_editor (double)
 
void set_editor (std::pair< double, double >)
 
void set_editor_x (double)
 
void set_editor_x (std::pair< double, double >)
 
void playhead_position_changed (samplepos_t)
 
double editor_y_to_summary (double) const
 
SummaryPosition get_position (double, double) const
 
void set_cursor (SummaryPosition)
 
void route_gui_changed (PBD::PropertyChange const &)
 
bool suspending_editor_updates () const
 
double playhead_sample_to_position (samplepos_t) const
 
samplepos_t position_to_playhead_sample_to_position (double pos) const
 
void set_overlays_dirty_rect (int, int, int, int)
 
void summary_zoom_step (int steps)
 
void set_colors ()
 
void render_background_image ()
 

Private Attributes

samplepos_t _start
 start sample of the overview More...
 
samplepos_t _end
 end sample of the overview More...
 
samplepos_t _leftmost
 the earliest sample we ever viewed More...
 
samplepos_t _rightmost
 the latest sample we ever viewed More...
 
double _x_scale
 pixels per sample for the x axis of the pixmap More...
 
double _track_height
 
double _last_playhead
 
std::pair< double, double > _start_editor_x
 
double _start_mouse_x
 
double _start_mouse_y
 
SummaryPosition _start_position
 
bool _move_dragging
 
uint32_t _phead_color
 
int _last_mx
 
int _last_my
 
int _last_dx
 
int _last_dy
 
int _last_y_delta
 
std::pair< double, double > _view_rectangle_x
 
std::pair< double, double > _view_rectangle_y
 
std::pair< double, double > _pending_editor_x
 
std::pair< double, double > _pending_editor_y
 
bool _pending_editor_changed
 
bool _zoom_trim_dragging
 
SummaryPosition _zoom_trim_position
 
bool _old_follow_playhead
 
cairo_surface_t * _image
 
bool _background_dirty
 
PBD::ScopedConnectionList position_connection
 
PBD::ScopedConnection route_ctrl_id_connection
 
PBD::ScopedConnectionList region_property_connection
 

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_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 ()
 
- Public Attributes inherited from CairoWidget
sigc::signal< void > StateChanged
 
sigc::signal< bool > QueueDraw
 
sigc::signal< bool > QueueResize
 
- 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 inherited from CairoWidget
Gtkmm2ext::ActiveState _active_state
 
Gtkmm2ext::VisualState _visual_state
 
bool _need_bg
 
bool _grabbed
 
- Protected Attributes inherited from EditorComponent
Editor_editor
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 
- Static Protected Attributes inherited from CairoWidget
static sigc::slot< void, Gtk::Widget * > focus_handler
 

Detailed Description

Class to provide a visual summary of the contents of an editor window; represents the whole session as a set of lines, one per region view.

Definition at line 42 of file editor_summary.h.

Member Enumeration Documentation

◆ SummaryPosition

Enumerator
LEFT 
RIGHT 
BOTTOM 
INSIDE 
TO_LEFT_OR_RIGHT 

Definition at line 57 of file editor_summary.h.

Constructor & Destructor Documentation

◆ EditorSummary()

EditorSummary::EditorSummary ( Editor )

◆ ~EditorSummary()

EditorSummary::~EditorSummary ( )

Member Function Documentation

◆ centre_on_click()

void EditorSummary::centre_on_click ( GdkEventButton *  )
private

◆ editor_y_to_summary()

double EditorSummary::editor_y_to_summary ( double  ) const
private

◆ get_editor()

void EditorSummary::get_editor ( std::pair< double, double > *  x,
std::pair< double, double > *  y = NULL 
) const
private

◆ get_position()

SummaryPosition EditorSummary::get_position ( double  ,
double   
) const
private

◆ on_button_press_event()

bool EditorSummary::on_button_press_event ( GdkEventButton *  )
private

◆ on_button_release_event()

bool EditorSummary::on_button_release_event ( GdkEventButton *  )
private

◆ on_enter_notify_event()

bool EditorSummary::on_enter_notify_event ( GdkEventCrossing *  )
private

◆ on_key_press_event()

bool EditorSummary::on_key_press_event ( GdkEventKey *  )
private

◆ on_key_release_event()

bool EditorSummary::on_key_release_event ( GdkEventKey *  )
private

◆ on_leave_notify_event()

bool EditorSummary::on_leave_notify_event ( GdkEventCrossing *  )
private

◆ on_motion_notify_event()

bool EditorSummary::on_motion_notify_event ( GdkEventMotion *  )
private

◆ on_scroll_event()

bool EditorSummary::on_scroll_event ( GdkEventScroll *  )
private

◆ on_size_allocate()

void EditorSummary::on_size_allocate ( Gtk::Allocation &  alloc)
private

◆ on_size_request()

void EditorSummary::on_size_request ( Gtk::Requisition *  )
private

◆ parameter_changed()

void EditorSummary::parameter_changed ( std::string  )
private

◆ playhead_position_changed()

void EditorSummary::playhead_position_changed ( samplepos_t  )
private

◆ playhead_sample_to_position()

double EditorSummary::playhead_sample_to_position ( samplepos_t  ) const
private

◆ position_to_playhead_sample_to_position()

samplepos_t EditorSummary::position_to_playhead_sample_to_position ( double  pos) const
private

◆ render()

void EditorSummary::render ( Cairo::RefPtr< Cairo::Context > const &  ,
cairo_rectangle_t *   
)
privatevirtual

◆ render_background_image()

void EditorSummary::render_background_image ( )
private

◆ render_region()

void EditorSummary::render_region ( RegionView ,
cairo_t *  ,
double   
) const
private

◆ reset_to_extents()

void EditorSummary::reset_to_extents ( )
private

◆ route_gui_changed()

void EditorSummary::route_gui_changed ( PBD::PropertyChange const &  )
private

◆ routes_added()

void EditorSummary::routes_added ( std::list< RouteTimeAxisView * > const &  )

◆ set_background_dirty()

void EditorSummary::set_background_dirty ( )

◆ set_colors()

void EditorSummary::set_colors ( )
private

◆ set_cursor()

void EditorSummary::set_cursor ( SummaryPosition  )
private

◆ set_editor() [1/2]

void EditorSummary::set_editor ( double  )
private

◆ set_editor() [2/2]

void EditorSummary::set_editor ( std::pair< double, double >  )
private

◆ set_editor_x() [1/2]

void EditorSummary::set_editor_x ( double  )
private

◆ set_editor_x() [2/2]

void EditorSummary::set_editor_x ( std::pair< double, double >  )
private

◆ set_overlays_dirty()

void EditorSummary::set_overlays_dirty ( )

◆ set_overlays_dirty_rect()

void EditorSummary::set_overlays_dirty_rect ( int  ,
int  ,
int  ,
int   
)
private

◆ set_session()

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

Reimplemented from ARDOUR::SessionHandlePtr.

◆ summary_zoom_step()

void EditorSummary::summary_zoom_step ( int  steps)
private

◆ suspending_editor_updates()

bool EditorSummary::suspending_editor_updates ( ) const
private

Member Data Documentation

◆ _background_dirty

bool EditorSummary::_background_dirty
private

Definition at line 138 of file editor_summary.h.

◆ _end

samplepos_t EditorSummary::_end
private

end sample of the overview

Definition at line 98 of file editor_summary.h.

◆ _image

cairo_surface_t* EditorSummary::_image
private

Definition at line 136 of file editor_summary.h.

◆ _last_dx

int EditorSummary::_last_dx
private

Definition at line 121 of file editor_summary.h.

◆ _last_dy

int EditorSummary::_last_dy
private

Definition at line 122 of file editor_summary.h.

◆ _last_mx

int EditorSummary::_last_mx
private

Definition at line 119 of file editor_summary.h.

◆ _last_my

int EditorSummary::_last_my
private

Definition at line 120 of file editor_summary.h.

◆ _last_playhead

double EditorSummary::_last_playhead
private

Definition at line 105 of file editor_summary.h.

◆ _last_y_delta

int EditorSummary::_last_y_delta
private

Definition at line 123 of file editor_summary.h.

◆ _leftmost

samplepos_t EditorSummary::_leftmost
private

the earliest sample we ever viewed

Definition at line 100 of file editor_summary.h.

◆ _move_dragging

bool EditorSummary::_move_dragging
private

Definition at line 113 of file editor_summary.h.

◆ _old_follow_playhead

bool EditorSummary::_old_follow_playhead
private

Definition at line 135 of file editor_summary.h.

◆ _pending_editor_changed

bool EditorSummary::_pending_editor_changed
private

Definition at line 130 of file editor_summary.h.

◆ _pending_editor_x

std::pair<double, double> EditorSummary::_pending_editor_x
private

Definition at line 128 of file editor_summary.h.

◆ _pending_editor_y

std::pair<double, double> EditorSummary::_pending_editor_y
private

Definition at line 129 of file editor_summary.h.

◆ _phead_color

uint32_t EditorSummary::_phead_color
private

Definition at line 116 of file editor_summary.h.

◆ _rightmost

samplepos_t EditorSummary::_rightmost
private

the latest sample we ever viewed

Definition at line 101 of file editor_summary.h.

◆ _start

samplepos_t EditorSummary::_start
private

start sample of the overview

Definition at line 97 of file editor_summary.h.

◆ _start_editor_x

std::pair<double, double> EditorSummary::_start_editor_x
private

Definition at line 107 of file editor_summary.h.

◆ _start_mouse_x

double EditorSummary::_start_mouse_x
private

Definition at line 108 of file editor_summary.h.

◆ _start_mouse_y

double EditorSummary::_start_mouse_y
private

Definition at line 109 of file editor_summary.h.

◆ _start_position

SummaryPosition EditorSummary::_start_position
private

Definition at line 111 of file editor_summary.h.

◆ _track_height

double EditorSummary::_track_height
private

Definition at line 104 of file editor_summary.h.

◆ _view_rectangle_x

std::pair<double, double> EditorSummary::_view_rectangle_x
private

Definition at line 125 of file editor_summary.h.

◆ _view_rectangle_y

std::pair<double, double> EditorSummary::_view_rectangle_y
private

Definition at line 126 of file editor_summary.h.

◆ _x_scale

double EditorSummary::_x_scale
private

pixels per sample for the x axis of the pixmap

Definition at line 103 of file editor_summary.h.

◆ _zoom_trim_dragging

bool EditorSummary::_zoom_trim_dragging
private

Definition at line 132 of file editor_summary.h.

◆ _zoom_trim_position

SummaryPosition EditorSummary::_zoom_trim_position
private

Definition at line 133 of file editor_summary.h.

◆ position_connection

PBD::ScopedConnectionList EditorSummary::position_connection
private

Definition at line 140 of file editor_summary.h.

◆ region_property_connection

PBD::ScopedConnectionList EditorSummary::region_property_connection
private

Definition at line 142 of file editor_summary.h.

◆ route_ctrl_id_connection

PBD::ScopedConnection EditorSummary::route_ctrl_id_connection
private

Definition at line 141 of file editor_summary.h.


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