ardour
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ARDOUR::AudioDiskstream Class Reference

#include <audio_diskstream.h>

Inheritance diagram for ARDOUR::AudioDiskstream:
ARDOUR::Diskstream ARDOUR::SessionObject ARDOUR::PublicDiskstream ARDOUR::SessionHandleRef PBD::StatefulDestructible PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Classes

struct  ChannelInfo
 
struct  ChannelSource
 

Public Member Functions

 AudioDiskstream (Session &, const std::string &name, Diskstream::Flag f=Recordable)
 
 AudioDiskstream (Session &, const XMLNode &)
 
 ~AudioDiskstream ()
 
float playback_buffer_load () const
 
float capture_buffer_load () const
 
std::string input_source (uint32_t n=0) const
 
void set_record_enabled (bool yn)
 
int set_destructive (bool yn)
 
int set_non_layered (bool yn)
 
bool can_become_destructive (bool &requires_bounce) const
 
boost::shared_ptr< AudioPlaylistaudio_playlist ()
 
int use_playlist (boost::shared_ptr< Playlist >)
 
int use_new_playlist ()
 
int use_copy_playlist ()
 
Sampleplayback_buffer (uint32_t n=0)
 
Samplecapture_buffer (uint32_t n=0)
 
boost::shared_ptr
< AudioFileSource
write_source (uint32_t n=0)
 
int add_channel (uint32_t how_many)
 
int remove_channel (uint32_t how_many)
 
bool set_name (std::string const &)
 
bool set_write_source_name (const std::string &str)
 
XMLNodeget_state (void)
 
int set_state (const XMLNode &node, int version)
 
void request_input_monitoring (bool)
 
- Public Member Functions inherited from ARDOUR::Diskstream
 Diskstream (Session &, const std::string &name, Flag f=Recordable)
 
 Diskstream (Session &, const XMLNode &)
 
virtual ~Diskstream ()
 
std::string write_source_name () const
 
virtual std::string steal_write_source_name ()
 
boost::shared_ptr< ARDOUR::IOio () const
 
void set_track (ARDOUR::Track *)
 
void set_flag (Flag f)
 
void unset_flag (Flag f)
 
AlignStyle alignment_style () const
 
AlignChoice alignment_choice () const
 
void set_align_style (AlignStyle, bool force=false)
 
void set_align_choice (AlignChoice a, bool force=false)
 
framecnt_t roll_delay () const
 
void set_roll_delay (framecnt_t)
 
bool record_enabled () const
 
bool destructive () const
 
bool hidden () const
 
bool recordable () const
 
bool non_layered () const
 
bool reversed () const
 
double speed () const
 
virtual void punch_in ()
 
virtual void punch_out ()
 
void non_realtime_set_speed ()
 
virtual void playlist_modified ()
 
boost::shared_ptr< Playlistplaylist ()
 
framepos_t current_capture_start () const
 
framepos_t current_capture_end () const
 
framepos_t get_capture_start_frame (uint32_t n=0) const
 
framecnt_t get_captured_frames (uint32_t n=0) const
 
ChanCount n_channels ()
 
virtual void ensure_input_monitoring (bool)
 
framecnt_t capture_offset () const
 
virtual void set_capture_offset ()
 
bool slaved () const
 
void set_slaved (bool yn)
 
int set_loop (Location *loc)
 
std::list< boost::shared_ptr
< Source > > & 
last_capture_sources ()
 
void handle_input_change (IOChange, void *src)
 
void move_processor_automation (boost::weak_ptr< Processor >, std::list< Evoral::RangeMove< framepos_t > > const &)
 
bool pending_overwrite () const
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from ARDOUR::PublicDiskstream
virtual ~PublicDiskstream ()
 

Static Public Member Functions

static void swap_by_ptr (Sample *first, Sample *last)
 
- Static Public Member Functions inherited from ARDOUR::Diskstream
static framecnt_t disk_read_frames ()
 
static framecnt_t disk_write_frames ()
 
static void set_disk_read_chunk_frames (framecnt_t n)
 
static void set_disk_write_chunk_frames (framecnt_t n)
 
static framecnt_t default_disk_read_chunk_frames ()
 
static framecnt_t default_disk_write_chunk_frames ()
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 

Protected Member Functions

void set_pending_overwrite (bool)
 
int overwrite_existing_buffers ()
 
void set_block_size (pframes_t)
 
int internal_playback_seek (framecnt_t distance)
 
int can_internal_playback_seek (framecnt_t distance)
 
void reset_write_sources (bool, bool force=false)
 
