class DiskReader;
class DiskWriter;
class IO;
-class Location;
class RecordEnableControl;
class RecordSafeControl;
*/
class LIBARDOUR_API Track : public Route, public Recordable
{
- public:
+public:
Track (Session&, std::string name, PresentationInfo::Flag f = PresentationInfo::Flag (0), TrackMode m = Normal, DataType default_type = DataType::AUDIO);
virtual ~Track ();
bool set_processor_state (XMLNode const & node, XMLProperty const* prop, ProcessorList& new_order, bool& must_configure);
- virtual int no_roll_unlocked (pframes_t nframes, samplepos_t start_sample, samplepos_t end_sample, bool state_changing);
-
bool needs_butler() const { return _needs_butler; }
bool can_record();
virtual int export_stuff (BufferSet& bufs, samplepos_t start_sample, samplecnt_t nframes,
boost::shared_ptr<Processor> endpoint, bool include_endpoint, bool for_export, bool for_freeze) = 0;
- XMLNode& get_state();
- XMLNode& get_template();
virtual int set_state (const XMLNode&, int version);
static void zero_diskstream_id_in_xml (XMLNode&);
void non_realtime_speed_change ();
int overwrite_existing_buffers ();
samplecnt_t get_captured_samples (uint32_t n = 0) const;
- int set_loop (ARDOUR::Location *);
void transport_looped (samplepos_t);
- bool realtime_speed_change ();
void transport_stopped_wallclock (struct tm &, time_t, bool);
bool pending_overwrite () const;
void set_slaved (bool);
PBD::Signal0<void> SpeedChanged;
PBD::Signal0<void> AlignmentStyleChanged;
- protected:
- XMLNode& state (bool full);
+protected:
+ XMLNode& state (bool save_template);
boost::shared_ptr<Playlist> _playlists[DataType::num_types];