diff options
author | David Robillard <d@drobilla.net> | 2006-08-11 03:24:57 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-08-11 03:24:57 +0000 |
commit | 30c08ba655330232767554c48bda1975bfb5628c (patch) | |
tree | c6bf6b62de69afdd6b2a42ef3a7d9f80e0f65f7c /libs/ardour/session_export.cc | |
parent | ab6f1ed9bafa869648b6e94ee5186ff317b32c3e (diff) |
- Changed IO's vector<Port*>'s to PortList
- Added new Port classes, code to drive them
- Added PortList, which is a filthy mess ATM (nevermind that, it's the interface that's important at this stage)
- Added ChanCount, though it isn't very thoroughly used yet. That's the next step....
- Fixed a few bugs relating to loading sessions saved with trunk
- Fixed a few random other bugs
Slowly working towards type agnosticism while keeping all the former code/logic intact is the name of the game here
Warning: Removing ports is currently (intentionally) broken due solely to laziness.
git-svn-id: svn://localhost/ardour2/branches/midi@786 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_export.cc')
-rw-r--r-- | libs/ardour/session_export.cc | 9 |
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 */ |