add sampo's synthesize_sources perl script to tools; add scroll-playhead-{forward...
[ardour.git] / gtk2_ardour / ardour_ui.h
index d5747cb3254c36bc3bb95c7c624533e624436750..2b83262451953af36e3fb56d3e13c3f55bbd0595 100644 (file)
@@ -70,7 +70,6 @@ class OptionEditor;
 class Mixer_UI;
 class ConnectionEditor;
 class RouteParams_UI;
-class SoundFileBrowser;
 class About;
 class AddRouteDialog;
 class NewSessionDialog;
@@ -129,7 +128,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
                _will_create_new_session_automatically = yn;
        }
 
-        void new_session(bool startup = false, std::string path = string());
+        void new_session(std::string path = string());
        gint cmdline_new_session (string path);
        int  unload_session ();
        void close_session(); 
@@ -185,6 +184,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        AudioClock preroll_clock;
        AudioClock postroll_clock;
 
+       void store_clock_modes ();
+       void restore_clock_modes ();
+
        void add_route ();
        
        void session_add_audio_track (int input_channels, int32_t output_channels, ARDOUR::TrackMode mode, uint32_t how_many) {
@@ -198,6 +200,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void session_add_midi_track ();
 
        void set_engine (ARDOUR::AudioEngine&);
+       gint start_engine ();
 
        gint exit_on_main_window_close (GdkEventAny *);
 
@@ -207,6 +210,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void set_native_file_header_format (ARDOUR::HeaderFormat sf);
        void set_native_file_data_format (ARDOUR::SampleFormat sf);
 
+       void set_keybindings_path (std::string path);
+       void save_keybindings ();
+
   protected:
        friend class PublicEditor;
 
@@ -291,7 +297,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void queue_transport_change ();
        void map_transport_state ();
        int32_t do_engine_start ();
-       gint start_engine ();
        
        void engine_halted ();
        void engine_stopped ();
@@ -325,6 +330,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        Gtk::Frame   big_clock_frame;
        Gtk::Window* big_clock_window;
 
+       void update_transport_clocks (nframes_t pos);
+       void record_state_changed ();
+
        /* Transport Control */
 
        void detach_tearoff (Gtk::Box* parent, Gtk::Widget* contents);
@@ -531,6 +539,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void connect_to_session (ARDOUR::Session *);
        void connect_dependents_to_session (ARDOUR::Session *);
        void we_have_dependents ();
+       
+       std::string keybindings_path;
+
        void setup_keybindings ();
        void setup_session_options ();
        
@@ -563,11 +574,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        /* route dialog */
 
        AddRouteDialog *add_route_dialog;
-
-       /* SoundFile Browser */
-       SoundFileBrowser *sfdb;
-       void toggle_sound_file_browser ();
-       int create_sound_file_browser ();
        
        /* Keyboard Handling */
        
@@ -662,7 +668,10 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void map_meter_falloff ();
 
        void toggle_control_protocol (ARDOUR::ControlProtocolInfo*);
-       void toggle_control_protocol_feedback (ARDOUR::ControlProtocolInfo*, const char* group_name, const char* action_name);
+       void toggle_control_protocol_feedback (ARDOUR::ControlProtocolInfo*, const char* group_name, std::string action_name);
+
+       bool can_save_keybindings;
+       bool first_idle ();
 };
 
 #endif /* __ardour_gui_h__ */