diff options
-rw-r--r-- | libs/ardour/ardour/disk_reader.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/track.h | 3 | ||||
-rw-r--r-- | libs/ardour/disk_reader.cc | 1 | ||||
-rw-r--r-- | libs/ardour/track.cc | 6 |
4 files changed, 15 insertions, 1 deletions
diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h index 9027bf3282..98caca30b0 100644 --- a/libs/ardour/ardour/disk_reader.h +++ b/libs/ardour/ardour/disk_reader.h @@ -93,6 +93,10 @@ public: void playlist_modified (); void reset_tracker (); + bool declick_in_progress () const { + return _declick_gain != 0; // declick-out + } + static void set_midi_readahead_samples (samplecnt_t samples_ahead) { midi_readahead = samples_ahead; } static void set_no_disk_output (bool yn); @@ -132,6 +136,8 @@ private: IOChange input_change_pending; samplepos_t file_sample[DataType::num_types]; + gain_t _declick_gain; + int _do_refill_with_alloc (bool partial_fill); static samplecnt_t _chunk_samples; diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h index 148fec652d..2ec5a0f4aa 100644 --- a/libs/ardour/ardour/track.h +++ b/libs/ardour/ardour/track.h @@ -64,7 +64,8 @@ public: bool set_processor_state (XMLNode const & node, XMLProperty const* prop, ProcessorList& new_order, bool& must_configure); - bool needs_butler() const { return _needs_butler; } + bool needs_butler () const { return _needs_butler; } + bool declick_in_progress () const; bool can_record(); diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index 2673da56b9..b943110b44 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -56,6 +56,7 @@ DiskReader::DiskReader (Session& s, string const & str, DiskIOProcessor::Flag f) , overwrite_offset (0) , _pending_overwrite (false) , overwrite_queued (false) + , _declick_gain (0) { file_sample[DataType::AUDIO] = 0; file_sample[DataType::MIDI] = 0; diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 072ae27d08..78b5a209cc 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -251,6 +251,12 @@ Track::freeze_state() const } bool +Track::declick_in_progress () const +{ + return _disk_reader->declick_in_progress (); +} + +bool Track::can_record() { bool will_record = true; |