add GUI elements to control 2in/2out panning. Probably not perfect. REQUIRES FULL...
[ardour.git] / gtk2_ardour / ardour_ui.h
index bf9a88d29e8ff433d05475ca3349797a4259bc1a..7e450a70c5f4f0d8bfe0f128a7dba1d361112151 100644 (file)
@@ -116,18 +116,18 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void show_splash ();
        void hide_splash ();
 
-        void launch_chat ();
-        void launch_manual ();
-        void launch_reference ();
+       void launch_chat ();
+       void launch_manual ();
+       void launch_reference ();
        void show_about ();
        void hide_about ();
 
-       void idle_load (const Glib::ustring& path);
+       void idle_load (const std::string& path);
        void finish();
 
-       int load_session (const Glib::ustring& path, const Glib::ustring& snapshot, Glib::ustring mix_template = Glib::ustring());
+       int load_session (const std::string& path, const std::string& snapshot, std::string mix_template = std::string());
        bool session_loaded;
-       int build_session (const Glib::ustring& path, const Glib::ustring& snapshot, ARDOUR::BusProfile&);
+       int build_session (const std::string& path, const std::string& snapshot, ARDOUR::BusProfile&);
        bool session_is_new() const { return _session_is_new; }
 
        ARDOUR::Session* the_session() { return _session; }
@@ -141,10 +141,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        }
 
        int get_session_parameters (bool quit_on_cancel, bool should_be_new = false, std::string load_template = "");
-       void parse_cmdline_path (const Glib::ustring& cmdline_path, Glib::ustring& session_name, Glib::ustring& session_path, bool& existing_session);
-       int  load_cmdline_session (const Glib::ustring& session_name, const Glib::ustring& session_path, bool& existing_session);
-       int  build_session_from_nsd (const Glib::ustring& session_name, const Glib::ustring& session_path);
-       bool ask_about_loading_existing_session (const Glib::ustring& session_path);
+       void parse_cmdline_path (const std::string& cmdline_path, std::string& session_name, std::string& session_path, bool& existing_session);
+       int  load_cmdline_session (const std::string& session_name, const std::string& session_path, bool& existing_session);
+       int  build_session_from_nsd (const std::string& session_name, const std::string& session_path);
+       bool ask_about_loading_existing_session (const std::string& session_path);
 
        /// @return true if session was successfully unloaded.
        int unload_session (bool hide_stuff = false);
@@ -182,12 +182,12 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        XMLNode* editor_settings() const;
        XMLNode* mixer_settings () const;
        XMLNode* keyboard_settings () const;
-        XMLNode* tearoff_settings (const char*) const;
+       XMLNode* tearoff_settings (const char*) const;
 
        void save_ardour_state ();
        gboolean configure_handler (GdkEventConfigure* conf);
 
-       void do_transport_locate (nframes_t position);
+       void do_transport_locate (nframes_t, bool);
        void halt_on_xrun_message ();
        void xrun_handler (nframes_t);
        void create_xrun_marker (nframes_t);
@@ -201,6 +201,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void restore_clock_modes ();
        void reset_main_clocks ();
 
+       void synchronize_sync_source_and_video_pullup ();
+
        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) {
@@ -235,7 +237,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        void add_window_proxy (WindowProxyBase *);
        void remove_window_proxy (WindowProxyBase *);
-       
+
   protected:
        friend class PublicEditor;
 
@@ -264,8 +266,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        void                goto_editor_window ();
        void                goto_mixer_window ();
-       void                toggle_editor_mixer_on_top ();
-       bool                _mixer_on_top;
+       void                toggle_mixer_window ();
+       void                toggle_mixer_on_top ();
 
        Gtk::ToggleButton   preroll_button;
        Gtk::ToggleButton   postroll_button;
@@ -305,7 +307,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        void about_signal_response(int response);
 
-  private:
        Gtk::VBox     top_packer;
 
        sigc::connection clock_signal_connection;
@@ -317,9 +318,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        AudioClock   big_clock;
        ActionWindowProxy<Gtk::Window>* big_clock_window;
-        int original_big_clock_width;
-        int original_big_clock_height;
-        double original_big_clock_font_size;
+       int original_big_clock_width;
+       int original_big_clock_height;
+       double original_big_clock_font_size;
 
        void big_clock_size_allocate (Gtk::Allocation&);
        bool idle_big_clock_text_resizer (int width, int height);
@@ -477,8 +478,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
                    add (visible_name);
                    add (fullpath);
            }
-           Gtk::TreeModelColumn<Glib::ustring> visible_name;
-           Gtk::TreeModelColumn<Glib::ustring> fullpath;
+           Gtk::TreeModelColumn<std::string> visible_name;
+           Gtk::TreeModelColumn<std::string> fullpath;
        };
 
        RecentSessionModelColumns    recent_session_columns;
@@ -536,6 +537,12 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        sigc::connection point_oh_five_second_connection;
        sigc::connection point_zero_one_second_connection;
 
+       AudioClock _menu_bar_clock;
+       sigc::connection _menu_bar_clock_connection;
+       void menu_bar_clock_value_changed ();
+       void show_menu_bar_clock ();
+       void hide_menu_bar_clock ();
+
        gint session_menu (GdkEventButton *);
 
        bool _will_create_new_session_automatically;
@@ -714,6 +721,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void queue_finish ();
 
        std::list<WindowProxyBase*> _window_proxies;
+
+        int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
 };
 
 #endif /* __ardour_gui_h__ */