void non_realtime_input_change ()
 
void non_realtime_locate (framepos_t location)
 
int seek (framepos_t which_sample, bool complete_refill=false)
 
int process (BufferSet &, framepos_t transport_frame, pframes_t nframes, framecnt_t &, bool need_disk_signal)
 
frameoffset_t calculate_playback_distance (pframes_t nframes)
 
bool commit (framecnt_t)
 
- Protected Member Functions inherited from ARDOUR::Diskstream
virtual void playlist_changed (const PBD::PropertyChange &)
 
virtual void playlist_deleted (boost::weak_ptr< Playlist >)
 
virtual void playlist_ranges_moved (std::list< Evoral::RangeMove< framepos_t > > const &, bool)
 
virtual bool realtime_set_speed (double, bool global_change)
 
virtual void check_record_status (framepos_t transport_frame, bool can_record)
 
virtual void prepare_to_stop (framepos_t transport_pos, framepos_t audible_frame)
 
void engage_record_enable ()
 
void disengage_record_enable ()
 
void calculate_record_range (Evoral::OverlapType ot, framepos_t transport_frame, framecnt_t nframes, framecnt_t &rec_nframes, framecnt_t &rec_offset)
 
void route_going_away ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 

Private Types

typedef std::vector
< ChannelInfo * > 
ChannelList
 

Private Member Functions

int do_flush (RunContext context, bool force=false)
 
int do_refill ()
 
int do_refill_with_alloc ()
 
int read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, framepos_t &start, framecnt_t cnt, int channel, bool reversed)
 
void finish_capture (boost::shared_ptr< ChannelList >)
 
void transport_stopped_wallclock (struct tm &, time_t, bool abort)
 
void transport_looped (framepos_t transport_frame)
 
void init ()
 
void init_channel (ChannelInfo &chan)
 
void destroy_channel (ChannelInfo &chan)
 
int use_new_write_source (uint32_t n=0)
 
int find_and_use_playlist (const std::string &)
 
void allocate_temporary_buffers ()
 
int use_pending_capture_data (XMLNode &node)
 
void get_input_sources ()
 
void prepare_record_status (framepos_t capture_start_frame)
 
void set_align_style_from_io ()
 
void setup_destructive_playlist ()
 
void use_destructive_playlist ()
 
void adjust_playback_buffering ()
 
void adjust_capture_buffering ()
 
bool prep_record_enable ()
 
bool prep_record_disable ()
 
int _do_refill (Sample *mixdown_buffer, float *gain_buffer)
 
int add_channel_to (boost::shared_ptr< ChannelList >, uint32_t how_many)
 
int remove_channel_from (boost::shared_ptr< ChannelList >, uint32_t how_many)
 

Static Private Member Functions

static void allocate_working_buffers ()
 
static void free_working_buffers ()
 

Private Attributes

CubicInterpolation interpolation
 
std::vector< boost::shared_ptr
< AudioFileSource > > 
capturing_sources
 
SerializedRCUManager< ChannelListchannels
 

Static Private Attributes

static size_t _working_buffers_size = 0
 
static Sample_mixdown_buffer = 0
 
static gain_t_gain_buffer = 0
 

Friends

class Session
 
class Auditioner
 
class AudioTrack
 

Additional Inherited Members

- Public Types inherited from ARDOUR::Diskstream
enum  Flag { Recordable = 0x1, Hidden = 0x2, Destructive = 0x4, NonLayered = 0x8 }
 
- Public Attributes inherited from ARDOUR::Diskstream
PBD::Signal0< void > RecordEnableChanged
 
PBD::Signal0< void > SpeedChanged
 
PBD::Signal0< void > ReverseChanged
 
PBD::Signal0< void > PlaylistChanged
 
PBD::Signal0< void > AlignmentStyleChanged
 
PBD::Signal1< void, Location * > LoopSet
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Static Public Attributes inherited from ARDOUR::Diskstream
static PBD::Signal0< void > DiskOverrun
 
static PBD::Signal0< void > DiskUnderrun
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Protected Types inherited from ARDOUR::Diskstream
enum  TransitionType { CaptureStart = 0, CaptureEnd }
 
- Protected Attributes inherited from ARDOUR::Diskstream
std::list< boost::shared_ptr
< Source > > 
_last_capture_sources
 
std::vector< CaptureInfo * > capture_info
 
Glib::Threads::Mutex capture_info_lock
 
uint32_t i_am_the_modifier
 
boost::shared_ptr< ARDOUR::IO_io
 
Track_track
 
ChanCount _n_channels
 
boost::shared_ptr< Playlist_playlist
 
