summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audio_unit.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-06-25 02:23:56 +0200
committerRobin Gareus <robin@gareus.org>2016-06-25 02:23:56 +0200
commite9a8ccc7e2826d8fe91eff34ee8a0683a7f7aac6 (patch)
tree50b54d5b0c31caf97d80a739c182ad5a101ecec5 /libs/ardour/ardour/audio_unit.h
parent6a12022ccf96261d61dce06b8da6c3116fb289a1 (diff)
major internal plugin & processor API change:
Pass current (latency compensated) cycle times to plugin. This fixes time-reporting to plugins and also fixes automation and when bouncing (the session->transport* is not valid) etc.
Diffstat (limited to 'libs/ardour/ardour/audio_unit.h')
-rw-r--r--libs/ardour/ardour/audio_unit.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audio_unit.h b/libs/ardour/ardour/audio_unit.h
index 448584251c..b02a0d3b80 100644
--- a/libs/ardour/ardour/audio_unit.h
+++ b/libs/ardour/ardour/audio_unit.h
@@ -171,6 +171,8 @@ class LIBARDOUR_API AUPlugin : public ARDOUR::Plugin
std::vector<std::pair<int,int> > io_configs;
pframes_t _current_block_size;
framecnt_t _last_nframes;
+ framepos_t _transport_frame;
+ framepos_t _transport_speed;
bool _requires_fixed_size_buffers;
AudioBufferList* buffers;
bool _has_midi_input;
@@ -226,8 +228,9 @@ class LIBARDOUR_API AUPlugin : public ARDOUR::Plugin
void discover_factory_presets ();
- bool last_transport_rolling;
- float last_transport_speed;
+ framepos_t transport_frame;
+ float transport_speed;
+ floa t last_transport_speed;
static void _parameter_change_listener (void* /*arg*/, void* /*src*/, const AudioUnitEvent* event, UInt64 host_time, Float32 new_value);
void parameter_change_listener (void* /*arg*/, void* /*src*/, const AudioUnitEvent* event, UInt64 host_time, Float32 new_value);