X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui.h;h=c835303de7cc662ca3f42c3b766969c3b08306cc;hb=c2c3f3177c6f3642f69f0266360c027e27568f1a;hp=5077fe9940cc2a858bdfe88bb985c666c96e0aaf;hpb=14d43ca9fe28a8309b4a52fa85e2b0c64a92248b;p=ardour.git diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 5077fe9940..c835303de7 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -35,11 +35,26 @@ #include +#include + #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include -#include #include #include @@ -55,7 +70,7 @@ class OptionEditor; class Mixer_UI; class ConnectionEditor; class RouteParams_UI; -class SoundFileSelector; +class SoundFileChooser; class About; class AddRouteDialog; class NewSessionDialog; @@ -139,9 +154,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI void toggle_connection_editor (); void toggle_route_params_window (); void toggle_tempo_window (); - void toggle_sfdb_window (); - - SoundFileSelector& get_sfdb_window(); gint32 select_diskstream (GdkEventButton *ev); @@ -264,8 +276,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI Gtk::Table transport_table; Gtk::Table option_table; - static SoundFileSelector* sfdb_window; - int setup_windows (); void setup_session_menu (); void setup_transport (); @@ -323,18 +333,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI void start_clocking (); void stop_clocking (); - class BigClockWindow : public ArdourDialog - { - public: - BigClockWindow () : ArdourDialog ("big clock window") {}; - }; - AudioClock big_clock; Gtk::Frame big_clock_frame; - BigClockWindow* big_clock_window; - - void big_clock_size_event (GtkAllocation *alloc); - void big_clock_realize (); + ArdourDialog* big_clock_window; /* Transport Control */ @@ -378,8 +379,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI Gtk::Label speed_display_label; Gtk::Button shuttle_units_button; Gtk::Button shuttle_style_button; - Gtk::Menu shuttle_unit_menu; - Gtk::Menu shuttle_style_menu; + Gtk::Menu* shuttle_unit_menu; + Gtk::Menu* shuttle_style_menu; ShuttleBehaviour shuttle_behaviour; ShuttleUnits shuttle_units; @@ -445,26 +446,39 @@ class ARDOUR_UI : public Gtkmm2ext::UI static void rate_printer (char buf[32], Gtk::Adjustment &, void *); - Gtk::Menu* session_popup_menu; - Gtk::CTree session_selector; - ArdourDialog* session_selector_window; - - Gtk::FileSelection* open_session_selector; + Gtk::Menu* session_popup_menu; + + struct RecentSessionModelColumns : public Gtk::TreeModel::ColumnRecord { + RecentSessionModelColumns() { + add (visible_name); + add (fullpath); + } + Gtk::TreeModelColumn visible_name; + Gtk::TreeModelColumn fullpath; + }; + + RecentSessionModelColumns recent_session_columns; + Gtk::TreeView recent_session_display; + Glib::RefPtr recent_session_model; + + ArdourDialog* session_selector_window; + Gtk::FileChooserDialog* open_session_selector; void build_session_selector(); - void session_selection (Gtk::CTree::Row, gint col); + void recent_session_selection_changed (); + void redisplay_recent_sessions(); + struct RecentSessionsSorter { - bool operator() (std::pair a, std::pair b) const { - return cmp_nocase(a.first, b.first) == -1; + bool operator() (std::pair a, std::pair b) const { + return cmp_nocase(a.first, b.first) == -1; } }; - void redisplay_recent_sessions(); /* menu bar and associated stuff */ - Gtk::MenuBar menu_bar; - Gtk::Fixed menu_bar_base; - Gtk::HBox menu_hbox; + Gtk::MenuBar* menu_bar; + Gtk::Fixed menu_bar_base; + Gtk::HBox menu_hbox; void build_menu_bar (); void pack_toplevel_controls(); @@ -538,7 +552,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI string template_name; void new_session_ok_clicked (); - void new_session_template_choice (Gtkmm2ext::Selector *, Gtkmm2ext::SelectionResult*); + void new_session_template_choice (Gtk::TreeView&, Glib::RefPtr); void hide_dialog (ArdourDialog *dialog); void fs_cancel_clicked (Gtk::FileSelection*); @@ -644,7 +658,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI void big_clock_hiding (); void route_params_hiding (); void connection_editor_hiding (); - void sfdb_hiding (); void option_hiding (); /* Various options */ @@ -659,6 +672,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI AddRouteDialog *add_route_dialog; void add_route_dialog_done (int status); + + /* SoundFile Browser */ + void toggle_sound_file_browser (); /* Keyboard Handling */ @@ -667,6 +683,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI /* Keymap handling */ void install_keybindings (); + void install_actions (); void test_binding_action (const char *); void start_keyboard_prefix(); @@ -718,6 +735,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI Gtk::Menu* jack_bufsize_menu; int make_session_clean (); + bool filter_ardour_session_dirs (const Gtk::FileFilter::Info&); + + Glib::RefPtr ui_manager; }; #endif /* __ardour_gui_h__ */