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

Classes

struct  midi_locale_t

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, DRUM_TYPE_MASK, 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_ART1, 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::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_LRGN, LIST_TYPE_RGN, 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(), 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().

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

Definition at line 350 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 gig::Instrument::GetFirstRegion(), gig::Instrument::GetNextRegion(), gig::Instrument::Instrument(), Instrument(), and gig::Instrument::~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 Wed Nov 23 03:59:19 2005 for libgig by  doxygen 1.4.5