fixup previous commit for OS X
[ardour.git] / gtk2_ardour / editor.h
index 89ee98d29c718b0f3351fb874806071f29d36122..1953bb27ea57a61ad207cbaecb4d308eab003d19 100644 (file)
@@ -83,7 +83,6 @@ namespace ARDOUR {
        class NamedSelection;
        class Session;
        class Filter;
-       class Crossfade;
        class ChanCount;
        class MidiOperator;
        class Track;
@@ -106,7 +105,6 @@ class AutomationTimeAxisView;
 class BundleManager;
 class ButtonJoiner;
 class ControlPoint;
-class CrossfadeView;
 class DragManager;
 class GroupedButtons;
 class GUIObjectState;
@@ -370,12 +368,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void toggle_measure_visibility ();
        void toggle_logo_visibility ();
 
-       /* fades/xfades */
+       /* fades */
 
        void toggle_region_fades (int dir);
        void update_region_fade_visibility ();
-       bool xfade_visibility() const { return _xfade_visibility; }
-       void update_xfade_visibility ();
 
        /* redirect shared ops menu. caller must free returned menu */
 
@@ -632,16 +628,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        RegionView*        clicked_regionview;
        RegionSelection    latest_regionviews;
        uint32_t           clicked_selection;
-       CrossfadeView*     clicked_crossfadeview;
        ControlPoint*      clicked_control_point;
 
        void sort_track_selection (TrackViewList&);
 
        void get_equivalent_regions (RegionView* rv, std::vector<RegionView*> &, PBD::PropertyID) const;
        RegionSelection get_equivalent_regions (RegionSelection &, PBD::PropertyID) const;
-       std::vector<boost::shared_ptr<ARDOUR::Crossfade> > get_equivalent_crossfades (
-               RouteTimeAxisView&, boost::shared_ptr<ARDOUR::Crossfade>, PBD::PropertyID
-               ) const;
        void mapover_tracks (sigc::slot<void,RouteTimeAxisView&,uint32_t> sl, TimeAxisView*, PBD::PropertyID) const;
        void mapover_tracks_with_unique_playlists (sigc::slot<void,RouteTimeAxisView&,uint32_t> sl, TimeAxisView*, PBD::PropertyID) const;
 
@@ -650,9 +642,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void mapped_use_new_playlist (RouteTimeAxisView&, uint32_t, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
        void mapped_use_copy_playlist (RouteTimeAxisView&, uint32_t, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
        void mapped_clear_playlist (RouteTimeAxisView&, uint32_t);
-       void mapped_get_equivalent_crossfades (
-               RouteTimeAxisView&, uint32_t, boost::shared_ptr<ARDOUR::Crossfade>, std::vector<boost::shared_ptr<ARDOUR::Crossfade> >*
-               ) const;
        
        void button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type);
        bool button_release_can_deselect;
@@ -663,7 +652,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void select_all_tracks ();
        void select_all_internal_edit (Selection::Operation);
 
-       bool set_selected_control_point_from_click (Selection::Operation op = Selection::Set, bool no_remove=false);
+       bool set_selected_control_point_from_click (bool press, Selection::Operation op = Selection::Set);
        void set_selected_track_from_click (bool press, Selection::Operation op = Selection::Set, bool no_remove=false);
        void set_selected_track_as_side_effect (Selection::Operation op);
        bool set_selected_regionview_from_click (bool press, Selection::Operation op = Selection::Set);
@@ -675,7 +664,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Menu track_context_menu;
        Gtk::Menu track_region_context_menu;
        Gtk::Menu track_selection_context_menu;
-       Gtk::Menu track_crossfade_context_menu;
 
        Gtk::MenuItem* region_edit_menu_split_item;
        Gtk::MenuItem* region_edit_menu_split_multichannel_item;
@@ -689,12 +677,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Menu* build_track_context_menu ();
        Gtk::Menu* build_track_bus_context_menu ();
        Gtk::Menu* build_track_region_context_menu ();
-       Gtk::Menu* build_track_crossfade_context_menu ();
        Gtk::Menu* build_track_selection_context_menu ();
        void add_dstream_context_items (Gtk::Menu_Helpers::MenuList&);
        void add_bus_context_items (Gtk::Menu_Helpers::MenuList&);
        void add_region_context_items (Gtk::Menu_Helpers::MenuList&, boost::shared_ptr<ARDOUR::Track>);
-       void add_crossfade_context_items (AudioStreamView*, boost::shared_ptr<ARDOUR::Crossfade>, Gtk::Menu_Helpers::MenuList&, bool many);
        void add_selection_context_items (Gtk::Menu_Helpers::MenuList&);
        Gtk::MenuItem* _popup_region_menu_item;
 
@@ -992,6 +978,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void control_vertical_zoom_out_all ();
        void control_vertical_zoom_in_selected ();
        void control_vertical_zoom_out_selected ();
+       void control_step_tracks_up ();
+       void control_step_tracks_down ();
        void control_view (uint32_t);
        void control_scroll (float);
        void control_select (uint32_t rid, Selection::Operation);
@@ -1349,6 +1337,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Menu fade_context_menu;
        void popup_fade_context_menu (int, int, ArdourCanvas::Item*, ItemType);
 
+       Gtk::Menu xfade_in_context_menu;
+       Gtk::Menu xfade_out_context_menu;
+       void popup_xfade_in_context_menu (int, int, ArdourCanvas::Item*, ItemType);
+       void popup_xfade_out_context_menu (int, int, ArdourCanvas::Item*, ItemType);
+       void fill_xfade_menu (Gtk::Menu_Helpers::MenuList& items, bool start);
+
        void set_fade_in_shape (ARDOUR::FadeShape);
        void set_fade_out_shape (ARDOUR::FadeShape);
 
@@ -1386,7 +1380,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        bool canvas_selection_rect_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*);
        bool canvas_selection_start_trim_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*);
        bool canvas_selection_end_trim_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*);
