Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.

git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-04-21 20:42:22 +00:00
parent d9cebc2edf
commit 061a85191c
65 changed files with 1239 additions and 944 deletions

View file

@ -21,14 +21,13 @@
#include "pbd/error.h"
#include <glibmm/thread.h>
#include "ardour/audio_diskstream.h"
#include "ardour/audioengine.h"
#include "ardour/butler.h"
#include "ardour/export_failed.h"
#include "ardour/export_handler.h"
#include "ardour/export_status.h"
#include "ardour/route.h"
#include "ardour/session.h"
#include "ardour/track.h"
#include "i18n.h"
@ -105,10 +104,11 @@ Session::start_audio_export (nframes_t position, bool /* realtime */)
/* get everyone to the right position */
{
boost::shared_ptr<DiskstreamList> dsl = diskstreams.reader();
boost::shared_ptr<RouteList> rl = routes.reader();
for (DiskstreamList::iterator i = dsl->begin(); i != dsl->end(); ++i) {
if ((*i)-> seek (position, true)) {
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
if (tr && tr->seek (position, true)) {
error << string_compose (_("%1: cannot seek to %2 for export"),
(*i)->name(), position)
<< endmsg;