ardour
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
ARDOUR::Diskstream Class Referenceabstract

#include <diskstream.h>

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

Classes

struct  CaptureInfo
 
struct  CaptureTransition
 

Public Types

enum  Flag { Recordable = 0x1, Hidden = 0x2, Destructive = 0x4, NonLayered = 0x8 }
 

Public Member Functions

 Diskstream (Session &, const std::string &name, Flag f=Recordable)
 
 Diskstream (Session &, const XMLNode &)
 
virtual ~Diskstream ()
 
virtual bool set_name (const std::string &str)
 
virtual bool set_write_source_name (const std::string &str)
 
std::string write_source_name () const
 
virtual std::string steal_write_source_name ()
 
boost::shared_ptr< ARDOUR::IOio () const
 
void set_track (ARDOUR::Track *)
 
virtual float playback_buffer_load () const =0
 
virtual float capture_buffer_load () const =0
 
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
 
virtual void set_record_enabled (bool yn)=0
 
bool destructive () const
 
virtual int set_destructive (bool)
 
virtual int set_non_layered (bool)
 
virtual bool can_become_destructive (bool &) 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 non_realtime_locate (framepos_t)
 
virtual void playlist_modified ()
 
boost::shared_ptr< Playlistplaylist ()
 
virtual int use_playlist (boost::shared_ptr< Playlist >)
 
virtual int use_new_playlist ()=0
 
virtual int use_copy_playlist ()=0
 
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 XMLNodeget_state (void)
 
virtual int set_state (const XMLNode &, int version)
 
virtual void request_input_monitoring (bool)
 
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 &)
 
virtual int do_refill_with_alloc ()=0
 
virtual void set_block_size (pframes_t)=0
 
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 ()
 
virtual void adjust_playback_buffering ()=0
 
virtual void adjust_capture_buffering ()=0
 

Static Public Member Functions

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 ()
 

Public Attributes

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

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

enum  TransitionType { CaptureStart = 0, CaptureEnd }
 

Protected Member Functions

virtual void set_pending_overwrite (bool)=0
 
virtual int overwrite_existing_buffers ()=0
 
virtual int internal_playback_seek (framecnt_t distance)=0
 
virtual int can_internal_playback_seek (framecnt_t distance)=0
 
virtual void reset_write_sources (bool, bool force=false)=0
 
virtual void non_realtime_input_change ()=0
 
virtual int seek (framepos_t which_sample, bool complete_refill=false)=0
 
virtual int process (BufferSet &, framepos_t transport_frame, pframes_t nframes, framecnt_t &, bool need_disk_signal)=0
 
virtual frameoffset_t calculate_playback_distance (pframes_t nframes)=0
 
virtual bool commit (framecnt_t)=0
 
virtual int do_flush (RunContext context, bool force=false)=0
 
virtual int do_refill ()=0
 
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 void transport_stopped_wallclock (struct tm &, time_t, bool abort)=0
 
virtual void transport_looped (framepos_t transport_frame)=0
 
virtual int use_new_write_source (uint32_t n=0)=0
 
virtual int find_and_use_playlist (const std::string &)=0
 
virtual void allocate_temporary_buffers ()=0
 
virtual bool realtime_set_speed (double, bool global_change)
 
virtual int use_pending_capture_data (XMLNode &node)=0
 
virtual void check_record_status (framepos_t transport_frame, bool can_record)
 
virtual void prepare_record_status (framepos_t)
 
virtual void set_align_style_from_io ()
 
virtual void setup_destructive_playlist ()
 
virtual void use_destructive_playlist ()
 
virtual void prepare_to_stop (framepos_t transport_pos, framepos_t audible_frame)
 
void engage_record_enable ()
 
void disengage_record_enable ()
 
virtual bool prep_record_enable ()=0
 
virtual bool prep_record_disable ()=0
 
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 &)
 

Protected Attributes

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

static framecnt_t disk_read_chunk_frames = default_disk_read_chunk_frames ()
 
static framecnt_t disk_write_chunk_frames = default_disk_write_chunk_frames ()
 

