diff -dupr ardour-0.9beta23.0/libs/ardour/ardour/session.h ardour-0.9beta23.1/libs/ardour/ardour/session.h --- ardour-0.9beta23.0/libs/ardour/ardour/session.h 2005-01-05 01:28:52.000000000 +0000 +++ ardour-0.9beta23.1/libs/ardour/ardour/session.h 2005-01-17 23:57:18.000000000 +0000 @@ -1226,6 +1226,7 @@ class Session : public SigC::Object, pub void mmc_deferred_play (MIDI::MachineControl &); void mmc_stop (MIDI::MachineControl &); void mmc_step (MIDI::MachineControl &, int); + void mmc_record_pause (MIDI::MachineControl &); void mmc_record_strobe (MIDI::MachineControl &); void mmc_record_exit (MIDI::MachineControl &); void mmc_track_record_status (MIDI::MachineControl &, diff -dupr ardour-0.9beta23.0/libs/ardour/session_midi.cc ardour-0.9beta23.1/libs/ardour/session_midi.cc --- ardour-0.9beta23.0/libs/ardour/session_midi.cc 2004-12-15 14:49:30.000000000 +0000 +++ ardour-0.9beta23.1/libs/ardour/session_midi.cc 2005-01-17 23:58:47.000000000 +0000 @@ -239,6 +239,8 @@ Session::set_mmc_port (string port_tag) (slot (*this, &Session::mmc_fast_forward)); mmc->Rewind.connect (slot (*this, &Session::mmc_rewind)); + mmc->RecordPause.connect + (slot (*this, &Session::mmc_record_pause)); mmc->RecordStrobe.connect (slot (*this, &Session::mmc_record_strobe)); mmc->RecordExit.connect @@ -559,6 +561,14 @@ Session::mmc_deferred_play (MIDI::Machin } void +Session::mmc_record_pause (MIDI::MachineControl &mmc) +{ + if (mmc_control) { + maybe_enable_record(); + } +} + +void Session::mmc_record_strobe (MIDI::MachineControl &mmc) { if (!mmc_control)