#include <gtkmm/eventbox.h>
#include <gtkmm/menu.h>
#include <gtkmm/menuitem.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/notebook.h>
#include <gtkmm/button.h>
#include <gtkmm/togglebutton.h>
#include <gtkmm/treeview.h>
#include <gtkmm/adjustment.h>
#include "gtkmm2ext/gtk_ui.h"
-#include "gtkmm2ext/click_box.h"
-#include "gtkmm2ext/stateful_button.h"
-#include "gtkmm2ext/bindable_button.h"
#include "gtkmm2ext/bindings.h"
#include "gtkmm2ext/visibility_tracker.h"
#include "video_timeline.h"
+#include "widgets/ardour_button.h"
+#include "widgets/ardour_spacer.h"
+
#include "add_route_dialog.h"
-#include "ardour_button.h"
#include "ardour_dialog.h"
-#include "ardour_spacer.h"
#include "ardour_window.h"
#include "editing.h"
#include "enums.h"
class VideoTimeLine;
class ArdourKeyboard;
-class ArdourVSpacer;
class AudioClock;
-class ButtonJoiner;
class ConnectionEditor;
class DuplicateRouteDialog;
class MainClock;
class Mixer_UI;
-class ArdourPrompter;
class PublicEditor;
class SaveAsDialog;
class SessionDialog;
class ProgressBar;
}
-namespace Gtkmm2ext {
+namespace ArdourWidgets {
+ class Prompter;
class Tabbable;
}
int load_session (const std::string& path, const std::string& snapshot, std::string mix_template = std::string());
bool session_loaded;
bool session_load_in_progress;
- int build_session (const std::string& path, const std::string& 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; }
bool _initial_verbose_plugin_scan;
bool first_time_engine_run;
- void show_tabbable (Gtkmm2ext::Tabbable*);
- void hide_tabbable (Gtkmm2ext::Tabbable*);
- void detach_tabbable (Gtkmm2ext::Tabbable*);
- void attach_tabbable (Gtkmm2ext::Tabbable*);
- void button_change_tabbable_visibility (Gtkmm2ext::Tabbable*);
- void key_change_tabbable_visibility (Gtkmm2ext::Tabbable*);
+ void show_tabbable (ArdourWidgets::Tabbable*);
+ void hide_tabbable (ArdourWidgets::Tabbable*);
+ void detach_tabbable (ArdourWidgets::Tabbable*);
+ void attach_tabbable (ArdourWidgets::Tabbable*);
+ void button_change_tabbable_visibility (ArdourWidgets::Tabbable*);
+ void key_change_tabbable_visibility (ArdourWidgets::Tabbable*);
void toggle_editor_and_mixer ();
- void tabbable_state_change (Gtkmm2ext::Tabbable&);
+ void tabbable_state_change (ArdourWidgets::Tabbable&);
void toggle_meterbridge ();
void toggle_luawindow ();
Gtk::Frame transport_frame;
Gtk::HBox transport_hbox;
- ArdourVSpacer *secondary_clock_spacer;
+ ArdourWidgets::ArdourVSpacer* secondary_clock_spacer;
void repack_transport_hbox ();
void update_clock_visibility ();
void set_transport_controllable_state (const XMLNode&);
XMLNode& get_transport_controllable_state ();
- ArdourButton roll_button;
- ArdourButton stop_button;
- ArdourButton goto_start_button;
- ArdourButton goto_end_button;
- ArdourButton auto_loop_button;
- ArdourButton play_selection_button;
- ArdourButton rec_button;
- ArdourButton punch_in_button;
- ArdourButton punch_out_button;
- ArdourButton layered_button;
+ ArdourWidgets::ArdourButton roll_button;
+ ArdourWidgets::ArdourButton stop_button;
+ ArdourWidgets::ArdourButton goto_start_button;
+ ArdourWidgets::ArdourButton goto_end_button;
+ ArdourWidgets::ArdourButton auto_loop_button;
+ ArdourWidgets::ArdourButton play_selection_button;
+ ArdourWidgets::ArdourButton rec_button;
+ ArdourWidgets::ArdourButton punch_in_button;
+ ArdourWidgets::ArdourButton punch_out_button;
+ ArdourWidgets::ArdourButton layered_button;
- ArdourVSpacer recpunch_spacer;
- ArdourVSpacer monitoring_spacer;
+ ArdourWidgets::ArdourVSpacer recpunch_spacer;
+ ArdourWidgets::ArdourVSpacer monitoring_spacer;
- ArdourButton monitor_in_button;
- ArdourButton monitor_disk_button;
- ArdourButton auto_input_button;
+ ArdourWidgets::ArdourButton monitor_in_button;
+ ArdourWidgets::ArdourButton monitor_disk_button;
+ ArdourWidgets::ArdourButton auto_input_button;
Gtk::Label punch_label;
Gtk::Label layered_label;
MiniTimeline mini_timeline;
TimeInfoBox *time_info_box;
- ArdourButton auto_return_button;
- ArdourButton follow_edits_button;
- ArdourButton click_button;
- ArdourButton sync_button;
+ ArdourWidgets::ArdourButton auto_return_button;
+ ArdourWidgets::ArdourButton follow_edits_button;
+ ArdourWidgets::ArdourButton click_button;
+ ArdourWidgets::ArdourButton sync_button;
- ArdourButton auditioning_alert_button;
- ArdourButton solo_alert_button;
- ArdourButton feedback_alert_button;
- ArdourButton error_alert_button;
+ ArdourWidgets::ArdourButton auditioning_alert_button;
+ ArdourWidgets::ArdourButton solo_alert_button;
+ ArdourWidgets::ArdourButton feedback_alert_button;
+ ArdourWidgets::ArdourButton error_alert_button;
- ArdourButton action_script_call_btn[10];
+ ArdourWidgets::ArdourButton action_script_call_btn[10];
Gtk::Table action_script_table;
Gtk::VBox alert_box;
Gtk::VBox meter_box;
- LevelMeterHBox * editor_meter;
- float editor_meter_max_peak;
- ArdourButton editor_meter_peak_display;
- bool editor_meter_peak_button_release (GdkEventButton*);
+ ArdourWidgets::ArdourButton editor_meter_peak_display;
+ LevelMeterHBox * editor_meter;
+ float editor_meter_max_peak;
+ bool editor_meter_peak_button_release (GdkEventButton*);
bool editor_meter_button_press (GdkEventButton* ev);
void popup_editor_meter_menu (GdkEventButton* ev);
void open_session ();
void open_recent_session ();
- bool process_save_template_prompter (ArdourPrompter& prompter);
+ bool process_save_template_prompter (ArdourWidgets::Prompter& prompter);
void save_template ();
void manage_templates ();
+ void meta_session_setup (const std::string& script_path);
+
void edit_metadata ();
void import_metadata ();
guint32 last_key_press_time;
- bool process_snapshot_session_prompter (ArdourPrompter& prompter, bool switch_to_it);
+ bool process_snapshot_session_prompter (ArdourWidgets::Prompter& prompter, bool switch_to_it);
void snapshot_session (bool switch_to_it);
void quick_snapshot_session (bool switch_to_it); //does not promtp for name, just makes a timestamped file
void feedback_detected ();
- ArdourButton midi_panic_button;
+ ArdourWidgets::ArdourButton midi_panic_button;
void midi_panic ();
void successful_graph_sort ();
void tabs_switch (GtkNotebookPage*, guint page_number);
void tabs_page_added (Gtk::Widget*, guint);
void tabs_page_removed (Gtk::Widget*, guint);
- ArdourButton editor_visibility_button;
- ArdourButton mixer_visibility_button;
- ArdourButton prefs_visibility_button;
+ ArdourWidgets::ArdourButton editor_visibility_button;
+ ArdourWidgets::ArdourButton mixer_visibility_button;
+ ArdourWidgets::ArdourButton prefs_visibility_button;
bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev, Gtkmm2ext::Bindings*);
bool try_gtk_accel_binding (GtkWindow* win, GdkEventKey* ev, bool translate, GdkModifierType modifier);