/*
- 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
#include <gtkmm2ext/selector.h>
#include <list>
-#include <ardour/types.h>
+#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"
namespace ARDOUR {
class Session;
- class AudioDiskstream;
class RouteGroup;
class IOProcessor;
class Processor;
class AudioTimeAxisView : public RouteTimeAxisView
{
public:
- AudioTimeAxisView (PublicEditor&, ARDOUR::Session&, boost::shared_ptr<ARDOUR::Route>, ArdourCanvas::Canvas& canvas);
+ AudioTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
virtual ~AudioTimeAxisView ();
-
+
+ void set_route (boost::shared_ptr<ARDOUR::Route>);
+
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 create_automation_child (ARDOUR::Parameter param, bool show);
-
+
+ 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 append_extra_display_menu_items ();
Gtk::Menu* build_mode_menu();
-
- void toggle_show_waveforms ();
- void set_waveform_shape (WaveformShape);
- void toggle_waveforms ();
- void set_waveform_scale (WaveformScale);
+ void build_automation_action_menu (bool);
- void show_all_automation ();
- void show_existing_automation ();
- void hide_all_automation ();
+ 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 gain_hidden ();
- void pan_hidden ();
+ void hide ();
- void update_pans (bool show=true);
void update_control_names ();
-
- Gtk::CheckMenuItem* waveform_item;
- Gtk::RadioMenuItem* traditional_item;
- Gtk::RadioMenuItem* rectified_item;
- Gtk::RadioMenuItem* linearscale_item;
- Gtk::RadioMenuItem* logscale_item;
};
#endif /* __ardour_audio_time_axis_h__ */