class AudioClock;
class PublicEditor;
class Keyboard;
-class MeterBridge;
class OptionEditor;
class Mixer_UI;
class ConnectionEditor;
ARDOUR::Session* the_session() { return session; }
- bool will_create_new_session_automatically() const {
- return _will_create_new_session_automatically;
- }
-
- void set_will_create_new_session_automatically (bool yn) {
- _will_create_new_session_automatically = yn;
- }
-
- void new_session(std::string path = string());
+ bool new_session(std::string path = string());
gint cmdline_new_session (string path);
- int unload_session ();
+
+ /// @return true if session was successfully unloaded.
+ bool unload_session ();
void close_session();
int save_state_canfail (string state_name = "");
void restore_state (string state_name = "");
static double gain_to_slider_position (ARDOUR::gain_t g);
- static ARDOUR::gain_t slider_position_to_gain (double pos);
+ static ARDOUR::gain_t slider_position_to_gain (double pos);
static ARDOUR_UI *instance () { return theArdourUI; }
static sigc::signal<void,bool> Blink;
static sigc::signal<void> RapidScreenUpdate;
- static sigc::signal<void> MidRapidScreenUpdate;
static sigc::signal<void> SuperRapidScreenUpdate;
- static sigc::signal<void,nframes_t> Clock;
+ static sigc::signal<void,nframes_t, bool, nframes_t> Clock;
/* this is a helper function to centralize the (complex) logic for
blinking rec-enable buttons.
session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, how_many);
}
- void session_add_midi_track ();
+ void session_add_midi_track (uint32_t how_many) {
+ session_add_midi_route (true, how_many);
+ }
+
+ /*void session_add_midi_bus () {
+ session_add_midi_route (false);
+ }*/
void set_engine (ARDOUR::AudioEngine&);
gint start_engine ();
void set_keybindings_path (std::string path);
void save_keybindings ();
+ void setup_profile ();
+
protected:
friend class PublicEditor;
ARDOUR::AudioEngine *engine;
ARDOUR::Session *session;
+ bool check_audioengine();
+
Gtk::Tooltips _tooltips;
void goto_editor_window ();
int ask_about_saving_session (const string & why);
int save_the_session;
+ /* periodic safety backup, to be precise */
+ gint autosave_session();
+ void update_autosave();
+ sigc::connection _autosave_connection;
+
void queue_transport_change ();
void map_transport_state ();
int32_t do_engine_start ();
Gtk::ToggleButton solo_alert_button;
Gtk::VBox alert_box;
-
+
void solo_blink (bool);
void audition_blink (bool);
gint every_second ();
gint every_point_one_seconds ();
- gint every_point_oh_five_seconds ();
gint every_point_zero_one_seconds ();
sigc::connection second_connection;
gint session_menu (GdkEventButton *);
- bool _will_create_new_session_automatically;
-
NewSessionDialog* new_session_dialog;
void open_session ();
void save_template ();
void session_add_audio_route (bool disk, int32_t input_channels, int32_t output_channels, ARDOUR::TrackMode mode, uint32_t how_many);
+ void session_add_midi_route (bool disk, uint32_t how_many);
void set_transport_sensitivity (bool);
void toggle_send_midi_feedback ();
void toggle_use_mmc ();
void toggle_send_mmc ();
- void toggle_use_midi_control();
void toggle_send_mtc ();
+ void toggle_use_osc ();
+
void set_input_auto_connect (ARDOUR::AutoConnectOption);
void set_output_auto_connect (ARDOUR::AutoConnectOption);
void set_solo_model (ARDOUR::SoloModel);
void toggle_StopPluginsWithTransport();
void toggle_DoNotRunPluginsWhileRecording();
void toggle_VerifyRemoveLastCapture();
+ void toggle_PeriodicSafetyBackups();
void toggle_StopRecordingOnXrun();
void toggle_StopTransportAtEndOfSession();
void toggle_GainReduceFastTransport();
void toggle_ShowSoloMutes();
void toggle_LatchedRecordEnable ();
void toggle_RegionEquivalentsOverlap ();
+ void toggle_PrimaryClockDeltaEditCursor ();
+ void toggle_SecondaryClockDeltaEditCursor ();
void mtc_port_changed ();
void map_solo_model ();
void no_memory_warning ();
void check_memory_locking ();
+
+ bool ab_direction;
+ void disable_all_plugins ();
+ void ab_all_plugins ();
};
#endif /* __ardour_gui_h__ */