summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audio_port.h3
-rw-r--r--libs/ardour/ardour/audioengine.h8
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;