class AutomationTimeAxisView;
class AutomationRegionView;
+namespace Gnome { namespace Canvas {
+ class NoEventText;
+} }
+
class RegionView : public TimeAxisViewItem
{
public:
virtual void set_height (double);
virtual void set_samples_per_unit (double);
- virtual bool set_duration (nframes64_t, void*);
+ virtual bool set_duration (framecnt_t, void*);
void move (double xdelta, double ydelta);
void raise_to_top ();
void lower_to_bottom ();
- bool set_position(nframes64_t pos, void* src, double* delta = 0);
+ bool set_position(framepos_t pos, void* src, double* delta = 0);
void fake_set_opaque (bool yn);
virtual void show_region_editor ();
return _time_converter;
}
+ /** Called when a front trim is about to begin */
+ virtual void trim_front_starting () {}
+
+ void trim_front (framepos_t, bool);
+
+ /** Called when a start trim has finished */
+ virtual void trim_front_ending () {}
+
+ void trim_end (framepos_t, bool);
+ void trim_contents (framepos_t, bool, bool);
+ virtual void thaw_after_trim ();
+
+ void set_silent_frames (const ARDOUR::AudioIntervalResult&, double threshold);
+ void drop_silent_frames ();
+ void hide_silent_frames ();
+
protected:
/** Allows derived types to specify their visibility requirements
virtual void region_renamed ();
void region_sync_changed ();
- Glib::ustring make_name () const;
+ std::string make_name () const;
static gint _lock_toggle (ArdourCanvas::Item*, GdkEvent*, void*);
void lock_toggle ();
*/
std::list<ArdourCanvas::SimpleRect*> _coverage_frames;
+ /** a list of rectangles used to show silent segments
+ */
+ std::list<ArdourCanvas::SimpleRect*> _silent_frames;
+ /** a list of rectangles used to show the current silence threshold
+ */
+ std::list<ArdourCanvas::SimpleRect*> _silent_threshold_frames;
+ /** a text item to display strip silence statistics
+ */
+ ArdourCanvas::NoEventText* _silence_text;
+
ARDOUR::BeatsFramesConverter _time_converter;
};