IT++ Logo Newcom Logo

itpp::SND_IO_File Class Reference
[Audio]

This class is capable of doing both input and output. More...

#include <itpp/srccode/audiofile.h>

Inheritance diagram for itpp::SND_IO_File:

itpp::SND_In_File itpp::SND_Out_File itpp::Audio_File itpp::SND_Format itpp::Audio_File itpp::SND_Format List of all members.

Public Types

enum  data_encoding {
  enc_unknown = 0, enc_mulaw8 = 1, enc_alaw8 = 27, enc_linear8 = 2,
  enc_linear16 = 3, enc_linear24 = 4, enc_linear32 = 5, enc_float = 6,
  enc_double = 7
}
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!! More...

Public Member Functions

 SND_IO_File ()
 Constructor.
 SND_IO_File (const char *fname)
 Open the file {fname}.
virtual ~SND_IO_File ()
 Destructor.
virtual bool open (const char *fname)
 Open the file {fname}.
virtual void close ()
 Close the file.
bool seek_read (int pos)
 Go to sample number {pos}.
int tell_read ()
 Return the current sample position in the file.
virtual bool read (vec &v)
 Read the whole file into the vector {v}.
virtual bool read (vec &v, int n)
 Read {n} samples into the vector {v}.
bool good ()
 Returns true if everything is OK.
data_encoding encoding () const
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!
int channels () const
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!
int samples () const
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!
int rate () const
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!
void set_rate (int r)
 ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!
bool open (const char *fname, int rate=8000, data_encoding e=enc_linear16)
 Open the file {fname}.
bool seek_write (int pos)
 Go to sample number {pos}.
int tell_write ()
 Return the current sample position in the file.
virtual bool write (const vec &v)
 Write the vector {v}.

Protected Member Functions

int sample_size () const
 ACTION: Add documentation for this protected member.
bool read_header (std::istream &f)
 ACTION: Add documentation for this protected member.
bool write_header (std::ostream &f)
 ACTION: Add documentation for this protected member.

Protected Attributes

std::fstream file
 ACTION: Add documentation for this protected member.
bool is_valid
 ACTION: Add documentation for this protected member.
