gig::File Class Reference

Parses Gigasampler files and provides abstract access to the data. More...

#include <gig.h>

Inheritance diagram for gig::File:

DLS::File DLS::Resource List of all members.

Public Member Functions

 File (RIFF::File *pRIFF)
SampleGetFirstSample (progress_t *pProgress=NULL)
 Returns a pointer to the first Sample object of the file, NULL otherwise.
SampleGetNextSample ()
 Returns a pointer to the next Sample object of the file, NULL otherwise.
InstrumentGetFirstInstrument ()
 Returns a pointer to the first Instrument object of the file, NULL otherwise.
InstrumentGetNextInstrument ()
 Returns a pointer to the next Instrument object of the file, NULL otherwise.
InstrumentGetInstrument (uint index, progress_t *pProgress=NULL)
 Returns the instrument with the given index.
 ~File ()

Protected Types

typedef std::list< Sample * > SampleList
typedef std::list< Instrument * > InstrumentList

Protected Member Functions

void LoadSamples (progress_t *pProgress=NULL)
void LoadInstruments (progress_t *pProgress=NULL)
SampleGetFirstSample ()
 Returns a pointer to the first Sample object of the file, NULL otherwise.
void LoadSamples ()
void LoadInstruments ()
Resource * GetParent ()

Protected Attributes

SampleListpSamples
SampleList::iterator SamplesIterator
InstrumentListpInstruments
InstrumentList::iterator InstrumentsIterator
std::list< RIFF::File * > ExtensionFiles
version_t * pVersion
 Points to a version_t structure if the file provided a version number else is set to NULL.
uint32_t Instruments
 Reflects the number of available Instrument objects.
RIFF::FilepRIFF
uint32_t WavePoolCount
uint32_t * pWavePoolTable
uint32_t * pWavePoolTableHi
Info * pInfo
 Points (in any case) to an Info object, providing additional, optional infos and comments.
dlsid_t * pDLSID
 Points to a dlsid_t structure if the file provided a DLS ID else is NULL.
Resource * pParent

Friends

class Region

Detailed Description

Parses Gigasampler files and provides abstract access to the data.

Definition at line 700 of file gig.h.


Member Typedef Documentation

typedef std::list<Instrument*> gig::File::InstrumentList [protected]
 

Reimplemented from DLS::File.

Definition at line 721 of file gig.h.

typedef std::list<Sample*> gig::File::SampleList [protected]
 

Reimplemented from DLS::File.

Definition at line 720 of file gig.h.


Constructor & Destructor Documentation

gig::File::File RIFF::File pRIFF  ) 
 

Reimplemented from DLS::File.

Definition at line 1749 of file gig.cpp.

References pInstruments, and pSamples.

gig::File::~File  )  [virtual]
 

Reimplemented from DLS::File.

Definition at line 1754 of file gig.cpp.

References pSamples, and SamplesIterator.


Member Function Documentation

Instrument * gig::File::GetFirstInstrument  ) 
 

Returns a pointer to the first Instrument object of the file, NULL otherwise.

Reimplemented from DLS::File.

Definition at line 1846 of file gig.cpp.

References InstrumentsIterator, DLS::File::LoadInstruments(), and pInstruments.

Referenced by PrintInstruments().

Sample * DLS::File::GetFirstSample  )  [inherited]
 

Returns a pointer to the first Sample object of the file, NULL otherwise.

Definition at line 463 of file DLS.cpp.

References DLS::File::LoadSamples(), DLS::File::pSamples, and DLS::File::SamplesIterator.

Referenced by GetInstrument(), DLS::Region::GetSample(), and PrintSamples().

Sample * gig::File::GetFirstSample progress_t pProgress = NULL  ) 
 

Returns a pointer to the first Sample object of the file, NULL otherwise.

Definition at line 1781 of file gig.cpp.

Referenced by ExtractSamples(), gig::Region::GetSampleFromWavePool(), and PrintSamples().

Instrument * gig::File::GetInstrument uint  index,
progress_t pProgress = NULL
 

Returns the instrument with the given index.

Parameters:
index - number of the sought instrument (0..n)
pProgress - optional: callback function for progress notification
Returns:
sought instrument or NULL if there's no such instrument

Definition at line 1866 of file gig.cpp.

References gig::__divide_progress(), gig::__notify_progress(), gig::progress_t::__range_max, gig::progress_t::__range_min, gig::progress_t::callback, DLS::File::GetFirstSample(), InstrumentsIterator, DLS::File::LoadInstruments(), and pInstruments.

Instrument * gig::File::GetNextInstrument  ) 
 

Returns a pointer to the next Instrument object of the file, NULL otherwise.

Reimplemented from DLS::File.

Definition at line 1853 of file gig.cpp.

References InstrumentsIterator, and pInstruments.

Referenced by PrintInstruments().

Sample * gig::File::GetNextSample  ) 
 

Returns a pointer to the next Sample object of the file, NULL otherwise.

Reimplemented from DLS::File.

Definition at line 1788 of file gig.cpp.

References pSamples, and SamplesIterator.

Referenced by ExtractSamples(), gig::Region::GetSampleFromWavePool(), and PrintSamples().

