ardour
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
AutomationRegionView Class Reference

#include <automation_region_view.h>

Inheritance diagram for AutomationRegionView:
RegionView TimeAxisViewItem Selectable PBD::ScopedConnectionList

Public Member Functions

 AutomationRegionView (ArdourCanvas::Container *, AutomationTimeAxisView &, boost::shared_ptr< ARDOUR::Region >, const Evoral::Parameter &parameter, boost::shared_ptr< ARDOUR::AutomationList >, double initial_samples_per_pixel, uint32_t basic_color)
 
 ~AutomationRegionView ()
 
void init (bool wfd)
 
bool paste (framepos_t pos, unsigned paste_count, float times, boost::shared_ptr< const ARDOUR::AutomationList > slist)
 
ARDOUR::DoubleBeatsFramesConverter
const & 
region_relative_time_converter () const
 
ARDOUR::DoubleBeatsFramesConverter
const & 
source_relative_time_converter () const
 
AutomationTimeAxisViewautomation_view () const
 
boost::shared_ptr< AutomationLineline ()
 
virtual GhostRegionadd_ghost (TimeAxisView &)
 
uint32_t get_fill_color () const
 
void set_height (double)
 
void reset_width_dependent_items (double pixel_width)
 
- Public Member Functions inherited from RegionView
 RegionView (ArdourCanvas::Container *parent, TimeAxisView &time_view, boost::shared_ptr< ARDOUR::Region > region, double samples_per_pixel, uint32_t base_color, bool automation=false)
 
 RegionView (const RegionView &other)
 
 RegionView (const RegionView &other, boost::shared_ptr< ARDOUR::Region > other_region)
 
 ~RegionView ()
 
boost::shared_ptr< ARDOUR::Regionregion () const
 
bool is_valid () const
 
void set_valid (bool yn)
 
virtual void set_samples_per_pixel (double)
 
virtual bool set_duration (framecnt_t, void *)
 
void move (double xdelta, double ydelta)
 
void raise_to_top ()
 
void lower_to_bottom ()
 
bool set_position (framepos_t pos, void *src, double *delta=0)
 
virtual void show_region_editor ()
 
void hide_region_editor ()
 
virtual void region_changed (const PBD::PropertyChange &)
 
uint32_t get_fill_color () const
 
void remove_ghost_in (TimeAxisView &)
 
void remove_ghost (GhostRegion *)
 
virtual void enable_display (bool yn)
 
virtual void update_coverage_frames (LayerDisplay)
 
virtual void trim_front_starting ()
 
bool trim_front (framepos_t, bool)
 
virtual void trim_front_ending ()
 
bool trim_end (framepos_t, bool)
 
void move_contents (ARDOUR::frameoffset_t)
 
virtual void thaw_after_trim ()
 
void set_silent_frames (const ARDOUR::AudioIntervalResult &, double threshold)
 
void drop_silent_frames ()
 
void hide_silent_frames ()
 
ARDOUR::frameoffset_t snap_frame_to_frame (ARDOUR::frameoffset_t) const
 
- Public Member Functions inherited from TimeAxisViewItem
virtual ~TimeAxisViewItem ()
 
framepos_t get_position () const
 
framecnt_t get_duration () const
 
virtual void set_max_duration (framecnt_t, void *)
 
framecnt_t get_max_duration () const
 
virtual void set_min_duration (framecnt_t, void *)
 
framecnt_t get_min_duration () const
 
virtual void set_position_locked (bool, void *)
 
bool get_position_locked () const
 
void set_max_duration_active (bool, void *)
 
bool get_max_duration_active () const
 
void set_min_duration_active (bool, void *)
 
bool get_min_duration_active () const
 
void set_item_name (std::string, void *)
 
virtual std::string get_item_name () const
 
virtual void set_selected (bool yn)
 
void set_sensitive (bool yn)
 
bool sensitive () const
 
TimeAxisViewget_time_axis_view () const
 
