diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-03-15 21:40:17 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-03-15 21:40:17 +0000 |
commit | f07ca6397f5699e4dc4ec1e360f9e263d8a0d9ad (patch) | |
tree | 67d6fd1dea33e5adc8f84886dfeeaa46ca84051e /libs/ardour/ardour/track.h | |
parent | cfaf6ff7e3726bdfa97516fe683dc3cf93c62223 (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.h | 14 |
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); |