Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

AIFFLoader Class Reference

EA AIFF (IFF) loader. More...

#include <LoaderAIFF.h>

Inheritance diagram for AIFFLoader:

Loader List of all members.

Public Member Functions

 AIFFLoader ()
 Constructor.

virtual ~AIFFLoader ()
 Destructor.

virtual const wxString & Name () const
 Loader name.

virtual enum status_t Attach (wxFile *file, const wxString &name)
 Attach file to the loader.

virtual enum status_t Create (wxFile *file, const wxString &name, const format_t &fmt)
 Create new file and attach.

virtual enum status_t Create (wxFile *file, const wxString &name, const format_ex_t &fmt)
 Create new file and attach (multitrack).

virtual track_t NumIntTracks () const
 Get number of internal tracks.

virtual const format_tTrackFormat (const track_t itrack) const
 Get wave format.

virtual const wxString * FileName () const
 Get filename.

virtual length_t GetRawLength () const
 Get raw length.

virtual samples_t GetSamples (const track_t itrack, const samples_t pos, const samples_t len, void *data)
 Get samples.

virtual samples_t AppendSamples (const track_t itrack, const samples_t len, void *data, samples_t &npos)
 Append new samples.

virtual samples_t AppendSamples (const samples_t len, void *data)
 Append new samples (multitrack).


Static Public Member Functions

LoaderRegisterLoader ()
 Instance registrator.


Private Member Functions

void done ()
 Cleanup.

enum status_t create_generic (wxFile *file, const wxString &name, const enum encoding_t encoding, const enum samplewidth_t samplewidth, const enum bitencoding_t bitencoding, const samplerate_t rate, const track_t channels, const size_t sample_len)
 Create new file (generic).


Private Attributes

wxFile * cf
 Physical file.

wxString fname
 Filename.

format_t format
 Audio format.

track_t tracks
 Number of internal tracks.

Datas datas
 Data areas.


Detailed Description

EA AIFF (IFF) loader.

Loader for Electronic Arts' IFF files, especially their wave audio variant.


Constructor & Destructor Documentation

AIFFLoader::AIFFLoader  ) 
 

Constructor.

Initializes an empty loader.

AIFFLoader::~AIFFLoader  )  [virtual]
 

Destructor.

Does cleanup, closes the physical file (if open).


Member Function Documentation

samples_t AIFFLoader::AppendSamples const samples_t  len,
void *  data
[virtual]
 

Append new samples (multitrack).

Append new samples at the end of the file (multichannel).

Parameters:
len Number of samples to append.
data Samples to append.
Returns:
Number of samples appended.

Implements Loader.

samples_t AIFFLoader::AppendSamples const track_t  itrack,
const samples_t  len,
void *  data,
samples_t npos
[virtual]
 

Append new samples.

Append new samples at the end of the file and return the physical sample position.

Parameters:
itrack Track to append to.
len Number of samples to append.
data Samples to append.
npos Position (in samples) of the newly appended data.
Returns:
Number of samples appended.

Implements Loader.

enum status_t AIFFLoader::Attach wxFile *  file,
const wxString &  name
[virtual]
 

Attach file to the loader.

Checks whether 'file' is an AIFF file with supported properties and if so then attaches it to the loader.

Parameters:
file Open file to attach.
name Filename.
Returns:
Success/error status.

Implements Loader.

enum status_t AIFFLoader::Create wxFile *  file,
const wxString &  name,
const format_ex_t fmt
[virtual]
 

Create new file and attach (multitrack).

Parameters:
file Physical file.
name Filename.
fmt File format.
Returns:
Status.

Implements Loader.

enum status_t AIFFLoader::Create wxFile *  file,
const wxString &  name,
const format_t fmt
[virtual]
 

Create new file and attach.

Parameters:
file Physical file.
name Filename.
fmt File format.
Returns:
Status.

Implements Loader.

enum status_t AIFFLoader::create_generic wxFile *  file,
const wxString &  name,
const enum encoding_t  encoding,
const enum samplewidth_t  samplewidth,
const enum bitencoding_t  bitencoding,
const samplerate_t  rate,
const track_t  channels,
const size_t  sample_len
[private]
 

Create new file (generic).

Parameters:
file Physical file.
name Filename.
encoding Encoding.
samplewidth Sample width.
bitencoding Bit encoding.
rate Sample rate.
channels Number of channels.
sample_len Length of one sample (in bytes).
Returns:
Status.

void AIFFLoader::done  )  [private]
 

Cleanup.

Closes the physical file (if open).

const wxString * AIFFLoader::FileName  )  const [virtual]
 

Get filename.

Returns:
Static reference to physical file filename.

Implements Loader.

length_t AIFFLoader::GetRawLength  )  const [virtual]
 

Get raw length.

Returns:
Raw length (in bytes) of the physical file.

Implements Loader.

samples_t AIFFLoader::GetSamples const track_t  itrack,
const samples_t  pos,
const samples_t  len,
void *  data
[virtual]
 

Get samples.

Fills the given buffer with a given number of samples from a given position and internal track (channel).

Parameters:
itrack Internal track (channel) to read from.
pos Position (is samples) to read from.
len Number of samples to read.
data Buffer to store the samples in.
Returns:
Number of samples successfully read.

Implements Loader.

const wxString & AIFFLoader::Name  )  const [virtual]
 

Loader name.

Returns:
Static reference to a string containig a human readable description of this loader.

Implements Loader.

track_t AIFFLoader::NumIntTracks  )  const [virtual]
 

Get number of internal tracks.

Returns:
Number of internal tracks handled by the loader (i.e. number of channels in the physical file).

Implements Loader.

Loader * AIFFLoader::RegisterLoader  )  [static]
 

Instance registrator.

Returns:
An instance of itself, i.e. this loader.

const format_t * AIFFLoader::TrackFormat const track_t  itrack  )  const [virtual]
 

Get wave format.

Returns:
Static reference to format_t structure describing the audio format.

Implements Loader.


Member Data Documentation

wxFile* AIFFLoader::cf [private]
 

Physical file.

Datas AIFFLoader::datas [private]
 

Data areas.

wxString AIFFLoader::fname [private]
 

Filename.

format_t AIFFLoader::format [private]
 

Audio format.

track_t AIFFLoader::tracks [private]
 

Number of internal tracks.


The documentation for this class was generated from the following files:
Generated on Wed Jul 28 17:17:42 2004 for FinalMix by doxygen 1.3.5