Friends

class Session
 
class Butler
 
class Auditioner
 
class Track
 

Detailed Description

Parent class for classes which can stream data to and from disk. These are used by Tracks to get playback and put recorded data.

Definition at line 58 of file diskstream.h.

Member Enumeration Documentation

Enumerator
Recordable 
Hidden 
Destructive 
NonLayered 

Definition at line 61 of file diskstream.h.

Enumerator
CaptureStart 
CaptureEnd 

Definition at line 217 of file diskstream.h.

Constructor & Destructor Documentation

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

Definition at line 100 of file diskstream.cc.

Diskstream::~Diskstream ( )
virtual

Definition at line 138 of file diskstream.cc.

Member Function Documentation

AlignChoice ARDOUR::Diskstream::alignment_choice ( ) const
inline

Definition at line 99 of file diskstream.h.

AlignStyle ARDOUR::Diskstream::alignment_style ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 98 of file diskstream.h.

virtual void ARDOUR::Diskstream::allocate_temporary_buffers ( )
protectedpure virtual
virtual frameoffset_t ARDOUR::Diskstream::calculate_playback_distance ( pframes_t  nframes)
protectedpure virtual
void Diskstream::calculate_record_range ( Evoral::OverlapType  ot,
framepos_t  transport_frame,
framecnt_t  nframes,
framecnt_t rec_nframes,
framecnt_t rec_offset 
)
protected

Definition at line 689 of file diskstream.cc.

virtual bool ARDOUR::Diskstream::can_become_destructive ( bool &  ) const
inlinevirtual

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 112 of file diskstream.h.

virtual int ARDOUR::Diskstream::can_internal_playback_seek ( framecnt_t  distance)
protectedpure virtual
virtual float ARDOUR::Diskstream::capture_buffer_load ( ) const
pure virtual
framecnt_t ARDOUR::Diskstream::capture_offset ( ) const
inline

Definition at line 155 of file diskstream.h.

void Diskstream::check_record_status ( framepos_t  transport_frame,
bool  can_record 
)
protectedvirtual

Definition at line 601 of file diskstream.cc.

virtual bool ARDOUR::Diskstream::commit ( framecnt_t  )
protectedpure virtual
framepos_t ARDOUR::Diskstream::current_capture_end ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 135 of file diskstream.h.

framepos_t ARDOUR::Diskstream::current_capture_start ( ) const
inlinevirtual
Returns
Start position of currently-running capture (in session frames)

Implements ARDOUR::PublicDiskstream.

Definition at line 134 of file diskstream.h.

framecnt_t Diskstream::default_disk_read_chunk_frames ( )
static

Definition at line 773 of file diskstream.cc.

framecnt_t Diskstream::default_disk_write_chunk_frames ( )
static

Definition at line 779 of file diskstream.cc.

bool ARDOUR::Diskstream::destructive ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 109 of file diskstream.h.

void Diskstream::disengage_record_enable ( )
protected

Definition at line 767 of file diskstream.cc.

static framecnt_t ARDOUR::Diskstream::disk_read_frames ( )
inlinestatic

Definition at line 141 of file diskstream.h.

static framecnt_t ARDOUR::Diskstream::disk_write_frames ( )
inlinestatic

Definition at line 142 of file diskstream.h.

virtual int ARDOUR::Diskstream::do_flush ( RunContext  context,
bool  force = false 
)
protectedpure virtual
virtual int ARDOUR::Diskstream::do_refill ( )
protectedpure virtual
virtual int ARDOUR::Diskstream::do_refill_with_alloc ( )
pure virtual

For non-butler contexts (allocates temporary working buffers)

Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

void Diskstream::engage_record_enable ( )
protected

Definition at line 761 of file diskstream.cc.

virtual void ARDOUR::Diskstream::ensure_input_monitoring ( bool  )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Reimplemented in ARDOUR::MidiDiskstream.

Definition at line 153 of file diskstream.h.

