summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/track.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-03-15 21:40:17 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-03-15 21:40:17 +0000
commitf07ca6397f5699e4dc4ec1e360f9e263d8a0d9ad (patch)
tree67d6fd1dea33e5adc8f84886dfeeaa46ca84051e /libs/ardour/ardour/track.h
parentcfaf6ff7e3726bdfa97516fe683dc3cf93c62223 (diff)
radically rethink export/bounce/freeze code design. probably not 100% done by freeze+unfreeze now work and behave sensibly w.r.t. processors that do routing
git-svn-id: svn://localhost/ardour2/branches/3.0@11701 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/track.h')
-rw-r--r--libs/ardour/ardour/track.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index 9901d93923..587a8dcd1b 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -21,6 +21,7 @@
#include <boost/shared_ptr.hpp>
+#include "ardour/interthread_info.h"
#include "ardour/route.h"
#include "ardour/public_diskstream.h"
@@ -87,8 +88,14 @@ class Track : public Route, public PublicDiskstream
virtual void freeze_me (InterThreadInfo&) = 0;
virtual void unfreeze () = 0;
+ /** @return true if the track can be bounced, or false otherwise.
+ */
+ virtual bool bounceable (boost::shared_ptr<Processor> endpoint, bool include_endpoint) const = 0;
virtual boost::shared_ptr<Region> bounce (InterThreadInfo&) = 0;
- virtual boost::shared_ptr<Region> bounce_range (framepos_t start, framepos_t end, InterThreadInfo&, bool enable_processing = true) = 0;
+ virtual boost::shared_ptr<Region> bounce_range (framepos_t start, framepos_t end, InterThreadInfo&,
+ boost::shared_ptr<Processor> endpoint, bool include_endpoint) = 0;
+ virtual int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t nframes,
+ boost::shared_ptr<Processor> endpoint, bool include_endpoint, bool for_export) = 0;
XMLNode& get_state();
XMLNode& get_template();
@@ -104,11 +111,6 @@ class Track : public Route, public PublicDiskstream
void set_block_size (pframes_t);
- /** @return true if the track can be bounced, or false if it cannot because
- * it has more outputs than diskstream channels.
- */
- virtual bool bounceable () const = 0;
-
/* PublicDiskstream interface */
boost::shared_ptr<Playlist> playlist ();
void request_jack_monitors_input (bool);