35 template<
class T>
class PlaybackBuffer;
40 class AudioFileSource;
88 bool slaved()
const {
return _slaved; }
177 virtual int add_channel_to (std::shared_ptr<ChannelList>, uint32_t how_many) = 0;
static const uint32_t num_types
static void get_location_times(const Location *location, timepos_t *start, timepos_t *end, timecnt_t *length)
virtual float buffer_load() const =0
bool configure_io(ChanCount in, ChanCount out)
std::shared_ptr< MidiPlaylist > midi_playlist() const
int set_state(const XMLNode &, int version)
virtual int seek(samplepos_t which_sample, bool complete_refill=false)=0
std::shared_ptr< Playlist > get_playlist(DataType dt) const
std::shared_ptr< AudioPlaylist > audio_playlist() const
virtual int use_playlist(DataType, std::shared_ptr< Playlist >)
virtual void non_realtime_locate(samplepos_t)
bool can_support_io_configuration(const ChanCount &in, ChanCount &out)
PBD::ScopedConnectionList playlist_connections
MidiRingBuffer< samplepos_t > * _midi_buf
static const std::string state_node_name
int set_block_size(pframes_t)
Glib::Threads::Mutex state_lock
SerializedRCUManager< ChannelList > channels
int remove_channel(uint32_t how_many)
virtual ~DiskIOProcessor()
static void set_buffering_parameters(BufferingPreset bp)
virtual void playlist_modified()
int add_channel(uint32_t how_many)
virtual void playlist_ranges_moved(std::list< Temporal::RangeMove > const &, bool)
virtual void playlist_changed(const PBD::PropertyChange &)
std::vector< ChannelInfo * > ChannelList
int remove_channel_from(std::shared_ptr< ChannelList >, uint32_t how_many)
virtual void configuration_changed()=0
DiskIOProcessor(Session &, Track &, const std::string &name, Flag f, Temporal::TimeDomainProvider const &)
virtual void playlist_deleted(std::weak_ptr< Playlist >)
virtual void adjust_buffering()=0
PBD::Signal< void()> SpeedChanged
PBD::Signal< void()> ReverseChanged
static bool get_buffering_presets(BufferingPreset bp, samplecnt_t &read_chunk_size, samplecnt_t &read_buffer_size, samplecnt_t &write_chunk_size, samplecnt_t &write_buffer_size)
samplepos_t playback_sample
virtual int add_channel_to(std::shared_ptr< ChannelList >, uint32_t how_many)=0
GtkImageIconNameData name
PBD::PropertyDescriptor< timecnt_t > length
PBD::PropertyDescriptor< timepos_t > start
Temporal::samplecnt_t samplecnt_t
Temporal::samplepos_t samplepos_t
samplepos_t capture_val
The start or end file sample position.
PBD::RingBufferNPT< Sample > * wbuf
ChannelInfo(const ChannelInfo &)=delete
virtual void resize(samplecnt_t)=0
PBD::RingBufferNPT< Sample >::rw_vector rw_vector
PBD::PlaybackBuffer< Sample > * rbuf
ChannelInfo(samplecnt_t buffer_size)
std::shared_ptr< AudioFileSource > write_source
samplecnt_t curr_capture_cnt