# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLSOUND::CBufferAL Class Reference

OpenAL buffer. More...

#include <buffer_al.h>

Inheritance diagram for NLSOUND::CBufferAL:

NLSOUND::IBuffer List of all members.

Public Methods

 CBufferAL (ALuint buffername=0)
 Constructor. More...

virtual ~CBufferAL ()
 Destructor. More...

virtual void setFormat (TSampleFormat format, uint freq)
 Set the sample format. Example: freq=44100. More...

virtual bool fillBuffer (void *src, uint32 bufsize)
 Set the buffer size and fill the buffer. Return true if ok. Call setFormat() first. More...

virtual uint32 getSize () const
 Return the size of the buffer, in bytes. More...

virtual float getDuration () const
 Return the duration (in ms) of the sample in the buffer. More...

virtual bool isStereo () const
 Return true if the buffer is stereo, false if mono. More...

virtual void getFormat (TSampleFormat &format, uint &freq) const
 Return the format and frequency. More...

virtual bool isFillMoreSupported () const
 Return true if the buffer is able to be fill part by part, false if it must be filled in one call (OpenAL 1.0 -> false). More...

virtual void setSize (uint32 size)
 Force the buffer size without filling data (if isFillMoreSupported() only). More...

virtual bool fillMore (void *src, uint32 srcsize)
 Fill the buffer partially (if isFillMoreSupported() only), beginning at the pos changed by a previous call to fillMore(). More...

ALuint bufferName ()
 Return the buffer name (as an int). More...

virtual const std::string & getName ()
 Return the name of the buffer (as a string). More...

virtual void setName (std::string &name)
 Set the name of the buffer. More...

virtual void presetName (const std::string &bufferName)
 Preset the name of the buffer. More...


Private Attributes

ALuint _BufferName
std::string _Name
ALenum _SampleFormat
ALuint _Frequency

Detailed Description

OpenAL buffer.

A buffer can be filled with data. An OpenAL buffer cannot be streamed in, i.e. isFillMoreSupported() returns false (instead, streaming would be implemented by buffer queueing).

Author:
Olivier Cado , Nevrax France
Date:
2001

Definition at line 49 of file buffer_al.h.


Constructor & Destructor Documentation

NLSOUND::CBufferAL::CBufferAL ALuint    buffername = 0
 

Constructor.

Definition at line 36 of file buffer_al.cpp.

NLSOUND::CBufferAL::~CBufferAL   [virtual]
 

Destructor.

Definition at line 45 of file buffer_al.cpp.


Member Function Documentation

ALuint NLSOUND::CBufferAL::bufferName   [inline]
 

Return the buffer name (as an int).

Definition at line 88 of file buffer_al.h.

References _BufferName.

Referenced by presetName.

bool NLSOUND::CBufferAL::fillBuffer void *    src,
uint32    bufsize
[virtual]
 

Set the buffer size and fill the buffer. Return true if ok. Call setFormat() first.

Implements NLSOUND::IBuffer.

Definition at line 138 of file buffer_al.cpp.

References _BufferName, _Frequency, _SampleFormat, nlassert, and src.

virtual bool NLSOUND::CBufferAL::fillMore void *    src,
uint32    srcsize
[inline, virtual]
 

Fill the buffer partially (if isFillMoreSupported() only), beginning at the pos changed by a previous call to fillMore().

If the pos+srcsize exceeds the buffer size, the exceeding data is put at the beginning of the buffer. srcsize must be smaller than the buffer size.

Reimplemented from NLSOUND::IBuffer.

Definition at line 84 of file buffer_al.h.

References src.

float NLSOUND::CBufferAL::getDuration   const [virtual]
 

Return the duration (in ms) of the sample in the buffer.

Implements NLSOUND::IBuffer.

Definition at line 99 of file buffer_al.cpp.

References _Frequency, and getSize.

void NLSOUND::CBufferAL::getFormat TSampleFormat   format,
uint   freq
const [virtual]
 

Return the format and frequency.

Implements NLSOUND::IBuffer.

Definition at line 82 of file buffer_al.cpp.

References _Frequency, format, NLSOUND::Mono16, NLSOUND::Mono8, nlstop, NLSOUND::Stereo16, NLSOUND::Stereo8, and NLSOUND::TSampleFormat.

virtual const std::string& NLSOUND::CBufferAL::getName void    [inline, virtual]
 

Return the name of the buffer (as a string).

Implements NLSOUND::IBuffer.

Definition at line 91 of file buffer_al.h.

References _Name.

uint32 NLSOUND::CBufferAL::getSize   const [virtual]
 

Return the size of the buffer, in bytes.

Implements NLSOUND::IBuffer.

Definition at line 61 of file buffer_al.cpp.

References _BufferName, nlassert, and value.

Referenced by getDuration.

virtual bool NLSOUND::CBufferAL::isFillMoreSupported   const [inline, virtual]
 

Return true if the buffer is able to be fill part by part, false if it must be filled in one call (OpenAL 1.0 -> false).

Implements NLSOUND::IBuffer.

Definition at line 76 of file buffer_al.h.

bool NLSOUND::CBufferAL::isStereo   const [virtual]
 

Return true if the buffer is stereo, false if mono.

Implements NLSOUND::IBuffer.

Definition at line 73 of file buffer_al.cpp.

References _SampleFormat.

void NLSOUND::CBufferAL::presetName const std::string &    bufferName [virtual]
 

Preset the name of the buffer.

Used for async loading to give a name before the buffer is effectivly loaded. If the name after loading of the buffer doesn't match the preset name, the load will assert.

Implements NLSOUND::IBuffer.

Definition at line 52 of file buffer_al.cpp.

References _Name, and bufferName.

void NLSOUND::CBufferAL::setFormat TSampleFormat    format,
uint    freq
[virtual]
 

Set the sample format. Example: freq=44100.

Implements NLSOUND::IBuffer.

Definition at line 121 of file buffer_al.cpp.

References _Frequency, _SampleFormat, format, NLSOUND::Mono16, NLSOUND::Mono8, nlstop, NLSOUND::Stereo16, NLSOUND::Stereo8, and NLSOUND::TSampleFormat.

virtual void NLSOUND::CBufferAL::setName std::string &    name [inline, virtual]
 

Set the name of the buffer.

Definition at line 94 of file buffer_al.h.

References _Name.

virtual void NLSOUND::CBufferAL::setSize uint32    size [inline, virtual]
 

Force the buffer size without filling data (if isFillMoreSupported() only).

Reimplemented from NLSOUND::IBuffer.

Definition at line 78 of file buffer_al.h.


Member Data Documentation

ALuint NLSOUND::CBufferAL::_BufferName [private]
 

Definition at line 101 of file buffer_al.h.

Referenced by bufferName, fillBuffer, and getSize.

ALuint NLSOUND::CBufferAL::_Frequency [private]
 

Definition at line 110 of file buffer_al.h.

Referenced by fillBuffer, getDuration, getFormat, and setFormat.

std::string NLSOUND::CBufferAL::_Name [private]
 

Definition at line 104 of file buffer_al.h.

Referenced by getName, presetName, and setName.

ALenum NLSOUND::CBufferAL::_SampleFormat [private]
 

Definition at line 107 of file buffer_al.h.

Referenced by fillBuffer, isStereo, and setFormat.


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