ardour
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
RegionView Class Referenceabstract

#include <region_view.h>

Inheritance diagram for RegionView:
TimeAxisViewItem Selectable PBD::ScopedConnectionList AudioRegionView AutomationRegionView MidiRegionView TapeAudioRegionView

Classes

struct  PositionOrder
 

Public Member Functions

 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 ()
 
virtual void init (bool wait_for_data)
 
boost::shared_ptr< ARDOUR::Regionregion () const
 
bool is_valid () const
 
void set_valid (bool yn)
 
virtual void set_height (double)
 
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
 
virtual GhostRegionadd_ghost (TimeAxisView &)=0
 
void remove_ghost_in (TimeAxisView &)
 
void remove_ghost (GhostRegion *)
 
virtual void entered ()
 
virtual void exited ()
 
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 ()
 

Static Public Attributes

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
 

Protected Member Functions

 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_resized (const PBD::PropertyChange &)
 
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 reset_width_dependent_items (double pixel_width)
 
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 *)
 

Static Protected Member Functions

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

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
 

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
 

Detailed Description

Definition at line 49 of file region_view.h.

Constructor & Destructor Documentation

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 
)

Definition at line 67 of file region_view.cc.

RegionView::RegionView ( const RegionView other)

Definition at line 92 of file region_view.cc.

RegionView::RegionView ( const RegionView other,
boost::shared_ptr< ARDOUR::Region other_region 
)

Definition at line 107 of file region_view.cc.

RegionView::~RegionView ( )

Definition at line 199 of file region_view.cc.

RegionView::RegionView ( ArdourCanvas::Container *  parent,
TimeAxisView tv,
boost::shared_ptr< ARDOUR::Region r,
double  samples_per_pixel,
uint32_t  basic_color,
bool  recording,
TimeAxisViewItem::Visibility  visibility 
)
protected

Allows derived types to specify their visibility requirements to the TimeAxisViewItem parent class

Definition at line 126 of file region_view.cc.

Member Function Documentation

gint RegionView::_lock_toggle ( ArdourCanvas::Item *  ,
GdkEvent *  ev,
void *  arg 
)
staticprotected

Definition at line 348 of file region_view.cc.

virtual GhostRegion* RegionView::add_ghost ( TimeAxisView )
pure virtual
bool RegionView::canvas_group_event ( GdkEvent *  event)
protectedvirtual

Reimplemented from TimeAxisViewItem.

Definition at line 217 of file region_view.cc.

virtual void RegionView::color_handler ( )
inlineprotectedvirtual

Reimplemented in AudioRegionView, and MidiRegionView.

Definition at line 157 of file region_view.h.

void RegionView::drop_silent_frames ( )

Definition at line 336 of file region_view.cc.

virtual void RegionView::enable_display ( bool  yn)
inlinevirtual

Reimplemented in MidiRegionView.

Definition at line 97 of file region_view.h.

virtual void RegionView::entered ( )
inlinevirtual

Reimplemented in AudioRegionView, and AutomationRegionView.

Definition at line 94 of file region_view.h.

virtual void RegionView::exited ( )
inlinevirtual

Reimplemented in AudioRegionView, and AutomationRegionView.

Definition at line 95 of file region_view.h.

uint32_t RegionView::get_fill_color ( ) const
virtual

Reimplemented from TimeAxisViewItem.

Definition at line 532 of file region_view.cc.

void RegionView::hide_region_editor ( )

Definition at line 558 of file region_view.cc.

void RegionView::hide_silent_frames ( )

Definition at line 327 of file region_view.cc.

void RegionView::init ( bool  wait_for_data)
virtual

Reimplemented in MidiRegionView, AudioRegionView, AutomationRegionView, and TapeAudioRegionView.

Definition at line 149 of file region_view.cc.

bool RegionView::is_valid ( ) const
inline

Definition at line 68 of file region_view.h.

void RegionView::lock_toggle ( )
protected

Definition at line 362 of file region_view.cc.

void RegionView::lower_to_bottom ( )
virtual

Reimplemented from TimeAxisViewItem.

Definition at line 458 of file region_view.cc.

std::string RegionView::make_name ( ) const
protected

Definition at line 566 of file region_view.cc.

void RegionView::move ( double  xdelta,
double  ydelta 
)

Definition at line 677 of file region_view.cc.

void RegionView::move_contents ( ARDOUR::frameoffset_t  distance)

Definition at line 931 of file region_view.cc.

void RegionView::raise_to_top ( )
virtual

Reimplemented from TimeAxisViewItem.

Definition at line 452 of file region_view.cc.

boost::shared_ptr<ARDOUR::Region> RegionView::region ( ) const
inline

Definition at line 66 of file region_view.h.

void RegionView::region_changed ( const PBD::PropertyChange what_changed)
virtual

Reimplemented in AudioRegionView.

Definition at line 368 of file region_view.cc.

void RegionView::region_locked ( )
protected

Definition at line 398 of file region_view.cc.

void RegionView::region_muted ( )
protectedvirtual

Reimplemented in AudioRegionView.

Definition at line 439 of file region_view.cc.

void RegionView::region_opacity ( )
protected

Definition at line 446 of file region_view.cc.

void RegionView::region_renamed ( )
protectedvirtual

Reimplemented in AudioRegionView.

Definition at line 596 of file region_view.cc.

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

Reimplemented in MidiRegionView, AudioRegionView, and AutomationRegionView.

Definition at line 405 of file region_view.cc.

void RegionView::region_sync_changed ( )
protected

Definition at line 606 of file region_view.cc.

void RegionView::remove_ghost ( GhostRegion ghost)

Definition at line 715 of file region_view.cc.