void set_name_text (const std::string &)
 
virtual double height () const
 
void set_y (double)
 
void set_color (uint32_t)
 
void set_name_text_color ()
 
ArdourCanvas::Item * get_canvas_frame ()
 
ArdourCanvas::Item * get_canvas_group ()
 
ArdourCanvas::Item * get_name_highlight ()
 
double get_samples_per_pixel () const
 
virtual void drag_start ()
 
virtual void drag_end ()
 
bool dragging () const
 
virtual void raise ()
 
virtual void lower ()
 
bool name_active () const
 
- Public Member Functions inherited from Selectable
 Selectable ()
 
virtual ~Selectable ()
 
bool get_selected () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Protected Member Functions

void create_line (boost::shared_ptr< ARDOUR::AutomationList > list)
 
bool set_position (framepos_t pos, void *src, double *ignored)
 
void region_resized (const PBD::PropertyChange &)
 
bool canvas_group_event (GdkEvent *ev)
 
void add_automation_event (GdkEvent *event, framepos_t when, double y, bool with_guard_points)
 
void mouse_mode_changed ()
 
void entered ()
 
void exited ()
 
- Protected Member Functions inherited from RegionView
 RegionView (ArdourCanvas::Container *, TimeAxisView &, boost::shared_ptr< ARDOUR::Region >, double samples_per_pixel, uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility)
 
bool canvas_group_event (GdkEvent *)
 
virtual void region_muted ()
 
void region_locked ()
 
void region_opacity ()
 
virtual void region_renamed ()
 
void region_sync_changed ()
 
std::string make_name () const
 
void lock_toggle ()
 
virtual void set_colors ()
 
virtual void set_sync_mark_color ()
 
virtual void color_handler ()
 
- Protected Member Functions inherited from TimeAxisViewItem
 TimeAxisViewItem (const std::string &, ArdourCanvas::Item &, TimeAxisView &, double, uint32_t fill_color, framepos_t, framecnt_t, bool recording=false, bool automation=false, Visibility v=Visibility(0))
 
 TimeAxisViewItem (const TimeAxisViewItem &)
 
void init (ArdourCanvas::Item *, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool)
 
virtual void set_frame_color ()
 
virtual void set_frame_gradient ()
 
void set_trim_handle_colors ()
 
bool frame_handle_crossing (GdkEvent *, ArdourCanvas::Rectangle *)
 

Private Attributes

ARDOUR::DoubleBeatsFramesConverter _region_relative_time_converter
 
ARDOUR::DoubleBeatsFramesConverter _source_relative_time_converter
 
Evoral::Parameter _parameter
 
boost::shared_ptr< AutomationLine_line
 
PBD::ScopedConnection _mouse_mode_connection
 

Additional Inherited Members

- Public Types inherited from TimeAxisViewItem
enum  Visibility {
  ShowFrame = 0x1, ShowNameHighlight = 0x2, ShowNameText = 0x4, ShowHandles = 0x8,
  HideFrameLeft = 0x10, HideFrameRight = 0x20, HideFrameTB = 0x40, FullWidthNameHighlight = 0x80
}
 
- Static Public Member Functions inherited from TimeAxisViewItem
static void set_constant_heights ()
 
- Public Attributes inherited from TimeAxisViewItem
sigc::signal< void,
std::string, void * > 
ItemRemoved
 
sigc::signal< void,
std::string, std::string, void * > 
NameChanged
 
sigc::signal< void, framepos_t,
void * > 
PositionChanged
 
sigc::signal< void, bool, void * > PositionLockChanged
 
sigc::signal< void, framecnt_t,
void * > 
DurationChanged
 
sigc::signal< void, framecnt_t,
void * > 
MaxDurationChanged
 
sigc::signal< void, framecnt_t,
void * > 
MinDurationChanged
 
- Static Public Attributes inherited from RegionView
static PBD::Signal1< void,
RegionView * > 
RegionViewGoingAway
 
