Bypass disk xrun bail out goto's when stop on xrun option is not selected. For now...
authorDoug McLain <doug@nostar.net>
Mon, 12 Nov 2007 23:24:20 +0000 (23:24 +0000)
committerDoug McLain <doug@nostar.net>
Mon, 12 Nov 2007 23:24:20 +0000 (23:24 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2629 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour_ui_ed.cc
libs/ardour/audio_diskstream.cc

index 0143f3c60e78ff9846a65d4ba3aeb638ab8fb52a..5e0b1649c1ab878a4260bfc00ad75d1c23434a73 100644 (file)
@@ -410,7 +410,7 @@ ARDOUR_UI::install_actions ()
        ActionManager::register_toggle_action (option_actions, X_("StopPluginsWithTransport"), _("Stop plugins with transport"), mem_fun (*this, &ARDOUR_UI::toggle_StopPluginsWithTransport));
        ActionManager::register_toggle_action (option_actions, X_("VerifyRemoveLastCapture"), _("Verify remove last capture"), mem_fun (*this, &ARDOUR_UI::toggle_VerifyRemoveLastCapture));
        ActionManager::register_toggle_action (option_actions, X_("PeriodicSafetyBackups"), _("Make periodic safety backups"), mem_fun (*this, &ARDOUR_UI::toggle_PeriodicSafetyBackups));
-       ActionManager::register_toggle_action (option_actions, X_("StopRecordingOnXrun"), _("Stop recording on xrun"), mem_fun (*this, &ARDOUR_UI::toggle_StopRecordingOnXrun));
+       ActionManager::register_toggle_action (option_actions, X_("StopRecordingOnXrun"), _("Stop recording on audio/disk xrun"), mem_fun (*this, &ARDOUR_UI::toggle_StopRecordingOnXrun));
        ActionManager::register_toggle_action (option_actions, X_("StopTransportAtEndOfSession"), _("Stop transport at session end"), mem_fun (*this, &ARDOUR_UI::toggle_StopTransportAtEndOfSession));
        ActionManager::register_toggle_action (option_actions, X_("GainReduceFastTransport"), _("-12dB gain reduce ffwd/rewind"), mem_fun (*this, &ARDOUR_UI::toggle_GainReduceFastTransport));
        ActionManager::register_toggle_action (option_actions, X_("LatchedRecordEnable"), _("Rec-enable stays engaged at stop"), mem_fun (*this, &ARDOUR_UI::toggle_LatchedRecordEnable));
index 6642cee3697adbfddec7248d690640c7ea1eb7d2..bdea87a579477d06fc069d3a5f56fa988c791ca2 100644 (file)
@@ -647,7 +647,9 @@ AudioDiskstream::process (nframes_t transport_frame, nframes_t nframes, nframes_
 
                                if (rec_nframes > total) {
                                        DiskOverrun ();
-                                       goto out;
+                                       if (Config->get_stop_recording_on_xrun()) {
+                                               goto out;
+                                       }
                                }
 
                                Sample* buf = _io->input (n)->get_buffer (nframes) + offset;
@@ -743,7 +745,9 @@ AudioDiskstream::process (nframes_t transport_frame, nframes_t nframes, nframes_
                                
                                if (necessary_samples > total) {
                                        DiskUnderrun ();
-                                       goto out;
+                                       if (Config->get_stop_recording_on_xrun()) {
+                                               goto out;
+                                       }
                                        
                                } else {