gint _record_enabled
 
double _visible_speed
 
double _actual_speed
 
bool _buffer_reallocation_required
 
bool _seek_required
 
framepos_t capture_start_frame
 
framecnt_t capture_captured
 
bool was_recording
 
framecnt_t adjust_capture_position
 
framecnt_t _capture_offset
 
framecnt_t _roll_delay
 
framepos_t first_recordable_frame
 
framepos_t last_recordable_frame
 
int last_possibly_recording
 
AlignStyle _alignment_style
 
AlignChoice _alignment_choice
 
bool _slaved
 
Locationloop_location
 
framepos_t overwrite_frame
 
off_t overwrite_offset
 
bool _pending_overwrite
 
bool overwrite_queued
 
IOChange input_change_pending
 
framecnt_t wrap_buffer_size
 
framecnt_t speed_buffer_size
 
double _speed
 
double _target_speed
 
framepos_t file_frame
 
framepos_t playback_sample
 
bool in_set_state
 
std::string _write_source_name
 
Glib::Threads::Mutex state_lock
 
PBD::ScopedConnectionList playlist_connections
 
PBD::ScopedConnection ic_connection
 
Flag _flags
 
XMLNodedeprecated_io_node
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Static Protected Attributes inherited from ARDOUR::Diskstream
static framecnt_t disk_read_chunk_frames = default_disk_read_chunk_frames ()
 
static framecnt_t disk_write_chunk_frames = default_disk_write_chunk_frames ()
 

Detailed Description

Definition at line 56 of file audio_diskstream.h.

Member Typedef Documentation

typedef std::vector<ChannelInfo*> ARDOUR::AudioDiskstream::ChannelList
private

Definition at line 205 of file audio_diskstream.h.

Constructor & Destructor Documentation

ARDOUR::AudioDiskstream::AudioDiskstream ( Session ,
const std::string &  name,
Diskstream::Flag  f = Recordable 
)
AudioDiskstream::AudioDiskstream ( Session sess,
const XMLNode node 
)

Definition at line 83 of file audio_diskstream.cc.

AudioDiskstream::~AudioDiskstream ( )

Definition at line 114 of file audio_diskstream.cc.

Member Function Documentation

int AudioDiskstream::_do_refill ( Sample mixdown_buffer,
float *  gain_buffer 
)
private

Get some more data from disk and put it in our channels' playback_bufs, if there is suitable space in them.

Definition at line 1087 of file audio_diskstream.cc.

int AudioDiskstream::add_channel ( uint32_t  how_many)

Definition at line 2126 of file audio_diskstream.cc.

int AudioDiskstream::add_channel_to ( boost::shared_ptr< ChannelList c,
uint32_t  how_many 
)
private

Definition at line 2108 of file audio_diskstream.cc.

void AudioDiskstream::adjust_capture_buffering ( )
privatevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 2415 of file audio_diskstream.cc.

void AudioDiskstream::adjust_playback_buffering ( )
privatevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 2405 of file audio_diskstream.cc.

void AudioDiskstream::allocate_temporary_buffers ( )
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 2037 of file audio_diskstream.cc.

void AudioDiskstream::allocate_working_buffers ( )
staticprivate

Definition at line 133 of file audio_diskstream.cc.

boost::shared_ptr<AudioPlaylist> ARDOUR::AudioDiskstream::audio_playlist ( )
inline

Definition at line 80 of file audio_diskstream.h.

frameoffset_t AudioDiskstream::calculate_playback_distance ( pframes_t  nframes)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 731 of file audio_diskstream.cc.

bool AudioDiskstream::can_become_destructive ( bool &  requires_bounce) const
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2334 of file audio_diskstream.cc.

int AudioDiskstream::can_internal_playback_seek ( framecnt_t  distance)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 935 of file audio_diskstream.cc.

Sample* ARDOUR::AudioDiskstream::capture_buffer ( uint32_t  n = 0)
inline

Definition at line 93 of file audio_diskstream.h.

float AudioDiskstream::capture_buffer_load ( ) const
virtual

Implements ARDOUR::Diskstream.

Definition at line 2171 of file audio_diskstream.cc.

bool AudioDiskstream::commit ( framecnt_t  playback_distance)
protectedvirtual

Update various things including playback_sample, read pointer on each channel's playback_buf and write pointer on each channel's capture_buf. Also wout whether the butler is needed.

Returns
true if the butler is required.

Implements ARDOUR::Diskstream.

Definition at line 760 of file audio_diskstream.cc.

