From c5a92ef81310f3e449d029061bce674461134924 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 1 Oct 2017 03:30:02 +0200 Subject: Fix MIDI rec-region display gui_feed_buffer is used for DiskWriter -> GUI notifications. It was wrongly migrated from MidiDiskstream to DiskReader in 7fb6807 --- libs/ardour/ardour/disk_reader.h | 9 --------- libs/ardour/ardour/disk_writer.h | 2 ++ libs/ardour/disk_reader.cc | 11 ----------- libs/ardour/disk_writer.cc | 10 ++++++++++ libs/ardour/midi_track.cc | 2 +- 5 files changed, 13 insertions(+), 21 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h index 04e4ccb3a1..4bc78cbd67 100644 --- a/libs/ardour/ardour/disk_reader.h +++ b/libs/ardour/ardour/disk_reader.h @@ -104,7 +104,6 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor friend class MidiTrack; void resolve_tracker (Evoral::EventSink& buffer, samplepos_t time); - boost::shared_ptr get_gui_feed_buffer () const; void playlist_changed (const PBD::PropertyChange&); int use_playlist (DataType, boost::shared_ptr); @@ -127,14 +126,6 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor static samplecnt_t midi_readahead; static bool _no_disk_output; - /* The MIDI stuff */ - - /** A buffer that we use to put newly-arrived MIDI data in for - the GUI to read (so that it can update itself). - */ - MidiBuffer _gui_feed_buffer; - mutable Glib::Threads::Mutex _gui_feed_buffer_mutex; - int audio_read (Sample* buf, Sample* mixdown_buffer, float* gain_buffer, samplepos_t& start, samplecnt_t cnt, int channel, bool reversed); diff --git a/libs/ardour/ardour/disk_writer.h b/libs/ardour/ardour/disk_writer.h index fba494d383..59267f5f8f 100644 --- a/libs/ardour/ardour/disk_writer.h +++ b/libs/ardour/ardour/disk_writer.h @@ -129,6 +129,8 @@ public: void adjust_buffering (); + boost::shared_ptr get_gui_feed_buffer () const; + protected: friend class Track; int do_flush (RunContext context, bool force = false); diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index f610ce4950..a3e3773c53 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -54,7 +54,6 @@ DiskReader::DiskReader (Session& s, string const & str, DiskIOProcessor::Flag f) , overwrite_offset (0) , _pending_overwrite (false) , overwrite_queued (false) - , _gui_feed_buffer (AudioEngine::instance()->raw_buffer_size (DataType::MIDI)) { file_sample[DataType::AUDIO] = 0; file_sample[DataType::MIDI] = 0; @@ -1205,16 +1204,6 @@ DiskReader::move_processor_automation (boost::weak_ptr p, list< Evora } } -boost::shared_ptr -DiskReader::get_gui_feed_buffer () const -{ - boost::shared_ptr b (new MidiBuffer (AudioEngine::instance()->raw_buffer_size (DataType::MIDI))); - - Glib::Threads::Mutex::Lock lm (_gui_feed_buffer_mutex); - b->copy (_gui_feed_buffer); - return b; -} - void DiskReader::reset_tracker () { diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc index 8fec82fa2a..e1997e0bbd 100644 --- a/libs/ardour/disk_writer.cc +++ b/libs/ardour/disk_writer.cc @@ -648,6 +648,16 @@ DiskWriter::finish_capture (boost::shared_ptr c) first_recordable_sample = max_samplepos; } +boost::shared_ptr +DiskWriter::get_gui_feed_buffer () const +{ + boost::shared_ptr b (new MidiBuffer (AudioEngine::instance()->raw_buffer_size (DataType::MIDI))); + + Glib::Threads::Mutex::Lock lm (_gui_feed_buffer_mutex); + b->copy (_gui_feed_buffer); + return b; +} + void DiskWriter::set_record_enabled (bool yn) { diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index e6734ed08c..11e6bec41b 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -752,7 +752,7 @@ MidiTrack::track_input_active (IOChange change, void* /* src */) boost::shared_ptr MidiTrack::get_gui_feed_buffer () const { - return _disk_reader->get_gui_feed_buffer (); + return _disk_writer->get_gui_feed_buffer (); } void -- cgit v1.2.3