Rudimentary ghost note when adding MIDI notes to a region, as per #3180.
[ardour.git] / gtk2_ardour / ardour_ui.h
index 25bd74b55cf724225aaa50646704bcdb359099ff..3a7e3d77517a7190acfd2e5815550eb66b860acc 100644 (file)
@@ -115,6 +115,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void show_splash ();
        void hide_splash ();
 
+        void launch_chat ();
        void show_about ();
        void hide_about ();
 
@@ -123,14 +124,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        int load_session (const Glib::ustring& path, const Glib::ustring& snapshot, Glib::ustring mix_template = Glib::ustring());
        bool session_loaded;
-       int build_session (const Glib::ustring& path, const Glib::ustring& snapshot,
-                          uint32_t ctl_chns,
-                          uint32_t master_chns,
-                          ARDOUR::AutoConnectOption input_connect,
-                          ARDOUR::AutoConnectOption output_connect,
-                          uint32_t nphysin,
-                          uint32_t nphysout,
-                          nframes_t initial_length);
+       int build_session (const Glib::ustring& path, const Glib::ustring& snapshot, ARDOUR::BusProfile&);
        bool session_is_new() const { return _session_is_new; }
 
        ARDOUR::Session* the_session() { return _session; }
@@ -153,8 +147,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        int unload_session (bool hide_stuff = false);
        void close_session();
 
-       int  save_state_canfail (std::string state_name = "");
-       void save_state (const std::string & state_name = "");
+       int  save_state_canfail (std::string state_name = "", bool switch_to_it = false);
+       void save_state (const std::string & state_name = "", bool switch_to_it = false);
 
        static double gain_to_slider_position (ARDOUR::gain_t g);
        static ARDOUR::gain_t slider_position_to_gain (double pos);
@@ -183,6 +177,7 @@ 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;
 
        void save_ardour_state ();
        gboolean configure_handler (GdkEventConfigure* conf);
@@ -287,7 +282,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void map_transport_state ();
        int32_t do_engine_start ();
 
-       void engine_halted ();
+       void engine_halted (const char* reason, bool free_reason);
        void engine_stopped ();
        void engine_running ();
 
@@ -454,8 +449,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        void auditioning_changed (bool);
        void _auditioning_changed (bool);
 
-       void solo_alert_toggle ();
-       void audition_alert_toggle ();
+       bool solo_alert_press (GdkEventButton* ev);
+       bool audition_alert_press (GdkEventButton* ev);
 
        void big_clock_value_changed ();
        void primary_clock_value_changed ();
@@ -572,7 +567,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        guint32  last_key_press_time;
 
-       void snapshot_session ();
+       void snapshot_session (bool switch_to_it);
 
        Mixer_UI   *mixer;
        int         create_mixer ();
@@ -641,19 +636,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        ARDOUR::microseconds_t last_peak_grab;
        ARDOUR::microseconds_t last_shuttle_request;
 
-       struct DiskBufferStat {
-           time_t when;
-           uint32_t capture;
-           uint32_t playback;
-
-           DiskBufferStat (time_t w, uint32_t c, uint32_t p)
-           : when (w), capture (c), playback (p) {}
-       };
-
-       std::list<DiskBufferStat> disk_buffer_stats;
-       void push_buffer_stats (uint32_t, uint32_t);
-       void write_buffer_stats ();
-
        bool have_disk_speed_dialog_displayed;
        void disk_speed_dialog_gone (int ignored_response, Gtk::MessageDialog*);
        void disk_overrun_handler ();
@@ -699,6 +681,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
                        Glib::RefPtr<Gtk::TextBuffer::Tag> ptag, Glib::RefPtr<Gtk::TextBuffer::Tag> mtag,
                        const char *msg);
        Gtk::Label status_bar_label;
+        bool status_bar_button_press (GdkEventButton*);
        Gtk::ToggleButton error_log_button;
 
        void loading_message (const std::string& msg);