virtual int ARDOUR::Diskstream::find_and_use_playlist ( const std::string &  )
protectedpure virtual
ARDOUR::framepos_t Diskstream::get_capture_start_frame ( uint32_t  n = 0) const
virtual

Get the start position (in session frames) of the nth capture in the current pass

Implements ARDOUR::PublicDiskstream.

Definition at line 322 of file diskstream.cc.

ARDOUR::framecnt_t Diskstream::get_captured_frames ( uint32_t  n = 0) const
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 336 of file diskstream.cc.

XMLNode & Diskstream::get_state ( void  )
virtual

Implements PBD::Stateful.

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 457 of file diskstream.cc.

void Diskstream::handle_input_change ( IOChange  change,
void *  src 
)

Definition at line 167 of file diskstream.cc.

bool ARDOUR::Diskstream::hidden ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 114 of file diskstream.h.

virtual int ARDOUR::Diskstream::internal_playback_seek ( framecnt_t  distance)
protectedpure virtual
boost::shared_ptr<ARDOUR::IO> ARDOUR::Diskstream::io ( ) const
inline

Definition at line 85 of file diskstream.h.

std::list<boost::shared_ptr<Source> >& ARDOUR::Diskstream::last_capture_sources ( )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 163 of file diskstream.h.

void Diskstream::move_processor_automation ( boost::weak_ptr< Processor p,
std::list< Evoral::RangeMove< framepos_t > > const &  movements_frames 
)

Definition at line 572 of file diskstream.cc.

ChanCount ARDOUR::Diskstream::n_channels ( )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 139 of file diskstream.h.

bool ARDOUR::Diskstream::non_layered ( ) const
inline

Definition at line 116 of file diskstream.h.

virtual void ARDOUR::Diskstream::non_realtime_input_change ( )
protectedpure virtual
virtual void ARDOUR::Diskstream::non_realtime_locate ( framepos_t  )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 124 of file diskstream.h.

void Diskstream::non_realtime_set_speed ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 187 of file diskstream.cc.

virtual int ARDOUR::Diskstream::overwrite_existing_buffers ( )
protectedpure virtual
bool ARDOUR::Diskstream::pending_overwrite ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 174 of file diskstream.h.

virtual float ARDOUR::Diskstream::playback_buffer_load ( ) const
pure 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::PublicDiskstream.

Implemented in ARDOUR::MidiDiskstream, and ARDOUR::AudioDiskstream.

boost::shared_ptr<Playlist> ARDOUR::Diskstream::playlist ( )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 127 of file diskstream.h.

void Diskstream::playlist_changed ( const PBD::PropertyChange )
protectedvirtual

Definition at line 407 of file diskstream.cc.

void Diskstream::playlist_deleted ( boost::weak_ptr< Playlist wpl)
protectedvirtual

Definition at line 422 of file diskstream.cc.

void Diskstream::playlist_modified ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 413 of file diskstream.cc.

void Diskstream::playlist_ranges_moved ( std::list< Evoral::RangeMove< framepos_t > > const &  movements_frames,
bool  from_undo 
)
protectedvirtual

Definition at line 524 of file diskstream.cc.

virtual bool ARDOUR::Diskstream::prep_record_disable ( )
protectedpure virtual
virtual bool ARDOUR::Diskstream::prep_record_enable ( )
protectedpure virtual
virtual void ARDOUR::Diskstream::prepare_record_status ( framepos_t  )
inlineprotectedvirtual

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 258 of file diskstream.h.

void Diskstream::prepare_to_stop ( framepos_t  transport_pos,
framepos_t  audible_frame 
)
protectedvirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 738 of file diskstream.cc.

virtual int ARDOUR::Diskstream::process ( BufferSet ,
framepos_t  transport_frame,
pframes_t  nframes,
framecnt_t ,
bool  need_disk_signal 
)
protectedpure virtual
virtual void ARDOUR::Diskstream::punch_in ( )
inlinevirtual

Definition at line 120 of file diskstream.h.

virtual void ARDOUR::Diskstream::punch_out ( )
inlinevirtual

Definition at line 121 of file diskstream.h.

