Add session preferences dialog.
[ardour.git] / gtk2_ardour / ardour_ui.h
index f87e007ddd287cfa15075696fbad241e10d1bc13..a1a36f3d99d602f6a8078e14273f77b0cd9d948c 100644 (file)
@@ -60,7 +60,6 @@
 #include <gtkmm2ext/bindable_button.h>
 #include "ardour/ardour.h"
 #include "ardour/session.h"
-#include "ardour/configuration.h"
 #include "ardour/types.h"
 
 #include "audio_clock.h"
@@ -71,7 +70,8 @@
 class AudioClock;
 class PublicEditor;
 class Keyboard;
-class OptionEditor;
+class RCOptionEditor;
+class SessionOptionEditor;
 class KeyEditor;
 class Mixer_UI;
 class ConnectionEditor;
@@ -156,8 +156,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        int unload_session (bool hide_stuff = false);
        void close_session();
 
-       int  save_state_canfail (string state_name = "");
-       void save_state (const string & state_name = "");
+       int  save_state_canfail (std::string state_name = "");
+       void save_state (const std::string & state_name = "");
 
        static double gain_to_slider_position (ARDOUR::gain_t g);
        static ARDOUR::gain_t slider_position_to_gain (double pos);
@@ -185,7 +185,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        static sigc::signal<void>      SuperRapidScreenUpdate;
        static sigc::signal<void,nframes_t, bool, nframes_t> Clock;
 
-       void name_io_setup (ARDOUR::AudioEngine&, string&, ARDOUR::IO& io, bool in);
+       void name_io_setup (ARDOUR::AudioEngine&, std::string&, ARDOUR::IO& io, bool in);
 
        XMLNode* editor_settings() const;
        XMLNode* mixer_settings () const;
@@ -257,7 +257,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
 
        void toggle_session_auto_loop ();
 
-       void toggle_options_window ();
+       void toggle_rc_options_window ();
+       void toggle_session_options_window ();
 
   private:
        ArdourStartup*      _startup;
@@ -283,7 +284,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void startup ();
        void shutdown ();
 
-       int  ask_about_saving_session (const string & why);
+       int  ask_about_saving_session (const std::string & why);
 
        /* periodic safety backup, to be precise */
        gint autosave_session();
@@ -483,7 +484,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void recent_session_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col);
 
        struct RecentSessionsSorter {
-           bool operator() (std::pair<string,string> a, std::pair<string,string> b) const {
+               bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
                    return cmp_nocase(a.first, b.first) == -1;
            }
        };
@@ -597,9 +598,11 @@ class ARDOUR_UI : public Gtkmm2ext::UI
 
        KeyEditor *key_editor;
 
-       /* Options window */
+       /* RC Options window */
 
-       OptionEditor *option_editor;
+       RCOptionEditor *rc_option_editor;
+
+       SessionOptionEditor *session_option_editor;
 
        /* route dialog */
 
@@ -627,7 +630,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
 
        Gtk::MenuItem *cleanup_item;
 
-       void display_cleanup_results (ARDOUR::Session::cleanup_report& rep, const gchar* list_title, const string & msg);
+       void display_cleanup_results (ARDOUR::Session::cleanup_report& rep, const gchar* list_title, const std::string & msg);
        void cleanup ();
        void flush_trash ();
 
@@ -727,7 +730,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void map_input_auto_connect ();
        void map_output_auto_connect ();
        void map_only_copy_imported_files ();
-       void parameter_changed (const char*);
+       void parameter_changed (std::string);
 
        void set_meter_hold (ARDOUR::MeterHold);
        void set_meter_falloff (ARDOUR::MeterFalloff);