X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_track.h;h=ada58e8ebe6c9b3834140d20d48056855063140e;hb=6a436fd826d1c9d88b60287696cc0836ccce35aa;hp=80124300fd7a5c624e1e7ee4dad5a6152fb5495b;hpb=86ac707573a5f5124c4a26b4e48e9756415700c4;p=ardour.git diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h index 80124300fd..ada58e8ebe 100644 --- a/libs/ardour/ardour/audio_track.h +++ b/libs/ardour/ardour/audio_track.h @@ -20,6 +20,7 @@ #ifndef __ardour_audio_track_h__ #define __ardour_audio_track_h__ +#include "ardour/interthread_info.h" #include "ardour/track.h" namespace ARDOUR { @@ -28,7 +29,7 @@ class Session; class AudioDiskstream; class AudioPlaylist; class RouteGroup; -class AudioFileSource; +class AudioFileSource; class AudioTrack : public Track { @@ -40,36 +41,37 @@ class AudioTrack : public Track bool can_use_mode (TrackMode m, bool& bounce_required); int roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, - int declick, bool can_record, bool rec_monitors_input, bool& need_butler); + int declick, bool& need_butler); - void use_new_diskstream (); - void set_diskstream (boost::shared_ptr); + boost::shared_ptr create_diskstream (); + void set_diskstream (boost::shared_ptr); DataType data_type () const { return DataType::AUDIO; } - int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t nframes, bool enable_processing = true); - void freeze_me (InterThreadInfo&); void unfreeze (); + bool bounceable (boost::shared_ptr, bool include_endpoint) const; boost::shared_ptr bounce (InterThreadInfo&); - boost::shared_ptr bounce_range (framepos_t start, framepos_t end, InterThreadInfo&, bool enable_processing); + boost::shared_ptr bounce_range (framepos_t start, framepos_t end, InterThreadInfo&, + boost::shared_ptr endpoint, bool include_endpoint); + int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t nframes, + boost::shared_ptr endpoint, bool include_endpoint, bool for_export); - int set_state(const XMLNode&, int version); + int set_state (const XMLNode&, int version); boost::shared_ptr write_source (uint32_t n = 0); - bool bounceable () const; - protected: boost::shared_ptr audio_diskstream () const; XMLNode& state (bool full); - - int _set_state (const XMLNode&, int, bool call_base); private: + + boost::shared_ptr diskstream_factory (XMLNode const &); + int deprecated_use_diskstream_connections (); void set_state_part_two (); void set_state_part_three ();