diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/audio_port.h | 3 | ||||
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/libs/ardour/ardour/audio_port.h b/libs/ardour/ardour/audio_port.h index 6b534afe62..7f084a5c85 100644 --- a/libs/ardour/ardour/audio_port.h +++ b/libs/ardour/ardour/audio_port.h @@ -49,9 +49,12 @@ class AudioPort : public Port friend class AudioEngine; AudioPort (std::string const &, Flags); + /* special access for engine only */ + Sample* engine_get_whole_audio_buffer (); private: AudioBuffer* _buffer; + bool _buf_valid; }; } // namespace ARDOUR diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index fdaf864a0d..73e40e8ab4 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -268,6 +268,9 @@ private: Glib::Mutex _process_lock; Glib::Cond session_removed; bool session_remove_pending; + frameoffset_t session_removal_countdown; + gain_t session_removal_gain; + gain_t session_removal_gain_step; bool _running; bool _has_run; mutable framecnt_t _buffer_size; @@ -283,6 +286,8 @@ private: bool _pre_freewheel_mmc_enabled; int _usecs_per_cycle; bool port_remove_in_progress; + Glib::Thread* m_meter_thread; + ProcessThread* _main_thread; SerializedRCUManager<Ports> ports; @@ -331,11 +336,8 @@ private: void start_metering_thread (); void stop_metering_thread (); - Glib::Thread* m_meter_thread; static gint m_meter_exit; - ProcessThread* _main_thread; - struct ThreadData { AudioEngine* engine; boost::function<void()> f; |