- Static Public Attributes inherited from TimeAxisViewItem
static Pango::FontDescription NAME_FONT
 
static const double NAME_X_OFFSET = 15.0
 
static const double GRAB_HANDLE_TOP = 0.0
 
static const double GRAB_HANDLE_WIDTH = 10.0
 
static int NAME_HEIGHT
 
static double NAME_Y_OFFSET
 
static double NAME_HIGHLIGHT_SIZE
 
static double NAME_HIGHLIGHT_THRESH
 
- Static Protected Member Functions inherited from RegionView
static gint _lock_toggle (ArdourCanvas::Item *, GdkEvent *, void *)
 
- Static Protected Member Functions inherited from TimeAxisViewItem
static gint idle_remove_this_item (TimeAxisViewItem *, void *)
 
- Protected Attributes inherited from RegionView
boost::shared_ptr< ARDOUR::Region_region
 
ArdourCanvas::Polygon * sync_mark
 polgyon for sync position More...
 
ArdourCanvas::Line * sync_line
 polgyon for sync position More...
 
RegionEditoreditor
 
std::vector< ControlPoint * > control_points
 
double current_visible_sync_position
 
bool valid
 see StreamView::redisplay_diskstream() More...
 
bool _enable_display
 see StreamView::redisplay_diskstream() More...
 
double _pixel_width
 
bool in_destructor
 
bool wait_for_data
 
std::vector< GhostRegion * > ghosts
 
std::list
< ArdourCanvas::Rectangle * > 
_coverage_frames
 
std::list
< ArdourCanvas::Rectangle * > 
_silent_frames
 
std::list
< ArdourCanvas::Rectangle * > 
_silent_threshold_frames
 
ArdourCanvas::Text * _silence_text
 
- Protected Attributes inherited from TimeAxisViewItem
TimeAxisViewtrackview
 
bool position_locked
 
framepos_t frame_position
 
framecnt_t item_duration
 
framecnt_t max_item_duration
 
framecnt_t min_item_duration
 
bool max_duration_active
 
bool min_duration_active
 
double samples_per_pixel
 
bool _sensitive
 
std::string item_name
 
bool name_connected
 
bool show_vestigial
 
uint32_t fill_color
 
uint32_t last_item_width
 
int name_text_width
 
bool wide_enough_for_name
 
bool high_enough_for_name
 
ArdourCanvas::Container * group
 
ArdourCanvas::Rectangle * vestigial_frame
 
ArdourCanvas::Rectangle * frame
 
ArdourCanvas::Rectangle * selection_frame
 
ArdourCanvas::Text * name_text
 
ArdourCanvas::Rectangle * name_highlight
 
ArdourCanvas::Rectangle * frame_handle_start
 `frame' (fade) handle for the start of the item, or 0 More...
 
ArdourCanvas::Rectangle * frame_handle_end
 `frame' (fade) handle for the end of the item, or 0 More...
 
double _height
 
Visibility visibility
 
std::string fill_color_name
 
bool _recregion
 
bool _automation
 true if this is an automation region view More...
 
bool _dragging
 
- Protected Attributes inherited from Selectable
bool _selected
 

Detailed Description

Definition at line 37 of file automation_region_view.h.

Constructor & Destructor Documentation

AutomationRegionView::AutomationRegionView ( ArdourCanvas::Container *  parent,
AutomationTimeAxisView time_axis,
boost::shared_ptr< ARDOUR::Region region,
const Evoral::Parameter parameter,
boost::shared_ptr< ARDOUR::AutomationList list,
double  initial_samples_per_pixel,
uint32_t  basic_color 
)

Definition at line 43 of file automation_region_view.cc.

AutomationRegionView::~AutomationRegionView ( )

Definition at line 67 of file automation_region_view.cc.

Member Function Documentation

void AutomationRegionView::add_automation_event ( GdkEvent *  event,
framepos_t  when,
double  y,
bool  with_guard_points 
)
protected
Parameters
whenPosition in frames, where 0 is the start of the region.
yy position, relative to our TimeAxisView.

