#include <list>
#include <vector>
+#include "pbd/i18n.h"
+
#include "ardour/disk_io.h"
#include "ardour/midi_buffer.h"
{
public:
DiskWriter (Session&, std::string const & name, DiskIOProcessor::Flag f = DiskIOProcessor::Flag (0));
+ ~DiskWriter ();
+
+ bool set_name (std::string const & str);
+ std::string display_name() const { return std::string (_("writer")); }
virtual bool set_write_source_name (const std::string& str);
void run (BufferSet& /*bufs*/, framepos_t /*start_frame*/, framepos_t /*end_frame*/, double speed, pframes_t /*nframes*/, bool /*result_required*/);
void non_realtime_locate (framepos_t);
+ void realtime_handle_transport_stopped ();
virtual XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
boost::shared_ptr<SMFSource> midi_write_source () { return _midi_write_source; }
- virtual std::string steal_write_source_name () { return std::string(); }
+ virtual std::string steal_write_source_name ();
int use_new_write_source (DataType, uint32_t n = 0);
void reset_write_sources (bool, bool force = false);
void set_input_latency (framecnt_t);
framecnt_t input_latency () const { return _input_latency; }
+ bool configure_io (ChanCount in, ChanCount out);
+
std::list<boost::shared_ptr<Source> >& last_capture_sources () { return _last_capture_sources; }
bool record_enabled() const { return g_atomic_int_get (const_cast<gint*>(&_record_enabled)); }
void transport_looped (framepos_t transport_frame);
void transport_stopped_wallclock (struct tm&, time_t, bool abort);
+ void adjust_buffering ();
+
protected:
friend class Track;
int do_flush (RunContext context, bool force = false);