Add operator<< for bundles.
[ardour.git] / gtk2_ardour / region_view.h
index c65b81bc7bc822c18a5912600a93787888d0123f..a96862f08a304ad543942b2933cdbf961b8f72a1 100644 (file)
@@ -38,6 +38,10 @@ class GhostRegion;
 class AutomationTimeAxisView;
 class AutomationRegionView;
 
+namespace Gnome { namespace Canvas {
+       class NoEventText;
+} }
+
 class RegionView : public TimeAxisViewItem
 {
   public:
@@ -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
@@ -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;
 };