libgig  3.3.0.svn21
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

Public Member Functions

void AddSampleLoop (sample_loop_t *pLoopDef)
 Adds a new sample loop with the provided loop definition. More...
 
void DeleteSampleLoop (sample_loop_t *pLoopDef)
 Deletes an existing sample loop. More...
 
virtual void SetGain (int32_t gain)
 
virtual void UpdateChunks ()
 Apply all sample player options to the respective RIFF chunk. More...
 
virtual void CopyAssign (const Sampler *orig)
 Make a deep copy of the Sampler object given by orig and assign it to this object. More...
 

Public Attributes

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

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 363 of file DLS.h.

Constructor & Destructor Documentation

DLS::Sampler::~Sampler ( )
protectedvirtual

Definition at line 574 of file DLS.cpp.

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 623 of file DLS.cpp.

References DLS::sample_loop_t::Size.

void DLS::Sampler::CopyAssign ( const Sampler orig)
virtual

Make a deep copy of the Sampler object given by orig and assign it to this object.

Parameters
orig- original Sampler object to be copied from

Definition at line 669 of file DLS.cpp.

References FineTune, Gain, NoSampleCompression, NoSampleDepthTruncation, pSampleLoops, SampleLoops, SamplerOptions, and UnityNote.

Referenced by DLS::Region::CopyAssign().

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 645 of file DLS.cpp.

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

Reimplemented in gig::DimensionRegion.

Definition at line 578 of file DLS.cpp.

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 gig::Region, gig::DimensionRegion, and DLS::Region.

Definition at line 586 of file DLS.cpp.

References CHUNK_ID_WSMP, F_WSMP_NO_COMPRESSION, F_WSMP_NO_TRUNCATION, RIFF::Chunk::GetSize(), RIFF::Chunk::LoadChunkData(), and RIFF::Chunk::Resize().

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

Member Data Documentation

int16_t DLS::Sampler::FineTune

Definition at line 366 of file DLS.h.

Referenced by CopyAssign().

int32_t DLS::Sampler::Gain
Deprecated:
Don't alter directly, use SetGain() instead!

Definition at line 367 of file DLS.h.

Referenced by CopyAssign(), gig::DimensionRegion::DimensionRegion(), and gig::DimensionRegion::SetGain().

bool DLS::Sampler::NoSampleCompression

Definition at line 369 of file DLS.h.

Referenced by CopyAssign().

bool DLS::Sampler::NoSampleDepthTruncation

Definition at line 368 of file DLS.h.

Referenced by CopyAssign().

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 371 of file DLS.h.

Referenced by CopyAssign(), gig::DimensionRegion::CopyAssign(), gig::DimensionRegion::DimensionRegion(), and gig::Sample::ReadAndLoop().

uint32_t DLS::Sampler::SampleLoops

Reflects the number of sample loops.

Definition at line 370 of file DLS.h.

Referenced by CopyAssign(), gig::DimensionRegion::CopyAssign(), gig::DimensionRegion::DimensionRegion(), gig::Sample::ReadAndLoop(), and gig::File::UpdateChunks().

uint32_t DLS::Sampler::SamplerOptions
protected

Definition at line 381 of file DLS.h.

Referenced by CopyAssign(), and gig::DimensionRegion::DimensionRegion().

uint32_t DLS::Sampler::uiHeaderSize
protected

Definition at line 380 of file DLS.h.

uint8_t DLS::Sampler::UnityNote

Definition at line 365 of file DLS.h.

Referenced by CopyAssign().


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