OggFileSource Class Reference
[Internal IO]

OggFileSource read ogg files using vorbisfile. More...

#include <OggFileSource.h>

Inherits Marsyas::AbsSoundFileSource.


Public Member Functions

void getHeader (std::string filename)
void myProcess (realvec &in, realvec &out)

Private Member Functions

void closeFile ()
void myUpdate (MarControlPtr sender)


Detailed Description

OggFileSource read ogg files using vorbisfile.

Author:
Taras Glek
This class reads an ogg file using the vorbis ogg decoder library.

Definition at line 42 of file OggFileSource.h.


Member Function Documentation

void closeFile (  )  [private]

Function: closeFile()

Description: Close the file if its open, release memory, and release mad structs.

Definition at line 285 of file OggFileSource.cpp.

Referenced by OggFileSource::getHeader(), and OggFileSource::myProcess().

void getHeader ( std::string  filename  )  [virtual]

Function: getHeader Description: Opens the Ogg file and collects all the necessary information to update the MarSystem.

Implements AbsSoundFileSource.

Definition at line 130 of file OggFileSource.cpp.

References OggFileSource::closeFile(), and MarSystem::updControl().

void myProcess ( realvec in,
realvec out 
) [virtual]

Function: process Description: Fills an output vector with samples. In this case, getLinear16 does all the work.

Implements AbsSoundFileSource.

Definition at line 207 of file OggFileSource.cpp.

References OggFileSource::closeFile(), and realvec::setval().

void myUpdate ( MarControlPtr  sender  )  [private, virtual]

Function: update

Description: Performs the usual MarSystem update jobs. Additionally, it can update the position of the index in the file if the user seeks forward or backward. Note that this is currently going to be slow as we have to refill the mad buffer each time somebody seeks in the file.

Reimplemented from MarSystem.

Definition at line 180 of file OggFileSource.cpp.


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

Generated on Wed May 23 00:02:23 2012 for Marsyas by  doxygen 1.5.6