void ARDOUR::AudioDiskstream::destroy_channel ( ChannelInfo chan)
private
int AudioDiskstream::do_flush ( RunContext  context,
bool  force_flush = false 
)
privatevirtual

Flush pending data to disk.

Important note: this function will write AT MOST disk_write_chunk_frames of data to disk. it will never write more than that. If it writes that much and there is more than that waiting to be written, it will return 1, otherwise 0 on success or -1 on failure.

If there is less than disk_write_chunk_frames to be written, no data will be written at all unless force_flush is true.

Implements ARDOUR::Diskstream.

Definition at line 1319 of file audio_diskstream.cc.

int ARDOUR::AudioDiskstream::do_refill ( )
inlineprivatevirtual

Implements ARDOUR::Diskstream.

Definition at line 211 of file audio_diskstream.h.

int AudioDiskstream::do_refill_with_alloc ( )
privatevirtual

For non-butler contexts (allocates temporary working buffers)

Implements ARDOUR::Diskstream.

Definition at line 1070 of file audio_diskstream.cc.

int AudioDiskstream::find_and_use_playlist ( const std::string &  )
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 244 of file audio_diskstream.cc.

void AudioDiskstream::finish_capture ( boost::shared_ptr< ChannelList c)
private

Definition at line 1684 of file audio_diskstream.cc.

void AudioDiskstream::free_working_buffers ( )
staticprivate

Definition at line 141 of file audio_diskstream.cc.

void AudioDiskstream::get_input_sources ( )
private

Definition at line 219 of file audio_diskstream.cc.

XMLNode & AudioDiskstream::get_state ( void  )
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 1817 of file audio_diskstream.cc.

void AudioDiskstream::init ( )
private

Definition at line 103 of file audio_diskstream.cc.

void ARDOUR::AudioDiskstream::init_channel ( ChannelInfo chan)
private
std::string ARDOUR::AudioDiskstream::input_source ( uint32_t  n = 0) const
inline

Definition at line 66 of file audio_diskstream.h.

int AudioDiskstream::internal_playback_seek ( framecnt_t  distance)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 949 of file audio_diskstream.cc.

void AudioDiskstream::non_realtime_input_change ( )
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 151 of file audio_diskstream.cc.

void AudioDiskstream::non_realtime_locate ( framepos_t  location)
protectedvirtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 207 of file audio_diskstream.cc.

int AudioDiskstream::overwrite_existing_buffers ( )
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 827 of file audio_diskstream.cc.

Sample* ARDOUR::AudioDiskstream::playback_buffer ( uint32_t  n = 0)
inline

Definition at line 86 of file audio_diskstream.h.

float AudioDiskstream::playback_buffer_load ( ) const
virtual
Returns
A number between 0 and 1, where 0 indicates that the playback buffer is dry (ie the disk subsystem could not keep up) and 1 indicates that the buffer is full.

Implements ARDOUR::Diskstream.

Definition at line 2158 of file audio_diskstream.cc.

bool AudioDiskstream::prep_record_disable ( )
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 1803 of file audio_diskstream.cc.

bool AudioDiskstream::prep_record_enable ( )
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 1765 of file audio_diskstream.cc.

void AudioDiskstream::prepare_record_status ( framepos_t  capture_start_frame)
privatevirtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 398 of file audio_diskstream.cc.

int AudioDiskstream::process ( BufferSet bufs,
framepos_t  transport_frame,
pframes_t  nframes,
framecnt_t playback_distance,
bool  need_disk_signal 
)
protectedvirtual

Do some record stuff [not described in this comment!]

Also:

  • Setup playback_distance with the nframes, or nframes adjusted for current varispeed, if appropriate.
  • Setup current_playback_buffer in each ChannelInfo to point to data that someone can read playback_distance worth of data from.

Implements ARDOUR::Diskstream.

Definition at line 430 of file audio_diskstream.cc.

int AudioDiskstream::read ( Sample buf,
Sample mixdown_buffer,
float *  gain_buffer,
framepos_t start,
framecnt_t  cnt,
int  channel,
bool  reversed 
)
private

Read some data for 1 channel from our playlist into a buffer.

Parameters
bufBuffer to write to.
startSession frame to start reading from; updated to where we end up after the read.
cntCount of samples to read.
reversedtrue if we are running backwards, otherwise false.

Definition at line 974 of file audio_diskstream.cc.

int AudioDiskstream::remove_channel ( uint32_t  how_many)

Definition at line 2149 of file audio_diskstream.cc.

int AudioDiskstream::remove_channel_from ( boost::shared_ptr< ChannelList c,
uint32_t  how_many 
)
private

