diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-21 15:05:33 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-21 15:05:33 +0000 |
commit | 8ff34fde9d5bffb2f205a10a160c3a7f15c25141 (patch) | |
tree | c456e78bc02d3df4940d98cd685f676d4402ad38 /libs/ardour/midi_track.cc | |
parent | cc3d202571a0f1cbb3422d57dee9dc1fd743e187 (diff) |
correctly track monitoring changes in libardour and the GUI; required removing propagation of session rec-enabled status through process chain and replacing it with call to Session::actively_recording() where necessary (may require a new RT event)
git-svn-id: svn://localhost/ardour2/branches/3.0@10265 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index fb323e12dc..9145cad7f3 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -312,8 +312,7 @@ MidiTrack::set_state_part_two () } int -MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick, - bool can_record, bool& needs_butler) +MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, int declick, bool& needs_butler) { Glib::RWLock::ReaderLock lm (_processor_lock, Glib::TRY_LOCK); if (!lm.locked()) { @@ -341,12 +340,12 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame playback distance to zero, thus causing diskstream::commit to do nothing. */ - return diskstream->process (transport_frame, 0, can_record, needs_butler); + return diskstream->process (transport_frame, 0, needs_butler); } _silent = false; - if ((dret = diskstream->process (transport_frame, nframes, can_record, needs_butler)) != 0) { + if ((dret = diskstream->process (transport_frame, nframes, needs_butler)) != 0) { silence (nframes); return dret; } @@ -357,7 +356,7 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame _input->process_input (_meter, start_frame, end_frame, nframes); } - if (should_monitor_input ()) { + if (monitoring_state() == MonitoringInput) { /* not actually recording, but we want to hear the input material anyway, at least potentially (depending on monitoring options) @@ -411,10 +410,9 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame } int -MidiTrack::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, - bool state_changing, bool can_record) +MidiTrack::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, bool state_changing) { - int ret = Track::no_roll (nframes, start_frame, end_frame, state_changing, can_record); + int ret = Track::no_roll (nframes, start_frame, end_frame, state_changing); if (ret == 0 && _step_editing) { push_midi_input_to_step_edit_ringbuffer (nframes); |