-       bool canvas_crossfade_view_event (GdkEvent* event,ArdourCanvas::Item*, CrossfadeView*);
+       bool canvas_start_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
+       bool canvas_end_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
        bool canvas_fade_in_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
        bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
        bool canvas_fade_out_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
@@ -1864,10 +1859,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void nudge_track (bool use_edit_point, bool forwards);
 
-       /* xfades */
-
-       bool _xfade_visibility;
-
 #ifdef WITH_CMT
        void handle_new_imageframe_time_axis_view(const std::string & track_name, void* src) ;
        void handle_new_imageframe_marker_time_axis_view(const std::string & track_name, TimeAxisView* marked_track) ;
@@ -1909,12 +1900,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ImageFrameSocketHandler* image_socket_listener ;
 #endif
 
-       void toggle_xfade_active (RouteTimeAxisView *, boost::weak_ptr<ARDOUR::Crossfade>);
-       void toggle_xfade_length (RouteTimeAxisView *, boost::weak_ptr<ARDOUR::Crossfade>);
-       void edit_xfade (boost::weak_ptr<ARDOUR::Crossfade>);
-       void xfade_edit_left_region ();
-       void xfade_edit_right_region ();
-
        static const int32_t default_width = 995;
        static const int32_t default_height = 765;
 
@@ -1966,8 +1951,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        gint left_automation_track ();
 
        void reset_canvas_action_sensitivity (bool);
-       void set_gain_envelope_visibility (bool);
-       void set_region_gain_visibility (RegionView*, bool);
+       void set_gain_envelope_visibility ();
+       void set_region_gain_visibility (RegionView*);
        void toggle_gain_envelope_active ();
        void reset_region_gain_envelopes ();
 
@@ -2080,6 +2065,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void setup_fade_images ();
        std::map<ARDOUR::FadeShape, Gtk::Image*> _fade_in_images;
        std::map<ARDOUR::FadeShape, Gtk::Image*> _fade_out_images;
+       std::map<ARDOUR::FadeShape, Gtk::Image*> _xfade_in_images;
+       std::map<ARDOUR::FadeShape, Gtk::Image*> _xfade_out_images;
 
        Gtk::MenuItem& action_menu_item (std::string const &);
        void action_pre_activated (Glib::RefPtr<Gtk::Action> const &);