run bundle fixup code for all platforms
[ardour.git] / gtk2_ardour / region_view.h
index 02c08ae022b0e2a3e2e248de4f426f67d989b8e2..a96862f08a304ad543942b2933cdbf961b8f72a1 100644 (file)
@@ -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<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;
 };