X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_diskstream.h;h=0ab9231252d124bcbc473e4cb0314efc7becbbda;hb=2b9dc7b380bb4e40171067f42b4010970869a57d;hp=838c9406eeab517e13881500511d3b4d0647a095;hpb=22fd9aec55587a50c427fff8f5e800afcef6ac69;p=ardour.git diff --git a/libs/ardour/ardour/audio_diskstream.h b/libs/ardour/ardour/audio_diskstream.h index 838c9406ee..0ab9231252 100644 --- a/libs/ardour/ardour/audio_diskstream.h +++ b/libs/ardour/ardour/audio_diskstream.h @@ -19,7 +19,6 @@ #ifndef __ardour_audio_diskstream_h__ #define __ardour_audio_diskstream_h__ -#include #include #include @@ -29,6 +28,8 @@ #include +#include + #include "pbd/fastlog.h" #include "pbd/ringbufferNPT.h" #include "pbd/stateful.h" @@ -175,14 +176,17 @@ class AudioDiskstream : public Diskstream protected: friend class AudioTrack; - int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input); + int process (nframes_t transport_frame, nframes_t nframes, bool can_record, bool rec_monitors_input, bool& need_butler); bool commit (nframes_t nframes); private: - struct ChannelInfo { + struct ChannelInfo : public boost::noncopyable { - ChannelInfo (nframes_t buffer_size, nframes_t speed_buffer_size, nframes_t wrap_buffer_size); + ChannelInfo (nframes_t playback_buffer_size, + nframes_t capture_buffer_size, + nframes_t speed_buffer_size, + nframes_t wrap_buffer_size); ~ChannelInfo (); Sample *playback_wrap_buffer; @@ -229,10 +233,10 @@ class AudioDiskstream : public Diskstream ChannelInfo* channel_info, int channel, bool reversed); void finish_capture (bool rec_monitors_input, boost::shared_ptr); - void transport_stopped (struct tm&, time_t, bool abort); + void transport_stopped_wallclock (struct tm&, time_t, bool abort); void transport_looped (nframes_t transport_frame); - void init (Diskstream::Flag); + void init (); void init_channel (ChannelInfo &chan); void destroy_channel (ChannelInfo &chan);