Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstre...
[ardour.git] / gtk2_ardour / route_time_axis.h
index c210a55cf352c2aea1487ae8e2476ac3cc9a7728..e24de4126f06f2ca09e98cfab24d5d82c074dc9e 100644 (file)
@@ -48,7 +48,6 @@
 namespace ARDOUR {
        class Session;
        class Region;
-       class Diskstream;
        class RouteGroup;
        class IOProcessor;
        class Processor;
@@ -99,6 +98,8 @@ public:
 
        TimeAxisView::Children get_child_list();
 
+       void toggle_automation_track (const Evoral::Parameter& param);
+
        /* 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 &);
        void use_copy_playlist (bool prompt, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
@@ -148,7 +149,7 @@ public:
        void reset_meter ();
        void clear_meter ();
        void io_changed (ARDOUR::IOChange, void *);
-       void meter_changed (void *);
+       void meter_changed ();
        void effective_gain_display () { gm.effective_gain_display(); }
 
        static void setup_slider_pix ();
@@ -181,7 +182,6 @@ protected:
        };
 
 
-       void diskstream_changed ();
        void update_diskstream_display ();
 
        gint edit_click  (GdkEventButton *);
@@ -198,7 +198,7 @@ protected:
                                               boost::shared_ptr<ARDOUR::Processor>);
 
        void automation_track_hidden (Evoral::Parameter param);
-
+       
        RouteAutomationNode* automation_track(Evoral::Parameter param);
        RouteAutomationNode* automation_track(ARDOUR::AutomationType type);
 
@@ -216,7 +216,7 @@ protected:
        void reset_processor_automation_curves ();
 
        void take_name_changed (void *src);
-       void route_name_changed ();
+       void route_property_changed (const PBD::PropertyChange&);
        void name_entry_changed ();
 
        void update_rec_display ();
@@ -243,7 +243,6 @@ protected:
        void rename_current_playlist ();
 
        void         automation_click ();
-       void         toggle_automation_track (Evoral::Parameter param);
        virtual void show_all_automation ();
        virtual void show_existing_automation ();
        virtual void hide_all_automation ();
@@ -277,6 +276,7 @@ protected:
 
        Gtk::Menu           subplugin_menu;
        Gtk::Menu*          automation_action_menu;
+       Gtk::MenuItem*      plugins_submenu_item;
        RouteGroupMenu*     route_group_menu;
        Gtk::RadioMenuItem* align_existing_item;
        Gtk::RadioMenuItem* align_capture_item;
@@ -289,10 +289,9 @@ protected:
        Gtk::Menu*          mode_menu;
        Gtk::Menu*          color_mode_menu;
 
-       virtual Gtk::Menu* build_mode_menu() { return 0; }
        virtual Gtk::Menu* build_color_mode_menu() { return 0; }
 
-       void use_playlist (boost::weak_ptr<ARDOUR::Playlist>);
+       void use_playlist (Gtk::RadioMenuItem *item, boost::weak_ptr<ARDOUR::Playlist> wpl);
 
        ArdourCanvas::SimpleRect* timestretch_rect;
 
@@ -323,6 +322,8 @@ protected:
        UnderlayList _underlay_streams;
        typedef std::list<RouteTimeAxisView*> UnderlayMirrorList;
        UnderlayMirrorList _underlay_mirrors;
+
+       bool _ignore_track_mode_change; ///< true to ignore track mode change signals
 };
 
 #endif /* __ardour_route_time_axis_h__ */