, _was_dirty (false)
, _mixer_on_top (false)
, _initial_verbose_plugin_scan (false)
+ , _shared_popup_menu (0)
, secondary_clock_spacer (0)
, auto_input_button (ArdourButton::led_default_elements)
, time_info_box (0)
, error_alert_button ( ArdourButton::just_led_default_elements )
, editor_meter_peak_display()
, editor_meter(0)
- , _suspend_editor_meter_callbacks (false)
, _numpad_locate_happening (false)
, _session_is_new (false)
, last_key_press_time (0)
MessageDialog msg (string_compose (_("Your configuration files were copied. You can now restart %1."), PROGRAM_NAME), true);
msg.run ();
/* configuration was modified, exit immediately */
- _exit (0);
+ _exit (EXIT_SUCCESS);
}
halt_connection.disconnect ();
AudioEngine::instance()->stop ();
- exit (0);
+ exit (EXIT_SUCCESS);
}
vector<string>::iterator l;
for (p = paths.begin(), l = labels.begin(); p != paths.end(); ++p, ++l) {
- output << " <tr><th><kbd class=\"osc\">" << (*p).substr (10, string::npos);
- output << "</kbd></th><td>" << *l << "</td></tr>" << endl;
+ output << " <tr><th><kbd class=\"osc\">" << *p << "</kbd></th><td>" << *l << "</td></tr>" << endl;
}
output << " </tbody>\n </table>" << endl;
halt_connection.disconnect ();
AudioEngine::instance()->stop ();
- exit (0);
+ exit (EXIT_SUCCESS);
}
/* this being a GUI and all, we want peakfiles */
delete rc_option_editor; rc_option_editor = 0; // failed to wrap object warning
delete nsm; nsm = 0;
delete gui_object_state; gui_object_state = 0;
+ delete _shared_popup_menu ; _shared_popup_menu = 0;
delete main_window_visibility;
FastMeter::flush_pattern_cache ();
ArdourFader::flush_pattern_cache ();
c.signal_toggled().connect (sigc::hide_return (sigc::bind (sigc::ptr_fun (toggle_file_existence), path)));
if (d.run () != RESPONSE_OK) {
- _exit (0);
+ _exit (EXIT_SUCCESS);
}
}
#endif
recent_session_dialog.hide();
return;
} else {
- exit (1);
+ exit (EXIT_FAILURE);
}
}
ARDOUR_COMMAND_LINE::session_name = "";
if (get_session_parameters (true, false)) {
- exit (1);
+ exit (EXIT_FAILURE);
}
}
}
if (ret == -2) {
/* not connected to the AudioEngine, so quit to avoid an infinite loop */
- exit (1);
+ exit (EXIT_FAILURE);
}
if (!ARDOUR_COMMAND_LINE::immediate_save.empty()) {
_session->save_state (ARDOUR_COMMAND_LINE::immediate_save, false);
- exit (1);
+ exit (EXIT_FAILURE);
}
/* clear this to avoid endless attempts to load the
ARDOUR_COMMAND_LINE::session_name = "";
if (get_session_parameters (true, false)) {
- exit (1);
+ exit (EXIT_FAILURE);
}
}
switch (response) {
case RESPONSE_CANCEL:
- exit (1);
+ exit (EXIT_FAILURE);
default:
break;
}
default:
return;
}
+ checker.hide();
ARDOUR::CleanupReport rep;
editor->prepare_for_cleanup ();
/* do not allow flush until a session is reloaded */
-
- Glib::RefPtr<Action> act = ActionManager::get_action (X_("Main"), X_("FlushWastebasket"));
- if (act) {
- act->set_sensitive (false);
- }
+ ActionManager::get_action (X_("Main"), X_("FlushWastebasket"))->set_sensitive (false);
if (_session->cleanup_sources (rep)) {
editor->finish_cleanup ();
editor->finish_cleanup ();
- checker.hide();
display_cleanup_results (rep, _("Cleaned Files"), false);
}
session_add_midi_bus (route_group, count, name_template, strict_io, instrument, 0, order);
break;
case AddRouteDialog::VCAMaster:
- if (!_session->vca_manager().create_vca (count, name_template).empty ()) {
- ActionManager::get_toggle_action ("Mixer", "ToggleVCAPane")->set_active (true);
- }
+ _session->vca_manager().create_vca (count, name_template);
break;
case AddRouteDialog::FoldbackBus:
session_add_foldback_bus (count, name_template);
msg.run ();
}
-void
-ARDOUR_UI::add_editor_meter_type_item (Menu_Helpers::MenuList& items, RadioMenuItem::Group& group, string const & name, MeterType type)
-{
- using namespace Menu_Helpers;
-
- items.push_back (RadioMenuElem (group, name, sigc::bind (sigc::mem_fun (editor_meter, &LevelMeterHBox::set_meter_type), type)));
- RadioMenuItem* i = dynamic_cast<RadioMenuItem *> (&items.back ());
- i->set_active (editor_meter->meter_type () == type);
-}
-
-void
-ARDOUR_UI::popup_editor_meter_menu (GdkEventButton* ev)
-{
- using namespace Gtk::Menu_Helpers;
-
- Gtk::Menu* m = manage (new Menu);
- MenuList& items = m->items ();
-
- RadioMenuItem::Group group;
-
- _suspend_editor_meter_callbacks = true;
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak), MeterPeak);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak0dB), MeterPeak0dB);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterKrms), MeterKrms);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterIEC1DIN), MeterIEC1DIN);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterIEC1NOR), MeterIEC1NOR);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterIEC2BBC), MeterIEC2BBC);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterIEC2EBU), MeterIEC2EBU);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterK20), MeterK20);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterK14), MeterK14);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterK12), MeterK12);
- add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterVU), MeterVU);
-
- m->popup (ev->button, ev->time);
- _suspend_editor_meter_callbacks = false;
-}
-
-bool
-ARDOUR_UI::editor_meter_button_press (GdkEventButton* ev)
-{
- if (ev->button == 3 && editor_meter) {
- popup_editor_meter_menu (ev);
- return true;
- }
- return false;
-}
-
void
ARDOUR_UI::reset_peak_display ()
{
_pending_locate_num = _pending_locate_num*10 + num;
} else {
switch (num) {
- case 0: toggle_roll(false, false); break;
- case 1: transport_rewind(1); break;
- case 2: transport_forward(1); break;
- case 3: transport_record(true); break;
- case 4: toggle_session_auto_loop(); break;
- case 5: transport_record(false); toggle_session_auto_loop(); break;
- case 6: toggle_punch(); break;
- case 7: toggle_click(); break;
- case 8: toggle_auto_return(); break;
- case 9: toggle_follow_edits(); break;
+ case 0: toggle_roll(false, false); break;
+ case 1: transport_rewind(1); break;
+ case 2: transport_forward(1); break;
+ case 3: transport_record(true); break;
+ case 4: toggle_session_auto_loop(); break;
+ case 5: transport_record(false); toggle_session_auto_loop(); break;
+ case 6: toggle_punch(); break;
+ case 7: toggle_click(); break;
+ case 8: toggle_auto_return(); break;
+ case 9: toggle_follow_edits(); break;
}
}
}
case Gtk::RESPONSE_NO:
/* save and quit */
save_state_canfail ("");
- exit (0);
+ exit (EXIT_SUCCESS);
break;
case Gtk::RESPONSE_CANCEL:
Glib::RefPtr<ToggleAction> tact = ActionManager::get_toggle_action (X_("Monitor"), "monitor-mono");
_monitor->set_mono (tact->get_active());
}
+
+Gtk::Menu*
+ARDOUR_UI::shared_popup_menu ()
+{
+ ENSURE_GUI_THREAD (*this, &ARDOUR_UI::shared_popup_menu, ignored);
+
+ assert (!_shared_popup_menu || !_shared_popup_menu->is_visible());
+ delete _shared_popup_menu;
+ _shared_popup_menu = new Gtk::Menu;
+ return _shared_popup_menu;
+}