X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_track.h;h=ee25837481b24dc8eb547d86d997b6e7d70f210f;hb=6bd583803ea1daf19a1c088766122b5cdf340171;hp=8e31db34fd33e53cffa60a8784a91429d3a24c85;hpb=ede4ecbb00ecc866c502454c81e711baea780ccd;p=ardour.git diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h index 8e31db34fd..ee25837481 100644 --- a/libs/ardour/ardour/audio_track.h +++ b/libs/ardour/ardour/audio_track.h @@ -20,52 +20,40 @@ #ifndef __ardour_audio_track_h__ #define __ardour_audio_track_h__ +#include "ardour/interthread_info.h" #include "ardour/track.h" namespace ARDOUR { class Session; -class AudioDiskstream; class AudioPlaylist; class RouteGroup; -class AudioFileSource; +class AudioFileSource; -class AudioTrack : public Track +class LIBARDOUR_API AudioTrack : public Track { public: - AudioTrack (Session&, std::string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal); + AudioTrack (Session&, std::string name, TrackMode m = Normal); ~AudioTrack (); - int set_mode (TrackMode m); - bool can_use_mode (TrackMode m, bool& bounce_required); - - int roll (nframes_t nframes, framepos_t start_frame, framepos_t end_frame, - int declick, bool can_record, bool rec_monitors_input, bool& need_butler); - - void use_new_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); + MonitorState get_auto_monitoring_state () const; 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 (nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing); + boost::shared_ptr bounce_range (samplepos_t start, samplepos_t end, InterThreadInfo&, + boost::shared_ptr endpoint, bool include_endpoint); + int export_stuff (BufferSet& bufs, samplepos_t start_sample, samplecnt_t nframes, + boost::shared_ptr endpoint, bool include_endpoint, bool for_export, bool for_freeze); - int set_state(const XMLNode&, int version); + int set_state (const XMLNode&, int version); boost::shared_ptr write_source (uint32_t n = 0); protected: - boost::shared_ptr audio_diskstream () const; - XMLNode& state (bool full); - - int _set_state (const XMLNode&, int, bool call_base); + XMLNode& state (bool save_template); private: int deprecated_use_diskstream_connections ();