struct {
   unsigned   magic
 Magic number.
   unsigned   hdr_size
 Size of this header.
   unsigned   data_size
 Length of data (optional).
   unsigned   encoding
 Data encoding format.
   unsigned   sample_rate
 Samples per second.
   unsigned   channels
 Number of interleaved channels.
   char   info [SND_INFO_LEN]
 Info string.
header
 Definition of the header structure.

Detailed Description

This class is capable of doing both input and output.

ACTION: ADD DETAILED DOCUMENTATION FOR THIS CLASS!!!!!!!!!!!

Definition at line 205 of file audiofile.h.


Member Enumeration Documentation

enum itpp::SND_Format::data_encoding [inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Enumerator:
enc_unknown 
enc_mulaw8 
enc_alaw8 
enc_linear8 
enc_linear16 
enc_linear24 
enc_linear32 
enc_float 
enc_double 

Definition at line 85 of file audiofile.h.


Constructor & Destructor Documentation

itpp::SND_IO_File::SND_IO_File (  )  [inline]

Constructor.

Definition at line 208 of file audiofile.h.

itpp::SND_IO_File::SND_IO_File ( const char *  fname  )  [inline]

Open the file {fname}.

Definition at line 210 of file audiofile.h.

References open().

virtual itpp::SND_IO_File::~SND_IO_File (  )  [inline, virtual]

Destructor.

Definition at line 212 of file audiofile.h.

References close().


Member Function Documentation

bool itpp::SND_IO_File::open ( const char *  fname  )  [virtual]

Open the file {fname}.

Reimplemented from itpp::SND_In_File.

Definition at line 486 of file audiofile.cpp.

References close(), itpp::Audio_File::file, itpp::Audio_File::is_valid, itpp::SND_Format::read_header(), itpp::SND_In_File::seek_read(), and itpp::SND_Out_File::seek_write().

Referenced by SND_IO_File().

void itpp::SND_IO_File::close (  )  [virtual]

Close the file.

Reimplemented from itpp::SND_In_File.

Definition at line 510 of file audiofile.cpp.

References itpp::Audio_File::file, itpp::Audio_File::is_valid, and itpp::SND_Format::write_header().

Referenced by open(), and ~SND_IO_File().

bool itpp::SND_In_File::seek_read ( int  pos  )  [inherited]

Go to sample number {pos}.

Definition at line 300 of file audiofile.cpp.

References itpp::Audio_File::file, itpp::SND_Format::header, and itpp::SND_Format::sample_size().

Referenced by open(), and itpp::SND_In_File::read().

int itpp::SND_In_File::tell_read (  )  [inherited]

Return the current sample position in the file.

Definition at line 309 of file audiofile.cpp.

References itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, and itpp::SND_Format::sample_size().

bool itpp::SND_In_File::read ( vec &  v  )  [virtual, inherited]

Read the whole file into the vector {v}.

Definition at line 317 of file audiofile.cpp.

References itpp::SND_Format::enc_double, itpp::SND_Format::enc_float, itpp::SND_Format::enc_linear16, itpp::SND_Format::enc_linear8, itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, it_warning, itpp::SND_Format::samples(), and itpp::SND_In_File::seek_read().

bool itpp::SND_In_File::read ( vec &  v,
int  n 
) [virtual, inherited]

Read {n} samples into the vector {v}.

Definition at line 352 of file audiofile.cpp.

References itpp::SND_Format::enc_double, itpp::SND_Format::enc_float, itpp::SND_Format::enc_linear16, itpp::SND_Format::enc_linear8, itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, and it_warning.

bool itpp::Audio_File::good (  )  [inline, inherited]

Returns true if everything is OK.

Definition at line 67 of file audiofile.h.

References itpp::Audio_File::file, and itpp::Audio_File::is_valid.

Referenced by itpp::SND_In_File::read(), itpp::SND_Out_File::seek_write(), itpp::SND_In_File::tell_read(), itpp::SND_Out_File::tell_write(), and itpp::SND_Out_File::write().

data_encoding itpp::SND_Format::encoding (  )  const [inline, inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Definition at line 99 of file audiofile.h.

References itpp::SND_Format::header.

int itpp::SND_Format::channels (  )  const [inline, inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Definition at line 105 of file audiofile.h.

References itpp::SND_Format::header.

int itpp::SND_Format::samples (  )  const [inline, inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Definition at line 97 of file audiofile.h.

References itpp::SND_Format::header, and itpp::SND_Format::sample_size().

Referenced by itpp::SND_In_File::read().

int itpp::SND_Format::rate (  )  const [inline, inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Definition at line 101 of file audiofile.h.

References itpp::SND_Format::header.

void itpp::SND_Format::set_rate ( int  r  )  [inline, inherited]

ACTION: ADD DOCUMENTATION FOR THIS MEMBER!!!!!!!!!!!

Definition at line 103 of file audiofile.h.

References itpp::SND_Format::header.

int itpp::SND_Format::sample_size (  )  const [protected, inherited]

ACTION: Add documentation for this protected member.

Definition at line 208 of file audiofile.cpp.

References itpp::SND_Format::enc_alaw8, itpp::SND_Format::enc_double, itpp::SND_Format::enc_float, itpp::SND_Format::enc_linear16, itpp::SND_Format::enc_linear24, itpp::SND_Format::enc_linear32, itpp::SND_Format::enc_linear8, itpp::SND_Format::enc_mulaw8, and itpp::SND_Format::header.

Referenced by itpp::SND_Format::samples(), itpp::SND_In_File::seek_read(), itpp::SND_Out_File::seek_write(), itpp::SND_In_File::tell_read(), and itpp::SND_Out_File::tell_write().

bool itpp::SND_Format::read_header ( std::istream &  f  )  [protected, inherited]

ACTION: Add documentation for this protected member.

Definition at line 223 of file audiofile.cpp.

References itpp::SND_Format::header, and it_warning.

Referenced by open(), and itpp::SND_In_File::open().

bool itpp::SND_Format::write_header ( std::ostream &  f  )  [protected, inherited]

ACTION: Add documentation for this protected member.

Definition at line 243 of file audiofile.cpp.

References itpp::SND_Format::header.

Referenced by close(), itpp::SND_Out_File::close(), and itpp::SND_Out_File::open().

bool itpp::SND_Out_File::open ( const char *  fname,
int  rate = 8000,
data_encoding  e = enc_linear16 
) [inherited]

Open the file {fname}.

Definition at line 398 of file audiofile.cpp.

References itpp::SND_Out_File::close(), itpp::Audio_File::file, itpp::SND_Format::header, itpp::Audio_File::is_valid, and itpp::SND_Format::write_header().

Referenced by itpp::SND_Out_File::SND_Out_File().

bool itpp::SND_Out_File::seek_write ( int  pos  )  [inherited]

Go to sample number {pos}.

Definition at line 429 of file audiofile.cpp.

References itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, and itpp::SND_Format::sample_size().

Referenced by open().

int itpp::SND_Out_File::tell_write (  )  [inherited]

Return the current sample position in the file.

Definition at line 441 of file audiofile.cpp.

References itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, and itpp::SND_Format::sample_size().

bool itpp::SND_Out_File::write ( const vec &  v  )  [virtual, inherited]

Write the vector {v}.

Definition at line 449 of file audiofile.cpp.

References itpp::SND_Format::enc_double, itpp::SND_Format::enc_float, itpp::SND_Format::enc_linear16, itpp::SND_Format::enc_linear8, itpp::Audio_File::file, itpp::Audio_File::good(), itpp::SND_Format::header, and it_warning.


Member Data Documentation

std::fstream itpp::Audio_File::file [protected, inherited]

ACTION: Add documentation for this protected member.

Definition at line 71 of file audiofile.h.

Referenced by close(), itpp::SND_Out_File::close(), itpp::SND_In_File::close(), itpp::Audio_File::good(), open(), itpp::SND_Out_File::open(), itpp::SND_In_File::open(), itpp::SND_In_File::read(), itpp::SND_In_File::seek_read(), itpp::SND_Out_File::seek_write(), itpp::snd_read(), itpp::snd_write(), itpp::SND_In_File::tell_read(), itpp::SND_Out_File::tell_write(), and itpp::SND_Out_File::write().

bool itpp::Audio_File::is_valid [protected, inherited]

ACTION: Add documentation for this protected member.

Definition at line 73 of file audiofile.h.

Referenced by itpp::Audio_File::Audio_File(), close(), itpp::SND_Out_File::close(), itpp::SND_In_File::close(), itpp::Audio_File::good(), open(), itpp::SND_Out_File::open(), and itpp::SND_In_File::open().

unsigned itpp::SND_Format::magic [inherited]

Magic number.

Definition at line 112 of file audiofile.h.

unsigned itpp::SND_Format::hdr_size [inherited]

Size of this header.

Definition at line 114 of file audiofile.h.

unsigned itpp::SND_Format::data_size [inherited]

Length of data (optional).

Definition at line 116 of file audiofile.h.

unsigned itpp::SND_Format::encoding [inherited]

Data encoding format.

Definition at line 118 of file audiofile.h.

unsigned itpp::SND_Format::sample_rate [inherited]

Samples per second.

Definition at line 120 of file audiofile.h.

unsigned itpp::SND_Format::channels [inherited]

Number of interleaved channels.

Definition at line 122 of file audiofile.h.

char itpp::SND_Format::info[SND_INFO_LEN] [inherited]

Info string.

Definition at line 124 of file audiofile.h.

struct { ... } itpp::SND_Format::header [protected, inherited]

Definition of the header structure.

Referenced by itpp::SND_Format::channels(), itpp::SND_Out_File::close(), itpp::SND_Format::encoding(), itpp::SND_Out_File::open(), itpp::SND_Format::rate(), itpp::SND_In_File::read(), itpp::SND_Format::read_header(), itpp::SND_Format::sample_size(), itpp::SND_Format::samples(), itpp::SND_In_File::seek_read(), itpp::SND_Out_File::seek_write(), itpp::SND_Format::set_rate(), itpp::SND_In_File::tell_read(), itpp::SND_Out_File::tell_write(), itpp::SND_Out_File::write(), and itpp::SND_Format::write_header().


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

Generated on Sat Aug 25 23:41:06 2007 for IT++ by Doxygen 1.5.2