Resource* DLS::Resource::GetParent  )  [inline, inherited]
 

Definition at line 350 of file DLS.h.

Referenced by DLS::Region::GetSample(), gig::Region::GetSampleFromWavePool(), and gig::Region::Region().

void DLS::File::LoadInstruments  )  [protected, inherited]
 

Definition at line 520 of file DLS.cpp.

References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_INS, LIST_TYPE_LINS, DLS::File::pInstruments, and DLS::File::pRIFF.

Referenced by GetFirstInstrument(), DLS::File::GetFirstInstrument(), and GetInstrument().

void gig::File::LoadInstruments progress_t pProgress = NULL  )  [protected]
 

Definition at line 1895 of file gig.cpp.

References gig::__divide_progress(), gig::__notify_progress(), RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), DLS::File::Instruments, LIST_TYPE_INS, LIST_TYPE_LINS, pInstruments, and DLS::File::pRIFF.

void DLS::File::LoadSamples  )  [protected, inherited]
 

Definition at line 476 of file DLS.cpp.

References RIFF::Chunk::GetFilePos(), RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_WAVE, LIST_TYPE_WVPL, DLS::File::pRIFF, and DLS::File::pSamples.

Referenced by DLS::File::GetFirstSample().

void gig::File::LoadSamples progress_t pProgress = NULL  )  [protected]
 

Definition at line 1794 of file gig.cpp.

References gig::__notify_progress(), ExtensionFiles, RIFF::File::Filename, RIFF::Chunk::GetFilePos(), RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_WAVE, LIST_TYPE_WVPL, DLS::File::pRIFF, pSamples, DLS::File::pWavePoolTableHi, and DLS::File::WavePoolCount.


Friends And Related Function Documentation

friend class Region [friend]
 

Reimplemented from DLS::File.

Definition at line 730 of file gig.h.


Member Data Documentation

std::list<RIFF::File*> gig::File::ExtensionFiles [protected]
 

Definition at line 732 of file gig.h.

Referenced by LoadSamples().

uint32_t DLS::File::Instruments [inherited]
 

Reflects the number of available Instrument objects.

Definition at line 457 of file DLS.h.

Referenced by DLS::File::File(), and LoadInstruments().

InstrumentList::iterator gig::File::InstrumentsIterator [protected]
 

Reimplemented from DLS::File.

Definition at line 726 of file gig.h.

Referenced by GetFirstInstrument(), GetInstrument(), and GetNextInstrument().

dlsid_t* DLS::Resource::pDLSID [inherited]
 

Points to a dlsid_t structure if the file provided a DLS ID else is NULL.

Definition at line 348 of file DLS.h.

Referenced by DLS::Resource::Resource(), and DLS::Resource::~Resource().

Info* DLS::Resource::pInfo [inherited]
 

Points (in any case) to an Info object, providing additional, optional infos and comments.

Definition at line 347 of file DLS.h.

Referenced by ExtractSamples(), main(), PrintDimensionRegions(), PrintInstruments(), PrintRegions(), PrintSamples(), DLS::Resource::Resource(), and DLS::Resource::~Resource().

InstrumentList* gig::File::pInstruments [protected]
 

Reimplemented from DLS::File.

Definition at line 725 of file gig.h.

Referenced by File(), GetFirstInstrument(), GetInstrument(), GetNextInstrument(), and LoadInstruments().

Resource* DLS::Resource::pParent [protected, inherited]
 

Definition at line 350 of file DLS.h.

Referenced by DLS::Resource::Resource().

RIFF::File* DLS::File::pRIFF [protected, inherited]
 

Definition at line 469 of file DLS.h.

Referenced by LoadInstruments(), DLS::File::LoadInstruments(), LoadSamples(), and DLS::File::LoadSamples().

SampleList* gig::File::pSamples [protected]
 

Reimplemented from DLS::File.

Definition at line 723 of file gig.h.

Referenced by File(), GetNextSample(), LoadSamples(), and ~File().

version_t* DLS::File::pVersion [inherited]
 

Points to a version_t structure if the file provided a version number else is set to NULL.

Definition at line 456 of file DLS.h.

Referenced by DLS::File::File(), gig::Region::Region(), and DLS::File::~File().

uint32_t* DLS::File::pWavePoolTable [protected, inherited]
 

Definition at line 475 of file DLS.h.

Referenced by DLS::File::File(), DLS::Region::GetSample(), gig::Region::GetSampleFromWavePool(), and DLS::File::~File().

uint32_t* DLS::File::pWavePoolTableHi [protected, inherited]
 

Definition at line 476 of file DLS.h.

Referenced by DLS::File::File(), gig::Region::GetSampleFromWavePool(), LoadSamples(), and DLS::File::~File().

SampleList::iterator gig::File::SamplesIterator [protected]
 

Reimplemented from DLS::File.

Definition at line 724 of file gig.h.

Referenced by GetNextSample(), and ~File().

uint32_t DLS::File::WavePoolCount [protected, inherited]
 

Definition at line 474 of file DLS.h.

Referenced by DLS::File::File(), and LoadSamples().


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 15:53:45 2005 for libgig by  doxygen 1.4.5