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

DLS::Instrument Class Reference

Provides all neccessary information for the synthesis of a DLS Instrument. More...

#include <DLS.h>

Inheritance diagram for DLS::Instrument:

DLS::Resource DLS::Articulator gig::Instrument List of all members.

Public Member Functions

RegionGetFirstRegion ()
RegionGetNextRegion ()
ResourceGetParent ()
ArticulationGetFirstArticulation ()
ArticulationGetNextArticulation ()

Public Attributes

bool IsDrum
 Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments.
uint16_t MIDIBank
 Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384).
uint8_t MIDIBankCoarse
 Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128).
uint8_t MIDIBankFine
 Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128).
uint32_t MIDIProgram
 Specifies the MIDI Program Change Number this Instrument should be assigned to.
uint32_t Regions
 Reflects the number of Region defintions this Instrument has.
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< Region * > RegionList
typedef std::list< Articulation * > ArticulationList

Protected Member Functions

 Instrument (File *pFile, RIFF::List *insList)
void LoadRegions ()
virtual ~Instrument ()
void LoadArticulations ()

Protected Attributes

RIFF::ListpCkInstrument
RegionListpRegions
RegionList::iterator RegionsIterator
ResourcepParent
RIFF::ListpParentList
ArticulationListpArticulations
ArticulationList::iterator ArticulationsIterator

Friends

class File

Detailed Description

Provides all neccessary information for the synthesis of a DLS Instrument.

Definition at line 425 of file DLS.h.


Member Typedef Documentation

typedef std::list<Articulation*> DLS::Articulator::ArticulationList [protected, inherited]
 

Definition at line 303 of file DLS.h.

typedef std::list<Region*> DLS::Instrument::RegionList [protected]
 

Definition at line 437 of file DLS.h.


Constructor & Destructor Documentation

DLS::Instrument::Instrument File pFile,
RIFF::List insList
[protected]
 

Definition at line 335 of file DLS.cpp.

References DLS::Instrument::midi_locale_t::bank, CHUNK_ID_INSH, RIFF::List::GetSubChunk(), DLS::Instrument::midi_locale_t::instrument, IsDrum, MIDI_BANK_COARSE, MIDI_BANK_FINE, MIDI_BANK_MERGE, MIDIBank, MIDIBankCoarse, MIDIBankFine, MIDIProgram, pCkInstrument, pRegions, RIFF::Chunk::Read(), RIFF::Chunk::ReadUint32(), and Regions.

DLS::Instrument::~Instrument  )  [protected, virtual]
 

Reimplemented in gig::Instrument.

Definition at line 379 of file DLS.cpp.

References pRegions.


Member Function Documentation

Articulation * DLS::Articulator::GetFirstArticulation  )  [inherited]
 

Definition at line 85 of file DLS.cpp.

References DLS::Articulator::ArticulationsIterator, DLS::Articulator::LoadArticulations(), and DLS::Articulator::pArticulations.

Region * DLS::Instrument::GetFirstRegion  ) 
 

Reimplemented in gig::Instrument.

Definition at line 352 of file DLS.cpp.

References LoadRegions(), pRegions, and RegionsIterator.

Referenced by PrintRegions().

Articulation * DLS::Articulator::GetNextArticulation  )  [inherited]
 

Definition at line 92 of file DLS.cpp.

References DLS::Articulator::ArticulationsIterator, and DLS::Articulator::pArticulations.

Region * DLS::Instrument::GetNextRegion  ) 
 

Reimplemented in gig::Instrument.

Definition at line 359 of file DLS.cpp.

References pRegions, and RegionsIterator.

Referenced by PrintRegions().

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::Articulator::LoadArticulations  )  [protected, inherited]
 

Definition at line 98 of file DLS.cpp.

References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_ART2, LIST_TYPE_LAR2, LIST_TYPE_LART, DLS::Articulator::pArticulations, and DLS::Articulator::pParentList.

Referenced by DLS::Articulator::GetFirstArticulation().

void DLS::Instrument::LoadRegions  )  [protected]
 

Definition at line 365 of file DLS.cpp.

References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_LRGN, LIST_TYPE_RGN2, pCkInstrument, and pRegions.

Referenced by GetFirstRegion().


Friends And Related Function Documentation

friend class File [friend]
 

Reimplemented in gig::Instrument.

Definition at line 450 of file DLS.h.


Member Data Documentation

ArticulationList::iterator DLS::Articulator::ArticulationsIterator [protected, inherited]
 

Definition at line 306 of file DLS.h.

Referenced by DLS::Articulator::GetFirstArticulation(), and DLS::Articulator::GetNextArticulation().

bool DLS::Instrument::IsDrum
 

Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments.

Definition at line 427 of file DLS.h.

Referenced by Instrument().

uint16_t DLS::Instrument::MIDIBank
 

Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384).

Definition at line 428 of file DLS.h.

Referenced by Instrument(), and PrintInstruments().

uint8_t DLS::Instrument::MIDIBankCoarse
 

Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128).

Definition at line 429 of file DLS.h.

Referenced by Instrument().

uint8_t DLS::Instrument::MIDIBankFine
 

Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128).

Definition at line 430 of file DLS.h.

Referenced by Instrument().

uint32_t DLS::Instrument::MIDIProgram
 

Specifies the MIDI Program Change Number this Instrument should be assigned to.

Definition at line 431 of file DLS.h.

Referenced by Instrument(), and PrintInstruments().

ArticulationList* DLS::Articulator::pArticulations [protected, inherited]
 

Definition at line 305 of file DLS.h.

Referenced by DLS::Articulator::Articulator(), DLS::Articulator::GetFirstArticulation(), DLS::Articulator::GetNextArticulation(), DLS::Articulator::LoadArticulations(), and DLS::Articulator::~Articulator().

RIFF::List* DLS::Instrument::pCkInstrument [protected]
 

Definition at line 443 of file DLS.h.

Referenced by Instrument(), and LoadRegions().

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().

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

Definition at line 352 of file DLS.h.

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

RIFF::List* DLS::Articulator::pParentList [protected, inherited]
 

Definition at line 304 of file DLS.h.

Referenced by DLS::Articulator::Articulator(), and DLS::Articulator::LoadArticulations().

RegionList* DLS::Instrument::pRegions [protected]
 

Reimplemented in gig::Instrument.

Definition at line 444 of file DLS.h.

Referenced by GetFirstRegion(), GetNextRegion(), Instrument(), LoadRegions(), and ~Instrument().

uint32_t DLS::Instrument::Regions
 

Reflects the number of Region defintions this Instrument has.

Definition at line 432 of file DLS.h.

Referenced by Instrument().

RegionList::iterator DLS::Instrument::RegionsIterator [protected]
 

Definition at line 445 of file DLS.h.

Referenced by GetFirstRegion(), and GetNextRegion().


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