Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

DLS::File Class Reference

Parses DLS Level 1 and 2 compliant files and provides abstract access to the data. More...

#include <DLS.h>

Inheritance diagram for DLS::File:

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

Public Member Functions

 File (RIFF::File *pRIFF)
SampleGetFirstSample ()
 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.
virtual ~File ()
ResourceGetParent ()

Public Attributes

version_tpVersion
 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.
InfopInfo
 Points (in any case) to an Info object, providing additional, optional infos and comments.
dlsid_tpDLSID
 Points to a dlsid_t structure if the file provided a DLS ID else is NULL.

Protected Types

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

Protected Member Functions

void LoadSamples ()
void LoadInstruments ()

Protected Attributes

RIFF::FilepRIFF
SampleListpSamples
SampleList::iterator SamplesIterator
InstrumentListpInstruments
InstrumentList::iterator InstrumentsIterator
uint32_t WavePoolCount
uint32_t * pWavePoolTable
ResourcepParent

Friends

class Region

Detailed Description

Parses DLS Level 1 and 2 compliant files and provides abstract access to the data.

Definition at line 454 of file DLS.h.


Member Typedef Documentation

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

Reimplemented in gig::File.

Definition at line 467 of file DLS.h.

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

Reimplemented in gig::File.

Definition at line 466 of file DLS.h.


Constructor & Destructor Documentation

DLS::File::File RIFF::File pRIFF  ) 
 

Reimplemented in gig::File.

Definition at line 396 of file DLS.cpp.

References CHUNK_ID_COLH, CHUNK_ID_PTBL, CHUNK_ID_VERS, RIFF::Chunk::GetSize(), RIFF::List::GetSubChunk(), Instruments, pInstruments, pSamples, pVersion, pWavePoolTable, RIFF::Chunk::Read(), RIFF::Chunk::ReadUint32(), RIFF::Chunk::SetPos(), and WavePoolCount.

DLS::File::~File  )  [virtual]
 

Reimplemented in gig::File.

Definition at line 434 of file DLS.cpp.

References pInstruments, and pSamples.


Member Function Documentation

Instrument * DLS::File::GetFirstInstrument  ) 
 

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

Reimplemented in gig::File.

Definition at line 503 of file DLS.cpp.

References InstrumentsIterator, LoadInstruments(), and pInstruments.

Referenced by PrintInstruments().

Sample * DLS::File::GetFirstSample  ) 
 

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

Definition at line 459 of file DLS.cpp.

References LoadSamples(), pSamples, and SamplesIterator.

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

Instrument * DLS::File::GetNextInstrument  ) 
 

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

Reimplemented in gig::File.

Definition at line 510 of file DLS.cpp.

References InstrumentsIterator, and pInstruments.

Referenced by PrintInstruments().

Sample * DLS::File::GetNextSample  ) 
 

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

Reimplemented in gig::File.

Definition at line 466 of file DLS.cpp.

References pSamples, and SamplesIterator.

Referenced by DLS::Region::GetSample(), 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]
 

Definition at line 516 of file DLS.cpp.

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

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

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

Definition at line 472 of file DLS.cpp.

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

Referenced by gig::File::GetFirstSample(), and GetFirstSample().


Friends And Related Function Documentation

friend class Region [friend]
 

Reimplemented in gig::File.

Definition at line 479 of file DLS.h.


Member Data Documentation

uint32_t DLS::File::Instruments
 

Reflects the number of available Instrument objects.

Definition at line 457 of file DLS.h.

Referenced by File().

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

Reimplemented in gig::File.

Definition at line 473 of file DLS.h.

Referenced by GetFirstInstrument(), 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().

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(), and DLS::Resource::Resource().

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

Reimplemented in gig::File.

Definition at line 472 of file DLS.h.

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

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

Definition at line 352 of file DLS.h.

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

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

Definition at line 469 of file DLS.h.

Referenced by LoadInstruments(), and LoadSamples().

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

Reimplemented in gig::File.

Definition at line 470 of file DLS.h.

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

version_t* DLS::File::pVersion
 

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 File(), and gig::Region::Region().

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

Definition at line 475 of file DLS.h.

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

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

Reimplemented in gig::File.

Definition at line 471 of file DLS.h.

Referenced by GetFirstSample(), and GetNextSample().

uint32_t DLS::File::WavePoolCount [protected]
 

Definition at line 474 of file DLS.h.

Referenced by File().


The documentation for this class was generated from the following files:
Generated on Fri Jul 29 22:07:47 2005 for libgig by  doxygen 1.3.9.1