update drobilla's fascistic dir-locals.el to force emacs users into whitespace submis...
[ardour.git] / gtk2_ardour / ardour_ui.h
index 0408253b7999c719de7d2c7a9d39686ba6c375cf..6814b613c25b180bb43a9c4684b003924e954174 100644 (file)
@@ -84,6 +84,7 @@ class RCOptionEditor;
 class RouteParams_UI;
 class SessionOptionEditor;
 class Splash;
+class SpeakerDialog;
 class ThemeManager;
 class MidiTracer;
 class WindowProxyBase;
@@ -161,6 +162,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void toggle_theme_manager ();
        void toggle_bundle_manager ();
        void toggle_big_clock_window ();
+       void toggle_speaker_config_window ();
        void new_midi_tracer_window ();
        void toggle_route_params_window ();
        void toggle_editing_space();
@@ -168,6 +170,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        Gtk::Tooltips& tooltips() { return _tooltips; }
 
+       Gtk::HBox& editor_transport_box() { return _editor_transport_box; }
+
+       static PublicEditor* _instance;
        static sigc::signal<void,bool> Blink;
        static sigc::signal<void>      RapidScreenUpdate;
        static sigc::signal<void>      SuperRapidScreenUpdate;
@@ -202,16 +207,36 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        void add_route (Gtk::Window* float_window);
 
-       void session_add_audio_track (int input_channels, int32_t output_channels, ARDOUR::TrackMode mode, ARDOUR::RouteGroup* route_group, uint32_t how_many) {
-               session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many);
+       void session_add_audio_track (
+               int input_channels,
+               int32_t output_channels,
+               ARDOUR::TrackMode mode,
+               ARDOUR::RouteGroup* route_group,
+               uint32_t how_many,
+               std::string const & name_template
+               ) {
+               
+               session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many, name_template);
        }
 
-       void session_add_audio_bus (int input_channels, int32_t output_channels, ARDOUR::RouteGroup* route_group, uint32_t how_many) {
-               session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many);
+       void session_add_audio_bus (
+               int input_channels,
+               int32_t output_channels,
+               ARDOUR::RouteGroup* route_group,
+               uint32_t how_many,
+               std::string const & name_template
+               ) {
+               
+               session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many, name_template);
        }
 
-       void session_add_midi_track (ARDOUR::RouteGroup* route_group, uint32_t how_many) {
-               session_add_midi_route (true, route_group, how_many);
+       void session_add_midi_track (
+               ARDOUR::RouteGroup* route_group,
+               uint32_t how_many,
+               std::string const & name_template
+               ) {
+               
+               session_add_midi_route (true, route_group, how_many, name_template);
        }
 
        /*void session_add_midi_bus () {
@@ -328,6 +353,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void float_big_clock (Gtk::Window* parent);
        bool main_window_state_event_handler (GdkEventWindowState*, bool window_was_editor);
 
+       ActionWindowProxy<SpeakerDialog>* speaker_config_window;
+
        void update_transport_clocks (framepos_t pos);
        void record_state_changed ();
 
@@ -343,6 +370,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        Gtk::HBox                transport_tearoff_hbox;
        Gtk::HBox                play_range_hbox;
        Gtk::VBox                play_range_vbox;
+       Gtk::HBox               _editor_transport_box;
        Gtk::HBox                transport_hbox;
        Gtk::Fixed               transport_base;
        Gtk::Fixed               transport_button_base;
@@ -545,8 +573,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void edit_metadata ();
        void import_metadata ();
 
-       void session_add_audio_route (bool disk, int32_t input_channels, int32_t output_channels, ARDOUR::TrackMode mode, ARDOUR::RouteGroup *, uint32_t how_many);
-       void session_add_midi_route (bool disk, ARDOUR::RouteGroup *, uint32_t how_many);
+       void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, uint32_t, std::string const &);
+       void session_add_midi_route (bool, ARDOUR::RouteGroup *, uint32_t, std::string const &);
 
        void set_transport_sensitivity (bool);
 
@@ -715,6 +743,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
         int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
         int ambiguous_file (std::string file, std::string path, std::vector<std::string> hits);
+
+       bool click_button_clicked (GdkEventButton *);
 };
 
 #endif /* __ardour_gui_h__ */