Definition at line 2135 of file audio_diskstream.cc.

void AudioDiskstream::request_input_monitoring ( bool  yn)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2067 of file audio_diskstream.cc.

void AudioDiskstream::reset_write_sources ( bool  mark_write_complete,
bool  force = false 
)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 1962 of file audio_diskstream.cc.

int AudioDiskstream::seek ( framepos_t  which_sample,
bool  complete_refill = false 
)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 902 of file audio_diskstream.cc.

void AudioDiskstream::set_align_style_from_io ( )
privatevirtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2077 of file audio_diskstream.cc.

void AudioDiskstream::set_block_size ( pframes_t  )
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 2021 of file audio_diskstream.cc.

int AudioDiskstream::set_destructive ( bool  yn)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2310 of file audio_diskstream.cc.

bool AudioDiskstream::set_name ( std::string const &  )
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2529 of file audio_diskstream.cc.

int AudioDiskstream::set_non_layered ( bool  yn)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2295 of file audio_diskstream.cc.

void AudioDiskstream::set_pending_overwrite ( bool  yn)
protectedvirtual

Implements ARDOUR::Diskstream.

Definition at line 812 of file audio_diskstream.cc.

void AudioDiskstream::set_record_enabled ( bool  yn)
virtual

Implements ARDOUR::Diskstream.

Definition at line 1737 of file audio_diskstream.cc.

int AudioDiskstream::set_state ( const XMLNode node,
int  version 
)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 1856 of file audio_diskstream.cc.

bool AudioDiskstream::set_write_source_name ( const std::string &  str)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 2550 of file audio_diskstream.cc.

void AudioDiskstream::setup_destructive_playlist ( )
privatevirtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 322 of file audio_diskstream.cc.

static void ARDOUR::AudioDiskstream::swap_by_ptr ( Sample first,
Sample last 
)
inlinestatic

Definition at line 120 of file audio_diskstream.h.

void AudioDiskstream::transport_looped ( framepos_t  transport_frame)
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 1633 of file audio_diskstream.cc.

void AudioDiskstream::transport_stopped_wallclock ( struct tm &  when,
time_t  twhen,
bool  abort 
)
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 1444 of file audio_diskstream.cc.

int AudioDiskstream::use_copy_playlist ( )
virtual

Implements ARDOUR::Diskstream.

Definition at line 296 of file audio_diskstream.cc.

void AudioDiskstream::use_destructive_playlist ( )
privatevirtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 348 of file audio_diskstream.cc.

int AudioDiskstream::use_new_playlist ( )
virtual

Implements ARDOUR::Diskstream.

Definition at line 271 of file audio_diskstream.cc.

int AudioDiskstream::use_new_write_source ( uint32_t  n = 0)
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 1926 of file audio_diskstream.cc.

int AudioDiskstream::use_pending_capture_data ( XMLNode node)
privatevirtual

Implements ARDOUR::Diskstream.

Definition at line 2184 of file audio_diskstream.cc.

int AudioDiskstream::use_playlist ( boost::shared_ptr< Playlist playlist)
virtual

Reimplemented from ARDOUR::Diskstream.

Definition at line 261 of file audio_diskstream.cc.

boost::shared_ptr<AudioFileSource> ARDOUR::AudioDiskstream::write_source ( uint32_t  n = 0)
inline

Definition at line 100 of file audio_diskstream.h.

Friends And Related Function Documentation

friend class AudioTrack
friend

Definition at line 148 of file audio_diskstream.h.

friend class Auditioner
friend

Definition at line 147 of file audio_diskstream.h.

friend class Session
friend

Definition at line 130 of file audio_diskstream.h.

Member Data Documentation

gain_t * AudioDiskstream::_gain_buffer = 0
staticprivate

Definition at line 254 of file audio_diskstream.h.

Sample * AudioDiskstream::_mixdown_buffer = 0
staticprivate

Definition at line 253 of file audio_diskstream.h.

size_t AudioDiskstream::_working_buffers_size = 0
staticprivate

Definition at line 252 of file audio_diskstream.h.

std::vector<boost::shared_ptr<AudioFileSource> > ARDOUR::AudioDiskstream::capturing_sources
private

Definition at line 256 of file audio_diskstream.h.

SerializedRCUManager<ChannelList> ARDOUR::AudioDiskstream::channels
private

Definition at line 258 of file audio_diskstream.h.

CubicInterpolation ARDOUR::AudioDiskstream::interpolation
private

Definition at line 207 of file audio_diskstream.h.


The documentation for this class was generated from the following files: