summaryrefslogtreecommitdiff
path: root/libs/ardour/session_export.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_export.cc')
-rw-r--r--libs/ardour/session_export.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc
index b39c4f2218..c5449d3e06 100644
--- a/libs/ardour/session_export.cc
+++ b/libs/ardour/session_export.cc
@@ -46,6 +46,7 @@
#include <ardour/export.h>
#include <ardour/sndfile_helpers.h>
#include <ardour/port.h>
+#include <ardour/audio_port.h>
#include <ardour/audioengine.h>
#include <ardour/audio_diskstream.h>
#include <ardour/panner.h>
@@ -604,8 +605,12 @@ Session::process_export (jack_nframes_t nframes, AudioExportSpecification* spec)
/* OK, this port's output is supposed to appear on this channel
*/
- Port* port = (*t).first;
- Sample* port_buffer = port->get_buffer (nframes);
+ AudioPort* const port = dynamic_cast<AudioPort*>((*t).first);
+ if (port == 0) {
+ cerr << "FIXME: Non-audio export" << endl;
+ continue;
+ }
+ Sample* port_buffer = port->get_audio_buffer().data(nframes);
/* now interleave the data from the channel into the float buffer */