X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fregion_view.h;h=a96862f08a304ad543942b2933cdbf961b8f72a1;hb=91e6c1b176d93f43bab6713574c590ea97801bdc;hp=02c08ae022b0e2a3e2e248de4f426f67d989b8e2;hpb=ba225736a40b869342eba68b2ed15d2d17aee94e;p=ardour.git diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h index 02c08ae022..a96862f08a 100644 --- a/gtk2_ardour/region_view.h +++ b/gtk2_ardour/region_view.h @@ -38,6 +38,10 @@ class GhostRegion; class AutomationTimeAxisView; class AutomationRegionView; +namespace Gnome { namespace Canvas { + class NoEventText; +} } + class RegionView : public TimeAxisViewItem { public: @@ -63,14 +67,14 @@ class RegionView : public TimeAxisViewItem 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 (); @@ -96,6 +100,22 @@ class RegionView : public TimeAxisViewItem 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 @@ -116,7 +136,7 @@ class RegionView : public TimeAxisViewItem 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 (); @@ -152,6 +172,16 @@ class RegionView : public TimeAxisViewItem */ std::list _coverage_frames; + /** a list of rectangles used to show silent segments + */ + std::list _silent_frames; + /** a list of rectangles used to show the current silence threshold + */ + std::list _silent_threshold_frames; + /** a text item to display strip silence statistics + */ + ArdourCanvas::NoEventText* _silence_text; + ARDOUR::BeatsFramesConverter _time_converter; };