X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Faudio_time_axis.h;h=8a5b6ab0ac297bbb8d680c943c9802ecdb3ec536;hb=25eb9f406960aa8e36ccd90e2cd4397f372bd0fa;hp=2162771285c32f915c2a45baedcaa2cfdd9884a1;hpb=6f4a92f740b2fd75794489ce58f9348f8adf6bf4;p=ardour.git diff --git a/gtk2_ardour/audio_time_axis.h b/gtk2_ardour/audio_time_axis.h index 2162771285..8a5b6ab0ac 100644 --- a/gtk2_ardour/audio_time_axis.h +++ b/gtk2_ardour/audio_time_axis.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2006 Paul Davis + Copyright (C) 2000-2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #ifndef __ardour_audio_time_axis_h__ @@ -32,21 +31,20 @@ #include #include -#include +#include "ardour/types.h" #include "ardour_dialog.h" #include "route_ui.h" #include "enums.h" +#include "editing.h" #include "route_time_axis.h" #include "canvas.h" -#include "color.h" namespace ARDOUR { class Session; - class AudioDiskstream; class RouteGroup; - class Redirect; - class Insert; + class IOProcessor; + class Processor; class Location; class AudioPlaylist; } @@ -67,65 +65,51 @@ class AutomationTimeAxisView; class AudioTimeAxisView : public RouteTimeAxisView { public: - AudioTimeAxisView (PublicEditor&, ARDOUR::Session&, boost::shared_ptr, ArdourCanvas::Canvas& canvas); + AudioTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas); virtual ~AudioTimeAxisView (); - + + void set_route (boost::shared_ptr); + AudioStreamView* audio_view(); - void set_show_waveforms (bool yn); void set_show_waveforms_recording (bool yn); - void show_all_xfades (); - void hide_all_xfades (); - void hide_dependent_views (TimeAxisViewItem&); - void reveal_dependent_views (TimeAxisViewItem&); - + /* Overridden from parent to store display state */ guint32 show_at (double y, int& nth, Gtk::VBox *parent); - void hide (); - - void set_state (const XMLNode&); - XMLNode* get_child_xml_node (const string & childname); + + void enter_internal_edit_mode (); + void leave_internal_edit_mode (); + + void create_automation_child (const Evoral::Parameter& param, bool show); + + void first_idle (); private: friend class AudioStreamView; friend class AudioRegionView; - - void route_active_changed (); - void build_automation_action_menu (); - void append_extra_display_menu_items (); - - void toggle_show_waveforms (); - void set_waveform_shape (WaveformShape); - void toggle_waveforms (); + void route_active_changed (); - void show_all_automation (); - void show_existing_automation (); - void hide_all_automation (); + Gtk::Menu* build_mode_menu(); + void build_automation_action_menu (bool); - void add_gain_automation_child (); - void add_pan_automation_child (); - void add_parameter_automation_child (); + void show_all_automation (bool apply_to_selection = false); + void show_existing_automation (bool apply_to_selection = false); + void hide_all_automation (bool apply_to_selection = false); - void toggle_gain_track (); - void toggle_pan_track (); + void hide (); void gain_hidden (); void pan_hidden (); - void update_pans (); + void ensure_pan_views (bool show = true); + void update_control_names (); - AutomationTimeAxisView* gain_track; - AutomationTimeAxisView* pan_track; + void update_gain_track_visibility (); + void update_pan_track_visibility (); - // Set from XML so context menu automation buttons can be correctly initialized - bool show_gain_automation; - bool show_pan_automation; - - Gtk::CheckMenuItem* waveform_item; - Gtk::RadioMenuItem* traditional_item; - Gtk::RadioMenuItem* rectified_item; Gtk::CheckMenuItem* gain_automation_item; + std::list > pan_tracks; Gtk::CheckMenuItem* pan_automation_item; };