Fix quantization and other time-related ops.
[ardour.git] / gtk2_ardour / route_time_axis.h
index 7a01ece03cc417e5cf24b925f56474031f2f5b10..03060c702f1ac77eb9b774693843ac7a25df5e81 100644 (file)
@@ -70,6 +70,7 @@ class AutomationLine;
 class ProcessorAutomationLine;
 class TimeSelection;
 class RouteGroupMenu;
+class ItemCounts;
 
 class RouteTimeAxisView : public RouteUI, public TimeAxisView
 {
@@ -99,11 +100,12 @@ public:
 
        /* Editing operations */
        void cut_copy_clear (Selection&, Editing::CutCopyOp);
-       bool paste (ARDOUR::framepos_t, float times, Selection&, size_t nth);
+       bool paste (ARDOUR::framepos_t, unsigned paste_count, float times, const Selection&, ItemCounts&);
        RegionView* combine_regions ();
        void uncombine_regions ();
        void uncombine_region (RegionView*);
        void toggle_automation_track (const Evoral::Parameter& param);
+       void fade_range (TimeSelection&);
 
        /* The editor calls these when mapping an operation across multiple tracks */
        void use_new_playlist (bool prompt, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
@@ -124,7 +126,7 @@ public:
        virtual void create_automation_child (const Evoral::Parameter& param, bool show) = 0;
 
        typedef std::map<Evoral::Parameter, boost::shared_ptr<AutomationTimeAxisView> > AutomationTracks;
-       AutomationTracks automation_tracks() { return _automation_tracks; }
+       const AutomationTracks& automation_tracks() const { return _automation_tracks; }
 
        boost::shared_ptr<AutomationTimeAxisView> automation_child(Evoral::Parameter param);
        virtual Gtk::CheckMenuItem* automation_child_menu_item (Evoral::Parameter);
@@ -207,12 +209,11 @@ protected:
        void route_property_changed (const PBD::PropertyChange&);
        void name_entry_changed ();
 
-       void update_rec_display ();
+       void blink_rec_display (bool onoff);
 
        virtual void label_view ();
 
        void reset_samples_per_pixel ();
-       void horizontal_position_changed ();
 
        virtual void build_automation_action_menu (bool);
        virtual void append_extra_display_menu_items () {}
@@ -238,11 +239,13 @@ protected:
        void color_handler ();
        void region_view_added (RegionView*);
        void create_gain_automation_child (const Evoral::Parameter &, bool);
+       void create_mute_automation_child (const Evoral::Parameter &, bool);
        void setup_processor_menu_and_curves ();
        void route_color_changed ();
         bool can_edit_name() const;
 
        boost::shared_ptr<AutomationTimeAxisView> gain_track;
+       boost::shared_ptr<AutomationTimeAxisView> mute_track;
 
        StreamView*           _view;
        ArdourCanvas::Canvas& parent_canvas;
@@ -253,6 +256,7 @@ protected:
        ArdourButton route_group_button;
        ArdourButton playlist_button;
        ArdourButton automation_button;
+       ArdourButton number_label;
 
        Gtk::Menu           subplugin_menu;
        Gtk::Menu*          automation_action_menu;
@@ -304,6 +308,8 @@ private:
 
        void remove_child (boost::shared_ptr<TimeAxisView>);
        void update_playlist_tip ();
+       void parameter_changed (std::string const & p);
+       void update_track_number_visibility();
 };
 
 #endif /* __ardour_route_time_axis_h__ */