-AudioBuffer &
-AudioPort::get_audio_buffer( nframes_t nframes, nframes_t offset ) {
-
- if (_has_been_mixed_down)
- return *_buffer;
-
- if (_flags & IsInput) {
-
- if (_ext_port) {
- _buffer->read_from (dynamic_cast<BaseAudioPort*>(_ext_port)->get_audio_buffer (nframes, offset), nframes, offset);
-
- if (!_connections.empty()) {
- (*_mixdown) (_connections, _buffer, nframes, offset, false);
- }
+Sample*
+AudioPort::engine_get_whole_audio_buffer ()
+{
+ /* caller must hold process lock */
+ return (Sample *) port_engine.get_buffer (_port_handle, _cycle_nframes);
+}