DLS::Sampler Class Reference

Abstract base class which provides mandatory informations about sample players in general. More...

#include <DLS.h>

Inheritance diagram for DLS::Sampler:

DLS::Region gig::DimensionRegion gig::Region List of all members.

Public Member Functions

void AddSampleLoop (sample_loop_t *pLoopDef)
 Adds a new sample loop with the provided loop definition.
void DeleteSampleLoop (sample_loop_t *pLoopDef)
 Deletes an existing sample loop.
virtual void SetGain (int32_t gain)
virtual void UpdateChunks ()
 Apply all sample player options to the respective RIFF chunk.

Public Attributes

uint8_t UnityNote
int16_t FineTune
int32_t Gain
bool NoSampleDepthTruncation
bool NoSampleCompression
uint32_t SampleLoops
 Reflects the number of sample loops.
sample_loop_tpSampleLoops
 Points to the beginning of a sample loop array, or is NULL if there are no loops defined.

Protected Member Functions

 Sampler (RIFF::List *ParentList)
virtual ~Sampler ()

Protected Attributes

RIFF::ListpParentList
uint32_t uiHeaderSize
uint32_t SamplerOptions

Detailed Description

Abstract base class which provides mandatory informations about sample players in general.

Definition at line 340 of file DLS.h.


Constructor & Destructor Documentation

DLS::Sampler::Sampler ( RIFF::List ParentList  )  [protected]

Definition at line 495 of file DLS.cpp.

References CHUNK_ID_WSMP, F_WSMP_NO_COMPRESSION, F_WSMP_NO_TRUNCATION, FineTune, Gain, RIFF::List::GetSubChunk(), NoSampleCompression, NoSampleDepthTruncation, pParentList, pSampleLoops, RIFF::Chunk::Read(), RIFF::Chunk::ReadInt16(), RIFF::Chunk::ReadInt32(), RIFF::Chunk::ReadUint16(), RIFF::Chunk::ReadUint32(), SampleLoops, SamplerOptions, RIFF::Chunk::SetPos(), RIFF::stream_curpos, uiHeaderSize, and UnityNote.

DLS::Sampler::~Sampler (  )  [protected, virtual]

Definition at line 527 of file DLS.cpp.

References pSampleLoops.


Member Function Documentation

void DLS::Sampler::AddSampleLoop ( sample_loop_t pLoopDef  ) 

Adds a new sample loop with the provided loop definition.

Parameters:
pLoopDef - points to a loop definition that is to be copied

Definition at line 576 of file DLS.cpp.

References pSampleLoops, SampleLoops, and DLS::sample_loop_t::Size.

void DLS::Sampler::DeleteSampleLoop ( sample_loop_t pLoopDef  ) 

Deletes an existing sample loop.

Parameters:
pLoopDef - pointer to existing loop definition
Exceptions:
Exception - if given loop definition does not exist

Definition at line 598 of file DLS.cpp.

References pSampleLoops, and SampleLoops.

void DLS::Sampler::SetGain ( int32_t  gain  )  [virtual]

Reimplemented in gig::DimensionRegion.

Definition at line 531 of file DLS.cpp.

References Gain.

Referenced by gig::DimensionRegion::SetGain().

void DLS::Sampler::UpdateChunks (  )  [virtual]

Apply all sample player options to the respective RIFF chunk.

You have to call File::Save() to make changes persistent.

Reimplemented in DLS::Region, gig::DimensionRegion, and gig::Region.

Definition at line 539 of file DLS.cpp.

References RIFF::List::AddSubChunk(), CHUNK_ID_WSMP, F_WSMP_NO_COMPRESSION, F_WSMP_NO_TRUNCATION, FineTune, Gain, RIFF::Chunk::GetSize(), RIFF::List::GetSubChunk(), RIFF::Chunk::LoadChunkData(), NoSampleCompression, NoSampleDepthTruncation, pParentList, pSampleLoops, RIFF::Chunk::Resize(), SampleLoops, SamplerOptions, uiHeaderSize, and UnityNote.

Referenced by gig::DimensionRegion::UpdateChunks(), and DLS::Region::UpdateChunks().


Member Data Documentation

uint8_t DLS::Sampler::UnityNote

Definition at line 342 of file DLS.h.

Referenced by Sampler(), and UpdateChunks().

int16_t DLS::Sampler::FineTune

Definition at line 343 of file DLS.h.

Referenced by Sampler(), and UpdateChunks().

int32_t DLS::Sampler::Gain

Deprecated:
Don't alter directly, use SetGain() instead!

Definition at line 344 of file DLS.h.

Referenced by gig::DimensionRegion::DimensionRegion(), Sampler(), gig::DimensionRegion::SetGain(), SetGain(), and UpdateChunks().

bool DLS::Sampler::NoSampleDepthTruncation

Definition at line 345 of file DLS.h.

Referenced by Sampler(), and UpdateChunks().

bool DLS::Sampler::NoSampleCompression

Definition at line 346 of file DLS.h.

Referenced by Sampler(), and UpdateChunks().

uint32_t DLS::Sampler::SampleLoops

Reflects the number of sample loops.

Definition at line 347 of file DLS.h.

Referenced by AddSampleLoop(), DeleteSampleLoop(), gig::DimensionRegion::DimensionRegion(), gig::Sample::ReadAndLoop(), Sampler(), and UpdateChunks().

sample_loop_t* DLS::Sampler::pSampleLoops

Points to the beginning of a sample loop array, or is NULL if there are no loops defined.

Definition at line 348 of file DLS.h.

Referenced by AddSampleLoop(), DeleteSampleLoop(), gig::DimensionRegion::DimensionRegion(), gig::Sample::ReadAndLoop(), Sampler(), UpdateChunks(), and ~Sampler().

RIFF::List* DLS::Sampler::pParentList [protected]

Definition at line 355 of file DLS.h.

Referenced by gig::Region::AddDimension(), gig::DimensionRegion::DimensionRegion(), Sampler(), gig::DimensionRegion::UpdateChunks(), and UpdateChunks().

uint32_t DLS::Sampler::uiHeaderSize [protected]

Definition at line 356 of file DLS.h.

Referenced by Sampler(), and UpdateChunks().

uint32_t DLS::Sampler::SamplerOptions [protected]

Definition at line 357 of file DLS.h.

Referenced by gig::DimensionRegion::DimensionRegion(), Sampler(), and UpdateChunks().


The documentation for this class was generated from the following files:
Generated on Sun May 1 03:22:46 2011 for libgig by  doxygen 1.5.2