Definition at line 163 of file automation_region_view.cc.

virtual GhostRegion* AutomationRegionView::add_ghost ( TimeAxisView )
inlinevirtual

Implements RegionView.

Definition at line 71 of file automation_region_view.h.

AutomationTimeAxisView* AutomationRegionView::automation_view ( ) const
inline

Definition at line 65 of file automation_region_view.h.

bool AutomationRegionView::canvas_group_event ( GdkEvent *  ev)
protectedvirtual

Reimplemented from TimeAxisViewItem.

Definition at line 127 of file automation_region_view.cc.

void AutomationRegionView::create_line ( boost::shared_ptr< ARDOUR::AutomationList list)
protected

Definition at line 90 of file automation_region_view.cc.

void AutomationRegionView::entered ( )
protectedvirtual

Reimplemented from RegionView.

Definition at line 293 of file automation_region_view.cc.

void AutomationRegionView::exited ( )
protectedvirtual

Reimplemented from RegionView.

Definition at line 302 of file automation_region_view.cc.

uint32_t AutomationRegionView::get_fill_color ( ) const
virtual

Reimplemented from TimeAxisViewItem.

Definition at line 106 of file automation_region_view.cc.

void AutomationRegionView::init ( bool  wfd)
virtual

Reimplemented from RegionView.

Definition at line 73 of file automation_region_view.cc.

boost::shared_ptr<AutomationLine> AutomationRegionView::line ( )
inline

Definition at line 68 of file automation_region_view.h.

void AutomationRegionView::mouse_mode_changed ( )
protected

Definition at line 120 of file automation_region_view.cc.

bool AutomationRegionView::paste ( framepos_t  pos,
unsigned  paste_count,
float  times,
boost::shared_ptr< const ARDOUR::AutomationList slist 
)

Definition at line 204 of file automation_region_view.cc.

ARDOUR::DoubleBeatsFramesConverter const& AutomationRegionView::region_relative_time_converter ( ) const
inline

Definition at line 57 of file automation_region_view.h.

void AutomationRegionView::region_resized ( const PBD::PropertyChange what_changed)
protectedvirtual

Reimplemented from RegionView.

Definition at line 265 of file automation_region_view.cc.

void AutomationRegionView::reset_width_dependent_items ( double  pixel_width)
virtual

Reimplemented from RegionView.

Definition at line 254 of file automation_region_view.cc.

void AutomationRegionView::set_height ( double  height)
virtual

Set the height of this item.

Parameters
hnew height

Reimplemented from RegionView.

Definition at line 233 of file automation_region_view.cc.

bool AutomationRegionView::set_position ( framepos_t  pos,
void *  src,
double *  delta 
)
protectedvirtual

Set the position of this item on the timeline.

Parameters
posthe new position
srcthe identity of the object that initiated the change
Returns
true on success

Reimplemented from TimeAxisViewItem.

Definition at line 243 of file automation_region_view.cc.

ARDOUR::DoubleBeatsFramesConverter const& AutomationRegionView::source_relative_time_converter ( ) const
inline

Definition at line 61 of file automation_region_view.h.

Member Data Documentation

boost::shared_ptr<AutomationLine> AutomationRegionView::_line
private

Definition at line 92 of file automation_region_view.h.

PBD::ScopedConnection AutomationRegionView::_mouse_mode_connection
private

Definition at line 93 of file automation_region_view.h.

Evoral::Parameter AutomationRegionView::_parameter
private

Definition at line 91 of file automation_region_view.h.

ARDOUR::DoubleBeatsFramesConverter AutomationRegionView::_region_relative_time_converter
private

Definition at line 89 of file automation_region_view.h.

ARDOUR::DoubleBeatsFramesConverter AutomationRegionView::_source_relative_time_converter
private

Definition at line 90 of file automation_region_view.h.


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