shuttle_units_button (_("% ")),
shuttle_style_button (_("spring")),
-
+
punch_in_button (_("punch\nin")),
punch_out_button (_("punch\nout")),
auto_return_button (_("auto\nreturn")),
theArdourUI = this;
}
+ // allow run-time rebinding of accels
+
+ Settings::get_default()->property_gtk_can_change_accels() = true;
+
ActionManager::init ();
m_new_session_dialog = 0;
set_shuttle_units (Percentage);
set_shuttle_behaviour (Sprung);
- Glib::RefPtr<ActionGroup> shuttle_actions = ActionGroup::create ("ShuttleActions");
-
- shuttle_actions->add (Action::create (X_("SetShuttleUnitsPercentage"), _("Percentage")), bind (mem_fun(*this, &ARDOUR_UI::set_shuttle_units), Percentage));
- shuttle_actions->add (Action::create (X_("SetShuttleUnitsSemitones"), _("Semitones")), bind (mem_fun(*this, &ARDOUR_UI::set_shuttle_units), Semitones));
- shuttle_actions->add (Action::create (X_("SetShuttleActionSprung"), _("Sprung")), bind (mem_fun(*this, &ARDOUR_UI::set_shuttle_behaviour), Sprung));
- shuttle_actions->add (Action::create (X_("SetShuttleActionWheel"), _("Wheel")), bind (mem_fun(*this, &ARDOUR_UI::set_shuttle_behaviour), Wheel));
-
- ActionManager::add_action_group (shuttle_actions);
+ shuttle_style_menu = 0;
+ shuttle_unit_menu = 0;
- shuttle_style_menu = dynamic_cast<Menu*> (ActionManager::get_widget ("ShuttleStylePopup"));
- shuttle_unit_menu = dynamic_cast<Menu*> (ActionManager::get_widget ("ShuttleUnitPopup"));
-
gettimeofday (&last_peak_grab, 0);
gettimeofday (&last_shuttle_request, 0);
}
}
- quit();
+ quit ();
}
int
msg = string_compose(_("Save and %1"), what);
window.add_button (msg, RESPONSE_ACCEPT);
msg = string_compose(_("Just %1"), what);
- window.add_button (msg, RESPONSE_REJECT);
+ window.add_button (msg, RESPONSE_APPLY);
msg = string_compose(_("Don't %1"), what);
window.add_button (msg, RESPONSE_REJECT);
window.hide ();
switch (r) {
- case RESPONSE_ACCEPT:
+ case RESPONSE_ACCEPT: // save and get out of here
+ return 1;
+ case RESPONSE_APPLY: // get out of here
return 0;
default:
break;
session_selector_window->set_name ("SessionSelectorWindow");
session_selector_window->set_size_request (200, 400);
session_selector_window->get_vbox()->pack_start (*scroller);
+ session_selector_window->show_all_children();
}
void
FileFilter filter_ardour;
filter_ardour.set_name (_("Ardour sessions"));
- filter_ardour.add_custom (FILE_FILTER_FILENAME, mem_fun (*this, &ARDOUR_UI::filter_ardour_session_dirs));
-
+ filter_ardour.add_pattern("*.ardour");
open_session_selector->add_filter (filter_ardour);
}
case RESPONSE_OK:
break;
default:
+ open_session_selector->hide();
return;
}
+ open_session_selector->hide();
string session_path = open_session_selector->get_filename();
string path, name;
bool isnew;
ARDOUR_UI::engine_stopped ()
{
ENSURE_GUI_THREAD (mem_fun(*this, &ARDOUR_UI::engine_stopped));
-
- jack_disconnect_item->set_sensitive (false);
- jack_reconnect_item->set_sensitive (true);
- jack_bufsize_menu->set_sensitive (false);
+ ActionManager::set_sensitive (ActionManager::jack_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::jack_opposite_sensitive_actions, true);
}
ARDOUR_UI::engine_running ()
{
ENSURE_GUI_THREAD (mem_fun(*this, &ARDOUR_UI::engine_running));
-
- jack_disconnect_item->set_sensitive (true);
- jack_reconnect_item->set_sensitive (false);
- jack_bufsize_menu->set_sensitive (true);
+ ActionManager::set_sensitive (ActionManager::jack_sensitive_actions, true);
+ ActionManager::set_sensitive (ActionManager::jack_opposite_sensitive_actions, false);
}
void
{
ENSURE_GUI_THREAD (mem_fun(*this, &ARDOUR_UI::engine_halted));
- jack_disconnect_item->set_sensitive (false);
- jack_reconnect_item->set_sensitive (true);
- jack_bufsize_menu->set_sensitive (false);
+ ActionManager::set_sensitive (ActionManager::jack_sensitive_actions, false);
+ ActionManager::set_sensitive (ActionManager::jack_opposite_sensitive_actions, true);
update_sample_rate (0);
std::string session_name = m_new_session_dialog->session_name();
std::string session_path = m_new_session_dialog->session_folder();
+
+ /*
+ XXX This is needed because session constructor wants a
+ non-existant path. hopefully this will be fixed at some point.
+ */
+ session_path = Glib::build_filename(session_path, session_name);
+
std::string template_name = m_new_session_dialog->session_template_name();
if (m_new_session_dialog->use_session_template()) {
Session::AutoConnectOption iconnect;
Session::AutoConnectOption oconnect;
- if (m_new_session_dialog->create_control_track()) {
+ if (m_new_session_dialog->create_control_bus()) {
cchns = (uint32_t) m_new_session_dialog->control_channel_count();
} else {
cchns = 0;
}
- if (m_new_session_dialog->create_master_track()) {
+ if (m_new_session_dialog->create_master_bus()) {
mchns = (uint32_t) m_new_session_dialog->master_channel_count();
} else {
mchns = 0;
}
if (session && mixer) {
- mixer->show_window ();
+ // mixer->show_window ();
}
if (about) {