X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_track.h;h=8e31db34fd33e53cffa60a8784a91429d3a24c85;hb=844b7d0f684eaf01a8d553f935027f496a09c3ad;hp=faae97d85a34fc3bb097807a65d7855bdf3333a8;hpb=b3a3e66f7755fe35ace4cbb6b19b54a52bb71a2f;p=ardour.git diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h index faae97d85a..8e31db34fd 100644 --- a/libs/ardour/ardour/audio_track.h +++ b/libs/ardour/ardour/audio_track.h @@ -28,6 +28,7 @@ class Session; class AudioDiskstream; class AudioPlaylist; class RouteGroup; +class AudioFileSource; class AudioTrack : public Track { @@ -38,15 +39,17 @@ class AudioTrack : public Track int set_mode (TrackMode m); bool can_use_mode (TrackMode m, bool& bounce_required); - int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame, - int declick, bool can_record, bool rec_monitors_input); + 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); - boost::shared_ptr audio_diskstream() const; + void use_new_diskstream (); + void set_diskstream (boost::shared_ptr); - int use_diskstream (std::string name); - int use_diskstream (const PBD::ID& id); + DataType data_type () const { + return DataType::AUDIO; + } - int export_stuff (BufferSet& bufs, sframes_t start_frame, nframes_t nframes, bool enable_processing = true); + int export_stuff (BufferSet& bufs, framepos_t start_frame, framecnt_t nframes, bool enable_processing = true); void freeze_me (InterThreadInfo&); void unfreeze (); @@ -56,15 +59,16 @@ class AudioTrack : public Track 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); private: - int set_diskstream (boost::shared_ptr, void *); int deprecated_use_diskstream_connections (); - void use_new_diskstream (); void set_state_part_two (); void set_state_part_three (); };