Logo Search packages:      
Sourcecode: ecasound version File versions  Download package

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes

AUDIO_SEQUENCER_BASE Class Reference

#include <audioio-seqbase.h>

Inheritance diagram for AUDIO_SEQUENCER_BASE:
Inheritance graph
[legend]
Collaboration diagram for AUDIO_SEQUENCER_BASE:
Collaboration graph
[legend]

List of all members.

Public Types

typedef string parameter_t
Public type definitions and constants
enum  Io_mode { io_read = 1, io_write = 2, io_readwrite = 4 }
Public type definitions and constants
enum  Sample_format {
  sfmt_none, sfmt_u8, sfmt_s8, sfmt_s16,
  sfmt_s16_le, sfmt_s16_be, sfmt_s24, sfmt_s24_le,
  sfmt_s24_be, sfmt_s32, sfmt_s32_le, sfmt_s32_be,
  sfmt_f32, sfmt_f32_le, sfmt_f32_be, sfmt_f64,
  sfmt_f64_le, sfmt_f64_be
}
enum  Sample_endianess { se_native, se_big, se_little }
enum  Sample_coding { sc_signed, sc_unsigned, sc_float }

Public Member Functions

std::string get_parameter_name (int id) const
int number_of_params (void) const
Public functions
 AUDIO_SEQUENCER_BASE ()
virtual ~AUDIO_SEQUENCER_BASE (void)
Reimplemented functions from DYNAMIC_OBJECT<string>
virtual AUDIO_SEQUENCER_BASEclone (void) const
virtual AUDIO_SEQUENCER_BASEnew_expr (void) const
Reimplemented functions from ECA_AUDIO_POSITION
virtual SAMPLE_SPECS::sample_pos_t seek_position (SAMPLE_SPECS::sample_pos_t pos)
Reimplemented functions from AUDIO_IO
virtual bool finite_length_stream (void) const
virtual bool finished (void) const
virtual void read_buffer (SAMPLE_BUFFER *sbuf)
virtual void write_buffer (SAMPLE_BUFFER *sbuf)
virtual void open (void) throw (AUDIO_IO::SETUP_ERROR&)
virtual void close (void)
New functions
void set_child_object_string (const std::string &v)
const std::string & child_object_string (void) const
void set_child_offset (const ECA_AUDIO_TIME &v)
const ECA_AUDIO_TIMEchild_offset (void) const
void set_child_start_position (const ECA_AUDIO_TIME &v)
const ECA_AUDIO_TIMEchild_start_position (void) const
void set_child_length (const ECA_AUDIO_TIME &v)
ECA_AUDIO_TIME child_length (void) const
void toggle_looping (bool v)
bool child_looping (void) const
Reimplemented functions from ECA_OBJECT
virtual std::string name (void) const
virtual std::string description (void) const
Reimplemented functions from DYNAMIC_PARAMETERS
virtual bool variable_params (void) const
virtual std::string parameter_names (void) const
virtual void set_parameter (int param, std::string value)
virtual std::string get_parameter (int param) const
Configuration

For setting and getting configuration parameters.

