Fix MIDI rec-region display
authorRobin Gareus <robin@gareus.org>
Sun, 1 Oct 2017 01:30:02 +0000 (03:30 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 1 Oct 2017 01:30:02 +0000 (03:30 +0200)
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
libs/ardour/ardour/disk_writer.h
libs/ardour/disk_reader.cc
libs/ardour/disk_writer.cc
libs/ardour/midi_track.cc

index 04e4ccb3a149006aff4220fa6de0cf2c8b77ed58..4bc78cbd6794c934c6bf43f5faa74c6a911fed57 100644 (file)
@@ -104,7 +104,6 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor
        friend class MidiTrack;
 
        void resolve_tracker (Evoral::EventSink<samplepos_t>& buffer, samplepos_t time);
-       boost::shared_ptr<MidiBuffer> get_gui_feed_buffer () const;
 
        void playlist_changed (const PBD::PropertyChange&);
        int use_playlist (DataType, boost::shared_ptr<Playlist>);
@@ -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);
index fba494d3836cc649848094ef63a0610e5e07110e..59267f5f8f08e0516700f61d142219a23aab028c 100644 (file)
@@ -129,6 +129,8 @@ public:
 
        void adjust_buffering ();
 
+       boost::shared_ptr<MidiBuffer> get_gui_feed_buffer () const;
+
 protected:
        friend class Track;
        int do_flush (RunContext context, bool force = false);
index f610ce495055a4ed14437b726cc93ce884ec8fa7..a3e3773c5387b9570a84c0ff67dcf75d564ae094 100644 (file)
@@ -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<Processor> p, list< Evora
        }
 }
 
-boost::shared_ptr<MidiBuffer>
-DiskReader::get_gui_feed_buffer () const
-{
-       boost::shared_ptr<MidiBuffer> 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 ()
 {
index 8fec82fa2afabafd0ec71ec3690e3bbb3723d8eb..e1997e0bbdb4ab926ecb27153879cda0f947b007 100644 (file)
@@ -648,6 +648,16 @@ DiskWriter::finish_capture (boost::shared_ptr<ChannelList> c)
        first_recordable_sample = max_samplepos;
 }
 
+boost::shared_ptr<MidiBuffer>
+DiskWriter::get_gui_feed_buffer () const
+{
+       boost::shared_ptr<MidiBuffer> 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)
 {
index e6734ed08c196738071a379d386c222bbba7143a..11e6bec41b463582ea5f04c0bdb8b0bee0441cc4 100644 (file)
@@ -752,7 +752,7 @@ MidiTrack::track_input_active (IOChange change, void* /* src */)
 boost::shared_ptr<MidiBuffer>
 MidiTrack::get_gui_feed_buffer () const
 {
-       return _disk_reader->get_gui_feed_buffer ();
+       return _disk_writer->get_gui_feed_buffer ();
 }
 
 void