bool Diskstream::realtime_set_speed ( double  sp,
bool  global_change 
)
protectedvirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 210 of file diskstream.cc.

bool ARDOUR::Diskstream::record_enabled ( ) const
inline

Definition at line 106 of file diskstream.h.

bool ARDOUR::Diskstream::recordable ( ) const
inline

Definition at line 115 of file diskstream.h.

virtual void ARDOUR::Diskstream::request_input_monitoring ( bool  )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 152 of file diskstream.h.

virtual void ARDOUR::Diskstream::reset_write_sources ( bool  ,
bool  force = false 
)
protectedpure virtual
bool ARDOUR::Diskstream::reversed ( ) const
inline

Definition at line 117 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::roll_delay ( ) const
inline

Definition at line 103 of file diskstream.h.

void Diskstream::route_going_away ( )
protected

Definition at line 683 of file diskstream.cc.

virtual int ARDOUR::Diskstream::seek ( framepos_t  which_sample,
bool  complete_refill = false 
)
protectedpure virtual
void Diskstream::set_align_choice ( AlignChoice  a,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 281 of file diskstream.cc.

void Diskstream::set_align_style ( AlignStyle  a,
bool  force = false 
)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 267 of file diskstream.cc.

virtual void ARDOUR::Diskstream::set_align_style_from_io ( )
inlineprotectedvirtual

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 259 of file diskstream.h.

virtual void ARDOUR::Diskstream::set_block_size ( pframes_t  )
pure virtual
void Diskstream::set_capture_offset ( )
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 244 of file diskstream.cc.

virtual int ARDOUR::Diskstream::set_destructive ( bool  )
inlinevirtual

Reimplemented in ARDOUR::MidiDiskstream, and ARDOUR::AudioDiskstream.

Definition at line 110 of file diskstream.h.

static void ARDOUR::Diskstream::set_disk_read_chunk_frames ( framecnt_t  n)
inlinestatic

Definition at line 143 of file diskstream.h.

static void ARDOUR::Diskstream::set_disk_write_chunk_frames ( framecnt_t  n)
inlinestatic

Definition at line 144 of file diskstream.h.

void ARDOUR::Diskstream::set_flag ( Flag  f)
inline

Definition at line 95 of file diskstream.h.

int Diskstream::set_loop ( Location loc)
virtual

Implements ARDOUR::PublicDiskstream.

Definition at line 305 of file diskstream.cc.

bool Diskstream::set_name ( const std::string &  str)
virtual

Reimplemented from ARDOUR::SessionObject.

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 440 of file diskstream.cc.

virtual int ARDOUR::Diskstream::set_non_layered ( bool  )
inlinevirtual

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 111 of file diskstream.h.

virtual void ARDOUR::Diskstream::set_pending_overwrite ( bool  )
protectedpure virtual
virtual void ARDOUR::Diskstream::set_record_enabled ( bool  yn)
pure virtual
void Diskstream::set_roll_delay ( ARDOUR::framecnt_t  nframes)

Definition at line 350 of file diskstream.cc.

void ARDOUR::Diskstream::set_slaved ( bool  yn)
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 159 of file diskstream.h.

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

Implements PBD::Stateful.

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 480 of file diskstream.cc.

void Diskstream::set_track ( ARDOUR::Track t)

Definition at line 150 of file diskstream.cc.

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

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 451 of file diskstream.cc.

virtual void ARDOUR::Diskstream::setup_destructive_playlist ( )
inlineprotectedvirtual

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 260 of file diskstream.h.

bool ARDOUR::Diskstream::slaved ( ) const
inline

Definition at line 158 of file diskstream.h.

double ARDOUR::Diskstream::speed ( ) const
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Definition at line 118 of file diskstream.h.

virtual std::string ARDOUR::Diskstream::steal_write_source_name ( )
inlinevirtual

Implements ARDOUR::PublicDiskstream.

Reimplemented in ARDOUR::MidiDiskstream.

Definition at line 83 of file diskstream.h.

virtual void ARDOUR::Diskstream::transport_looped ( framepos_t  transport_frame)
protectedpure virtual
virtual void ARDOUR::Diskstream::transport_stopped_wallclock ( struct tm &  ,
time_t  ,
bool  abort 
)
protectedpure virtual
void ARDOUR::Diskstream::unset_flag ( Flag  f)
inline

Definition at line 96 of file diskstream.h.

virtual int ARDOUR::Diskstream::use_copy_playlist ( )
pure virtual
virtual void ARDOUR::Diskstream::use_destructive_playlist ( )
inlineprotectedvirtual

Reimplemented in ARDOUR::AudioDiskstream.

Definition at line 261 of file diskstream.h.

virtual int ARDOUR::Diskstream::use_new_playlist ( )
pure virtual
virtual int ARDOUR::Diskstream::use_new_write_source ( uint32_t  n = 0)
protectedpure virtual
virtual int ARDOUR::Diskstream::use_pending_capture_data ( XMLNode node)
protectedpure virtual
int Diskstream::use_playlist ( boost::shared_ptr< Playlist playlist)
virtual

Implements ARDOUR::PublicDiskstream.

Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.

Definition at line 356 of file diskstream.cc.

std::string ARDOUR::Diskstream::write_source_name ( ) const
inline

Definition at line 75 of file diskstream.h.

Friends And Related Function Documentation

friend class Auditioner
friend

Definition at line 205 of file diskstream.h.

friend class Butler
friend

Definition at line 191 of file diskstream.h.

friend class Session
friend

Definition at line 190 of file diskstream.h.

friend class Track
friend

Definition at line 209 of file diskstream.h.

Member Data Documentation

double ARDOUR::Diskstream::_actual_speed
protected

Definition at line 291 of file diskstream.h.

AlignChoice ARDOUR::Diskstream::_alignment_choice
protected

Definition at line 310 of file diskstream.h.

AlignStyle ARDOUR::Diskstream::_alignment_style
protected

Definition at line 309 of file diskstream.h.

bool ARDOUR::Diskstream::_buffer_reallocation_required
protected

Definition at line 293 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::_capture_offset
protected

Definition at line 301 of file diskstream.h.

Flag ARDOUR::Diskstream::_flags
protected

Definition at line 338 of file diskstream.h.

boost::shared_ptr<ARDOUR::IO> ARDOUR::Diskstream::_io
protected

Definition at line 283 of file diskstream.h.

std::list<boost::shared_ptr<Source> > ARDOUR::Diskstream::_last_capture_sources
protected

Definition at line 253 of file diskstream.h.

ChanCount ARDOUR::Diskstream::_n_channels
protected

Definition at line 285 of file diskstream.h.

bool ARDOUR::Diskstream::_pending_overwrite
protected

Definition at line 315 of file diskstream.h.

boost::shared_ptr<Playlist> ARDOUR::Diskstream::_playlist
protected

Definition at line 287 of file diskstream.h.

gint ARDOUR::Diskstream::_record_enabled
mutableprotected

Definition at line 289 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::_roll_delay
protected

The number of frames by which this diskstream's output should be delayed with respect to the transport frame. This is used for latency compensation.

Definition at line 305 of file diskstream.h.

bool ARDOUR::Diskstream::_seek_required
protected

Definition at line 294 of file diskstream.h.

bool ARDOUR::Diskstream::_slaved
protected

Definition at line 311 of file diskstream.h.

double ARDOUR::Diskstream::_speed
protected

Definition at line 321 of file diskstream.h.

double ARDOUR::Diskstream::_target_speed
protected

Definition at line 322 of file diskstream.h.

Track* ARDOUR::Diskstream::_track
protected

Definition at line 284 of file diskstream.h.

double ARDOUR::Diskstream::_visible_speed
protected

Definition at line 290 of file diskstream.h.

std::string ARDOUR::Diskstream::_write_source_name
protected

Definition at line 330 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::adjust_capture_position
protected

Definition at line 300 of file diskstream.h.

PBD::Signal0<void> ARDOUR::Diskstream::AlignmentStyleChanged

Definition at line 183 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::capture_captured
protected

Definition at line 298 of file diskstream.h.

std::vector<CaptureInfo*> ARDOUR::Diskstream::capture_info
protected

Definition at line 278 of file diskstream.h.

Glib::Threads::Mutex ARDOUR::Diskstream::capture_info_lock
mutableprotected

Definition at line 279 of file diskstream.h.

framepos_t ARDOUR::Diskstream::capture_start_frame
protected

Start of currently running capture in session frames

Definition at line 297 of file diskstream.h.

XMLNode* ARDOUR::Diskstream::deprecated_io_node
protected

Definition at line 339 of file diskstream.h.

ARDOUR::framecnt_t Diskstream::disk_read_chunk_frames = default_disk_read_chunk_frames ()
staticprotected

Definition at line 275 of file diskstream.h.

ARDOUR::framecnt_t Diskstream::disk_write_chunk_frames = default_disk_write_chunk_frames ()
staticprotected

Definition at line 276 of file diskstream.h.

PBD::Signal0< void > Diskstream::DiskOverrun
static

Definition at line 186 of file diskstream.h.

PBD::Signal0< void > Diskstream::DiskUnderrun
static

Definition at line 187 of file diskstream.h.

framepos_t ARDOUR::Diskstream::file_frame
protected

The next frame position that we should be reading from in our playlist

Definition at line 325 of file diskstream.h.

framepos_t ARDOUR::Diskstream::first_recordable_frame
protected

Definition at line 306 of file diskstream.h.

uint32_t ARDOUR::Diskstream::i_am_the_modifier
protected

Definition at line 281 of file diskstream.h.

PBD::ScopedConnection ARDOUR::Diskstream::ic_connection
protected

Definition at line 336 of file diskstream.h.

bool ARDOUR::Diskstream::in_set_state
protected

Definition at line 328 of file diskstream.h.

IOChange ARDOUR::Diskstream::input_change_pending
protected

Definition at line 317 of file diskstream.h.

int ARDOUR::Diskstream::last_possibly_recording
protected

Definition at line 308 of file diskstream.h.

framepos_t ARDOUR::Diskstream::last_recordable_frame
protected

Definition at line 307 of file diskstream.h.

Location* ARDOUR::Diskstream::loop_location
protected

Definition at line 312 of file diskstream.h.

PBD::Signal1<void,Location *> ARDOUR::Diskstream::LoopSet

Definition at line 184 of file diskstream.h.

framepos_t ARDOUR::Diskstream::overwrite_frame
protected

Definition at line 313 of file diskstream.h.

off_t ARDOUR::Diskstream::overwrite_offset
protected

Definition at line 314 of file diskstream.h.

bool ARDOUR::Diskstream::overwrite_queued
protected

Definition at line 316 of file diskstream.h.

framepos_t ARDOUR::Diskstream::playback_sample
protected

Definition at line 326 of file diskstream.h.

PBD::ScopedConnectionList ARDOUR::Diskstream::playlist_connections
protected

Definition at line 334 of file diskstream.h.

PBD::Signal0<void> ARDOUR::Diskstream::PlaylistChanged

Definition at line 182 of file diskstream.h.

PBD::Signal0<void> ARDOUR::Diskstream::RecordEnableChanged

Definition at line 178 of file diskstream.h.

PBD::Signal0<void> ARDOUR::Diskstream::ReverseChanged

Definition at line 180 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::speed_buffer_size
protected

Definition at line 319 of file diskstream.h.

PBD::Signal0<void> ARDOUR::Diskstream::SpeedChanged

Definition at line 179 of file diskstream.h.

Glib::Threads::Mutex ARDOUR::Diskstream::state_lock
protected

Definition at line 332 of file diskstream.h.

bool ARDOUR::Diskstream::was_recording
protected

Definition at line 299 of file diskstream.h.

framecnt_t ARDOUR::Diskstream::wrap_buffer_size
protected

Definition at line 318 of file diskstream.h.


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