ardour
|
#include <diskstream.h>
Classes | |
struct | CaptureInfo |
struct | CaptureTransition |
Public Types | |
enum | Flag { Recordable = 0x1, Hidden = 0x2, Destructive = 0x4, NonLayered = 0x8 } |
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) |
XMLNode * | instant_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 &) |
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 |
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.
Enumerator | |
---|---|
Recordable | |
Hidden | |
Destructive | |
NonLayered |
Definition at line 61 of file diskstream.h.
|
protected |
Enumerator | |
---|---|
CaptureStart | |
CaptureEnd |
Definition at line 217 of file diskstream.h.
ARDOUR::Diskstream::Diskstream | ( | Session & | , |
const std::string & | name, | ||
Flag | f = Recordable |
||
) |
Definition at line 100 of file diskstream.cc.
|
virtual |
Definition at line 138 of file diskstream.cc.
|
inline |
Definition at line 99 of file diskstream.h.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 98 of file diskstream.h.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protected |
Definition at line 689 of file diskstream.cc.
|
inlinevirtual |
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 112 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
pure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::MidiDiskstream, and ARDOUR::AudioDiskstream.
|
inline |
Definition at line 155 of file diskstream.h.
|
protectedvirtual |
Definition at line 601 of file diskstream.cc.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 135 of file diskstream.h.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 134 of file diskstream.h.
|
static |
Definition at line 773 of file diskstream.cc.
|
static |
Definition at line 779 of file diskstream.cc.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 109 of file diskstream.h.
|
protected |
Definition at line 767 of file diskstream.cc.
|
inlinestatic |
Definition at line 141 of file diskstream.h.
|
inlinestatic |
Definition at line 142 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
pure virtual |
For non-butler contexts (allocates temporary working buffers)
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protected |
Definition at line 761 of file diskstream.cc.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Reimplemented in ARDOUR::MidiDiskstream.
Definition at line 153 of file diskstream.h.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
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.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 336 of file diskstream.cc.
|
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.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 114 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inline |
Definition at line 85 of file diskstream.h.
|
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.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 139 of file diskstream.h.
|
inline |
Definition at line 116 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
Definition at line 124 of file diskstream.h.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 187 of file diskstream.cc.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 174 of file diskstream.h.
|
pure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::MidiDiskstream, and ARDOUR::AudioDiskstream.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 127 of file diskstream.h.
|
protectedvirtual |
Definition at line 407 of file diskstream.cc.
|
protectedvirtual |
Definition at line 422 of file diskstream.cc.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 413 of file diskstream.cc.
|
protectedvirtual |
Definition at line 524 of file diskstream.cc.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 258 of file diskstream.h.
|
protectedvirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 738 of file diskstream.cc.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlinevirtual |
Definition at line 120 of file diskstream.h.
|
inlinevirtual |
Definition at line 121 of file diskstream.h.
|
protectedvirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 210 of file diskstream.cc.
|
inline |
Definition at line 106 of file diskstream.h.
|
inline |
Definition at line 115 of file diskstream.h.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 152 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inline |
Definition at line 117 of file diskstream.h.
|
inline |
Definition at line 103 of file diskstream.h.
|
protected |
Definition at line 683 of file diskstream.cc.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 281 of file diskstream.cc.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 267 of file diskstream.cc.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
Definition at line 259 of file diskstream.h.
|
pure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 244 of file diskstream.cc.
|
inlinevirtual |
Reimplemented in ARDOUR::MidiDiskstream, and ARDOUR::AudioDiskstream.
Definition at line 110 of file diskstream.h.
|
inlinestatic |
Definition at line 143 of file diskstream.h.
|
inlinestatic |
Definition at line 144 of file diskstream.h.
|
inline |
Definition at line 95 of file diskstream.h.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 305 of file diskstream.cc.
|
virtual |
Reimplemented from ARDOUR::SessionObject.
Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
Definition at line 440 of file diskstream.cc.
|
inlinevirtual |
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 111 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
pure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
void Diskstream::set_roll_delay | ( | ARDOUR::framecnt_t | nframes | ) |
Definition at line 350 of file diskstream.cc.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 159 of file diskstream.h.
|
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.
|
virtual |
Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
Definition at line 451 of file diskstream.cc.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 260 of file diskstream.h.
|
inline |
Definition at line 158 of file diskstream.h.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Definition at line 118 of file diskstream.h.
|
inlinevirtual |
Implements ARDOUR::PublicDiskstream.
Reimplemented in ARDOUR::MidiDiskstream.
Definition at line 83 of file diskstream.h.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inline |
Definition at line 96 of file diskstream.h.
|
pure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
inlineprotectedvirtual |
Reimplemented in ARDOUR::AudioDiskstream.
Definition at line 261 of file diskstream.h.
|
pure virtual |
Implements ARDOUR::PublicDiskstream.
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
protectedpure virtual |
Implemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
|
virtual |
Implements ARDOUR::PublicDiskstream.
Reimplemented in ARDOUR::AudioDiskstream, and ARDOUR::MidiDiskstream.
Definition at line 356 of file diskstream.cc.
|
inline |
Definition at line 75 of file diskstream.h.
|
friend |
Definition at line 205 of file diskstream.h.
|
friend |
Definition at line 191 of file diskstream.h.
|
friend |
Definition at line 190 of file diskstream.h.
|
friend |
Definition at line 209 of file diskstream.h.
|
protected |
Definition at line 291 of file diskstream.h.
|
protected |
Definition at line 310 of file diskstream.h.
|
protected |
Definition at line 309 of file diskstream.h.
|
protected |
Definition at line 293 of file diskstream.h.
|
protected |
Definition at line 301 of file diskstream.h.
|
protected |
Definition at line 338 of file diskstream.h.
|
protected |
Definition at line 283 of file diskstream.h.
|
protected |
Definition at line 253 of file diskstream.h.
|
protected |
Definition at line 285 of file diskstream.h.
|
protected |
Definition at line 315 of file diskstream.h.
|
protected |
Definition at line 287 of file diskstream.h.
|
mutableprotected |
Definition at line 289 of file diskstream.h.
|
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.
|
protected |
Definition at line 294 of file diskstream.h.
|
protected |
Definition at line 311 of file diskstream.h.
|
protected |
Definition at line 321 of file diskstream.h.
|
protected |
Definition at line 322 of file diskstream.h.
|
protected |
Definition at line 284 of file diskstream.h.
|
protected |
Definition at line 290 of file diskstream.h.
|
protected |
Definition at line 330 of file diskstream.h.
|
protected |
Definition at line 300 of file diskstream.h.
PBD::Signal0<void> ARDOUR::Diskstream::AlignmentStyleChanged |
Definition at line 183 of file diskstream.h.
|
protected |
Definition at line 298 of file diskstream.h.
|
protected |
Definition at line 278 of file diskstream.h.
|
mutableprotected |
Definition at line 279 of file diskstream.h.
|
protected |
Start of currently running capture in session frames
Definition at line 297 of file diskstream.h.
|
protected |
Definition at line 339 of file diskstream.h.
|
staticprotected |
Definition at line 275 of file diskstream.h.
|
staticprotected |
Definition at line 276 of file diskstream.h.
|
static |
Definition at line 186 of file diskstream.h.
|
static |
Definition at line 187 of file diskstream.h.
|
protected |
The next frame position that we should be reading from in our playlist
Definition at line 325 of file diskstream.h.
|
protected |
Definition at line 306 of file diskstream.h.
|
protected |
Definition at line 281 of file diskstream.h.
|
protected |
Definition at line 336 of file diskstream.h.
|
protected |
Definition at line 328 of file diskstream.h.
|
protected |
Definition at line 317 of file diskstream.h.
|
protected |
Definition at line 308 of file diskstream.h.
|
protected |
Definition at line 307 of file diskstream.h.
|
protected |
Definition at line 312 of file diskstream.h.
PBD::Signal1<void,Location *> ARDOUR::Diskstream::LoopSet |
Definition at line 184 of file diskstream.h.
|
protected |
Definition at line 313 of file diskstream.h.
|
protected |
Definition at line 314 of file diskstream.h.
|
protected |
Definition at line 316 of file diskstream.h.
|
protected |
Definition at line 326 of file diskstream.h.
|
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.
|
protected |
Definition at line 319 of file diskstream.h.
PBD::Signal0<void> ARDOUR::Diskstream::SpeedChanged |
Definition at line 179 of file diskstream.h.
|
protected |
Definition at line 332 of file diskstream.h.
|
protected |
Definition at line 299 of file diskstream.h.
|
protected |
Definition at line 318 of file diskstream.h.