void RegionView::remove_ghost_in ( TimeAxisView tv)

Definition at line 704 of file region_view.cc.

void RegionView::reset_width_dependent_items ( double  pixel_width)
protectedvirtual

Reimplemented from TimeAxisViewItem.

Reimplemented in MidiRegionView, AudioRegionView, and AutomationRegionView.

Definition at line 432 of file region_view.cc.

void RegionView::set_colors ( )
protectedvirtual

Convenience method to set the various canvas item colors

Reimplemented from TimeAxisViewItem.

Reimplemented in AudioRegionView.

Definition at line 514 of file region_view.cc.

bool RegionView::set_duration ( framecnt_t  ,
void *   
)
virtual

Set the duration of this item.

Parameters
durthe new duration of this item
srcthe identity of the object that initiated the change
Returns
true on success

Reimplemented from TimeAxisViewItem.

Definition at line 500 of file region_view.cc.

void RegionView::set_height ( double  height)
virtual

Set the height of this item.

Parameters
hnew height

Reimplemented from TimeAxisViewItem.

Reimplemented in MidiRegionView, AudioRegionView, and AutomationRegionView.

Definition at line 730 of file region_view.cc.

bool RegionView::set_position ( framepos_t  pos,
void *  src,
double *  delta = 0 
)
virtual

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 464 of file region_view.cc.

void RegionView::set_samples_per_pixel ( double  fpp)
virtual

Set the frames per pixel of this item. This item is used to determine the relative visual size and position of this item based upon its duration and start value.

Parameters
fppthe new frames per pixel

Reimplemented from TimeAxisViewItem.

Reimplemented in AudioRegionView.

Definition at line 487 of file region_view.cc.

void RegionView::set_silent_frames ( const ARDOUR::AudioIntervalResult silences,
double  threshold 
)

Definition at line 226 of file region_view.cc.

void RegionView::set_sync_mark_color ( )
protectedvirtual

Definition at line 521 of file region_view.cc.

void RegionView::set_valid ( bool  yn)
inline

Definition at line 70 of file region_view.h.

void RegionView::show_region_editor ( )
virtual

Reimplemented in AudioRegionView.

Definition at line 547 of file region_view.cc.

frameoffset_t RegionView::snap_frame_to_frame ( ARDOUR::frameoffset_t  x) const

Snap a frame offset within our region using the current snap settings.

Parameters
xFrame offset from this region's position.
Returns
Snapped frame offset from this region's position.

Definition at line 945 of file region_view.cc.

void RegionView::thaw_after_trim ( )
virtual

Reimplemented in AudioRegionView.

Definition at line 920 of file region_view.cc.

bool RegionView::trim_end ( framepos_t  new_bound,
bool  no_overlap 
)

Definition at line 880 of file region_view.cc.

bool RegionView::trim_front ( framepos_t  new_bound,
bool  no_overlap 
)

Definition at line 844 of file region_view.cc.

virtual void RegionView::trim_front_ending ( )
inlinevirtual

Called when a start trim has finished

Reimplemented in MidiRegionView.

Definition at line 108 of file region_view.h.

virtual void RegionView::trim_front_starting ( )
inlinevirtual

Called when a front trim is about to begin

Reimplemented in MidiRegionView.

Definition at line 103 of file region_view.h.

void RegionView::update_coverage_frames ( LayerDisplay  d)
virtual

Remove old coverage frames and make new ones, if we're in a LayerDisplay mode which uses them.

Reimplemented in AudioRegionView.

Definition at line 760 of file region_view.cc.

Member Data Documentation

std::list<ArdourCanvas::Rectangle*> RegionView::_coverage_frames
protected

a list of rectangles which are used in stacked display mode to colour different bits of regions according to whether or not they are the one that will be played at any given time.

Definition at line 182 of file region_view.h.

bool RegionView::_enable_display
protected

see StreamView::redisplay_diskstream()

Definition at line 170 of file region_view.h.

double RegionView::_pixel_width
protected

Definition at line 171 of file region_view.h.

boost::shared_ptr<ARDOUR::Region> RegionView::_region
protected

Definition at line 159 of file region_view.h.

ArdourCanvas::Text* RegionView::_silence_text
protected

a text item to display strip silence statistics

Definition at line 192 of file region_view.h.

std::list<ArdourCanvas::Rectangle*> RegionView::_silent_frames
protected

a list of rectangles used to show silent segments

Definition at line 186 of file region_view.h.

std::list<ArdourCanvas::Rectangle*> RegionView::_silent_threshold_frames
protected

a list of rectangles used to show the current silence threshold

Definition at line 189 of file region_view.h.

std::vector<ControlPoint *> RegionView::control_points
protected

Definition at line 166 of file region_view.h.

double RegionView::current_visible_sync_position
protected

Definition at line 167 of file region_view.h.

RegionEditor* RegionView::editor
protected

Definition at line 164 of file region_view.h.

std::vector<GhostRegion*> RegionView::ghosts
protected

Definition at line 176 of file region_view.h.

bool RegionView::in_destructor
protected

Definition at line 172 of file region_view.h.

PBD::Signal1< void, RegionView * > RegionView::RegionViewGoingAway
static

Definition at line 100 of file region_view.h.

ArdourCanvas::Line* RegionView::sync_line
protected

polgyon for sync position

Definition at line 162 of file region_view.h.

ArdourCanvas::Polygon* RegionView::sync_mark
protected

polgyon for sync position

Definition at line 161 of file region_view.h.

bool RegionView::valid
protected

see StreamView::redisplay_diskstream()

Definition at line 169 of file region_view.h.

bool RegionView::wait_for_data
protected

Definition at line 174 of file region_view.h.


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