X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_track.h;h=585d1a1e725d7aff096d9c433ae6cb177cfcb13d;hb=79f91c7a205d981d2b8cc15e32a6da02d8423065;hp=0405c303013230b86a3dd1e92ed2260982d22d02;hpb=45d3ec1437cf661533bc7750c623865def4424df;p=ardour.git diff --git a/libs/ardour/ardour/audio_track.h b/libs/ardour/ardour/audio_track.h index 0405c30301..585d1a1e72 100644 --- a/libs/ardour/ardour/audio_track.h +++ b/libs/ardour/ardour/audio_track.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2006 Paul Davis + Copyright (C) 2002-2006 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,7 @@ #ifndef __ardour_audio_track_h__ #define __ardour_audio_track_h__ -#include +#include "ardour/track.h" namespace ARDOUR { @@ -32,51 +32,40 @@ class RouteGroup; class AudioTrack : public Track { public: - AudioTrack (Session&, string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal); - AudioTrack (Session&, const XMLNode&); + AudioTrack (Session&, std::string name, Route::Flag f = Route::Flag (0), TrackMode m = Normal); + AudioTrack (Session&, const XMLNode&, int); ~AudioTrack (); - int set_mode (TrackMode m); + int set_mode (TrackMode m); bool can_use_mode (TrackMode m, bool& bounce_required); - int roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame, - nframes_t offset, int declick, bool can_record, bool rec_monitors_input); - - int no_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame, - nframes_t offset, bool state_changing, bool can_record, bool rec_monitors_input); - - int silent_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_frame, - nframes_t offset, bool can_record, bool rec_monitors_input); + int roll (nframes_t nframes, sframes_t start_frame, sframes_t end_frame, + int declick, bool can_record, bool rec_monitors_input); boost::shared_ptr audio_diskstream() const; - int use_diskstream (string name); + int use_diskstream (std::string name); int use_diskstream (const PBD::ID& id); - - int export_stuff (vector& buffers, uint32_t nbufs, nframes_t nframes, nframes_t end_frame); + + int export_stuff (BufferSet& bufs, sframes_t start_frame, nframes_t nframes, bool enable_processing = true); void freeze (InterThreadInfo&); void unfreeze (); - void bounce (InterThreadInfo&); - void bounce_range (nframes_t start, nframes_t end, InterThreadInfo&); + boost::shared_ptr bounce (InterThreadInfo&); + boost::shared_ptr bounce_range (nframes_t start, nframes_t end, InterThreadInfo&, bool enable_processing); - int set_state(const XMLNode& node); + int set_state(const XMLNode&, int version = 3000); protected: XMLNode& state (bool full); - - void passthru_silence (nframes_t start_frame, nframes_t end_frame, - nframes_t nframes, nframes_t offset, int declick, - bool meter); - - uint32_t n_process_buffers (); - - int _set_state (const XMLNode&, bool call_base); + 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 (); };