virtual void set_parameter (int param, string value)
int io_mode (void) const
const string & label (void) const
string format_info (void) const
void set_io_mode (int mode)
void set_label (const string &id_label)
void toggle_nonblocking_mode (bool value)
Reimplemented functions from ECA_AUDIO_POSITION
virtual bool supports_seeking (void) const
virtual bool supports_seeking_sample_accurate (void) const
Reimplemented functions from AUDIO_IO
virtual int supported_io_modes (void) const
virtual bool supports_nonblocking_mode (void) const
virtual bool locked_audio_format (void) const
virtual void set_buffersize (long int samples)
virtual long int buffersize (void) const
Reimplemented functions from ECA_AUDIO_FORMAT
virtual void set_channels (SAMPLE_SPECS::channel_t v)
virtual void set_sample_format (Sample_format v) throw (ECA_ERROR&)
virtual void set_audio_format (const ECA_AUDIO_FORMAT &f_str)
virtual void toggle_interleaved_channels (bool v)
Reimplemented functions from ECA_SAMPLERATE_AWARE
virtual void set_samples_per_second (SAMPLE_SPECS::sample_rate_t v)
Reimplemented functions from AUDIO_IO_BARRIER
virtual void start_io (void)
virtual void stop_io (void)
Public functions for handling object managers
virtual AUDIO_IO_MANAGERcreate_object_manager (void) const
Runtime information
virtual int poll_descriptor (void) const
virtual long int samples_available (void) const
bool is_open (void) const
virtual bool nonblocking_mode (void) const
virtual bool readable (void) const
virtual bool writable (void) const
virtual string status (void) const
ECA_AUDIO_TIME length (void) const
ECA_AUDIO_TIME position (void) const
Functions overridden and reimplemented from
SAMPLE_SPECS::sample_rate_t samples_per_second (void) const
Public functions for getting audio format information
int frame_size (void) const
int sample_size (void) const
int bits (void) const
Sample_format sample_format (void) const
Sample_coding sample_coding (void) const
Sample_endianess sample_endianess (void) const
long int bytes_per_second (void) const
SAMPLE_SPECS::channel_t channels (void) const
bool interleaved_channels (void) const
ECA_AUDIO_FORMAT audio_format (void) const
std::string format_string (void) const
Public functions for setting audio format information
void set_sample_format_string (const std::string &f_str) throw (ECA_ERROR&)
void set_sample_coding (Sample_coding v)
void set_sample_endianess (Sample_endianess v)
Public functions for getting length information
SAMPLE_SPECS::sample_pos_t length_in_samples (void) const
int length_in_seconds (void) const
double length_in_seconds_exact (void) const
bool length_set (void) const
Public functions for getting position information
SAMPLE_SPECS::sample_pos_t position_in_samples (void) const
int position_in_seconds (void) const
double position_in_seconds_exact (void) const
Public functions for setting position (with action)
void seek_position_in_samples (SAMPLE_SPECS::sample_pos_t pos_in_samples)
void seek_position_in_samples_advance (SAMPLE_SPECS::sample_pos_t pos_in_samples)
void seek_position_in_seconds (double pos_in_seconds)
void seek_first (void)
void seek_last (void)
Public utility functions
bool out_position (void) const

Protected Member Functions

AUDIO_IOchild (void) const
std::string child_params_as_string (int first, std::vector< std::string > *params)
void dump_child_debug (const char *tag)
bool is_child_initialized (void) const
void post_child_open (void)
void pre_child_open (void)
SAMPLE_SPECS::sample_pos_t priv_public_to_child_pos (SAMPLE_SPECS::sample_pos_t pubpos) const
void release_child_no_delete (void)
void set_child (AUDIO_IO *v)
void set_child_length_private (const ECA_AUDIO_TIME &v)
Functions provided for subclasses.
void length (const ECA_AUDIO_TIME &v)
void position (const ECA_AUDIO_TIME &v)
std::string parameter_get_to_string (int param) const
std::string parameter_set_to_string (int param, std::string value) const
Protected functions for setting length
void set_length_in_samples (SAMPLE_SPECS::sample_pos_t pos)
void set_length_in_seconds (int pos_in_seconds)
void set_length_in_seconds (double pos_in_seconds)
void extend_position (void)
Protected functions for setting position (without action)
void set_position_in_samples (SAMPLE_SPECS::sample_pos_t pos)
void set_position_in_seconds (int pos_in_seconds)
void set_position_in_seconds (double pos_in_seconds)
void change_position_in_samples (SAMPLE_SPECS::sample_pos_t pos)
void change_position_in_seconds (double pos_in_seconds)

Private Member Functions

 AUDIO_SEQUENCER_BASE (const AUDIO_SEQUENCER_BASE &x)
void change_child_name (const string &child_name) throw (AUDIO_IO::SETUP_ERROR &)
AUDIO_SEQUENCER_BASEoperator= (const AUDIO_SEQUENCER_BASE &x)

Private Attributes

long int buffersize_rep
ECA_AUDIO_TIME child_length_rep
bool child_length_set_by_client_rep
bool child_looping_rep
std::string child_object_str_rep
ECA_AUDIO_TIME child_offset_rep
ECA_AUDIO_TIME child_start_pos_rep
bool child_write_started
bool init_rep
SAMPLE_BUFFER tmp_buffer

Detailed Description

Base class for audio sequencer objects.

Audio sequencer objects open one or more child objects and alter the sequence of audio that is read from them. Common operations are changing the position (inserting silence at start, slicing), and looping of segments.

The child objects also implement the AUDIO_IO interface, or one of the more specialized subclasses.

Related design patterns:

Author:
Kai Vehmanen

Definition at line 26 of file audioio-seqbase.h.


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

Generated by  Doxygen 1.6.0   Back to index