libgig  4.0.0
sf2 Namespace Reference

SoundFont specific classes and definitions. More...

Classes

union  _GenAmountType
 
struct  _GenList
 
struct  _InstBag
 
struct  _ModList
 
struct  _PresetBag
 
struct  _RangesType
 
class  Exception
 
class  File
 
class  Info
 
class  Instrument
 
class  InstrumentBase
 
class  Modulator
 
class  ModulatorItem
 
class  Preset
 
class  Query
 
class  Region
 Instrument zone. More...
 
class  Sample
 
class  Version
 

Typedefs

typedef struct sf2::_PresetBag PresetBag
 
typedef uint16_t SFModulator
 
typedef uint16_t SFGenerator
 
typedef uint16_t SFTransform
 
typedef struct sf2::_ModList ModList
 
typedef struct sf2::_RangesType RangesType
 
typedef union sf2::_GenAmountType GenAmountType
 
typedef struct sf2::_GenList GenList
 
typedef struct sf2::_InstBag InstBag
 
typedef std::string String
 

Enumerations

enum  SFGeneratorType {
  START_ADDRS_OFFSET = 0, END_ADDRS_OFFSET, STARTLOOP_ADDRS_OFFSET, ENDLOOP_ADDRS_OFFSET,
  START_ADDRS_COARSE_OFFSET, MOD_LFO_TO_PITCH, VIB_LFO_TO_PITCH, MOD_ENV_TO_PITCH,
  INITIAL_FILTER_FC, INITIAL_FILTER_Q, MOD_LFO_TO_FILTER_FC, MOD_ENV_TO_FILTER_FC,
  END_ADDRS_COARSE_OFFSET, MOD_LFO_TO_VOLUME, UNUSED1, CHORUS_EFFECTS_SEND,
  REVERB_EFFECTS_SEND, PAN, UNUSED2, UNUSED3,
  UNUSED4, DELAY_MOD_LFO, FREQ_MOD_LFO, DELAY_VIB_LFO,
  FREQ_VIB_LFO, DELAY_MOD_ENV, ATTACK_MOD_ENV, HOLD_MOD_ENV,
  DECAY_MOD_ENV, SUSTAIN_MOD_ENV, RELEASE_MOD_ENV, KEYNUM_TO_MOD_ENV_HOLD,
  KEYNUM_TO_MOD_ENV_DECAY, DELAY_VOL_ENV, ATTACK_VOL_ENV, HOLD_VOL_ENV,
  DECAY_VOL_ENV, SUSTAIN_VOL_ENV, RELEASE_VOL_ENV, KEYNUM_TO_VOL_ENV_HOLD,
  KEYNUM_TO_VOL_ENV_DECAY, INSTRUMENT, RESERVED1, KEY_RANGE,
  VEL_RANGE, STARTLOOP_ADDRS_COARSE_OFFSET, KEYNUM, VELOCITY,
  INITIAL_ATTENUATION, RESERVED2, ENDLOOP_ADDRS_COARSE_OFFSET, COARSE_TUNE,
  FINE_TUNE, SAMPLE_ID, SAMPLE_MODES, RESERVED3,
  SCALE_TUNING, EXCLUSIVE_CLASS, OVERRIDING_ROOT_KEY, UNUSED5,
  END_OPER
}
 

Functions

double ToSeconds (int Timecents)
 
double ToRatio (int Centibels)
 
double ToHz (int cents)
 
String libraryName ()
 Returns the name of this C++ library. More...
 
String libraryVersion ()
 Returns version of this C++ library. More...
 
RIFF::ChunkGetMandatoryChunk (RIFF::List *list, uint32_t chunkId)
 
void LoadString (RIFF::Chunk *ck, std::string &s, int strLength)
 
void VerifySize (RIFF::Chunk *ck, int size)
 Throws an error if the chunk is NULL or the chunk data size is less than size (in bytes). More...
 
int CheckRange (std::string genName, int min, int max, int &gen)
 
template<bool CLEAR>
unsigned long ReadSample (Sample *pSample, void *pBuffer, unsigned long SampleCount, Sample::buffer_t *tempBuffer=NULL)
 

Detailed Description

SoundFont specific classes and definitions.

Typedef Documentation

typedef struct sf2::_GenList sf2::GenList
typedef struct sf2::_InstBag sf2::InstBag
typedef struct sf2::_ModList sf2::ModList
typedef uint16_t sf2::SFGenerator

Definition at line 76 of file SF.h.

typedef uint16_t sf2::SFModulator

Definition at line 75 of file SF.h.

typedef uint16_t sf2::SFTransform

Definition at line 77 of file SF.h.

typedef std::string sf2::String

Definition at line 226 of file SF.h.

Enumeration Type Documentation

Enumerator
START_ADDRS_OFFSET 
END_ADDRS_OFFSET 
STARTLOOP_ADDRS_OFFSET 
ENDLOOP_ADDRS_OFFSET 
START_ADDRS_COARSE_OFFSET 
MOD_LFO_TO_PITCH 
VIB_LFO_TO_PITCH 
MOD_ENV_TO_PITCH 
INITIAL_FILTER_FC 
INITIAL_FILTER_Q 
MOD_LFO_TO_FILTER_FC 
MOD_ENV_TO_FILTER_FC 
END_ADDRS_COARSE_OFFSET 
MOD_LFO_TO_VOLUME 
UNUSED1 
CHORUS_EFFECTS_SEND 
REVERB_EFFECTS_SEND 
PAN 
UNUSED2 
UNUSED3 
UNUSED4 
DELAY_MOD_LFO 
FREQ_MOD_LFO 
DELAY_VIB_LFO 
FREQ_VIB_LFO 
DELAY_MOD_ENV 
ATTACK_MOD_ENV 
HOLD_MOD_ENV 
DECAY_MOD_ENV 
SUSTAIN_MOD_ENV 
RELEASE_MOD_ENV 
KEYNUM_TO_MOD_ENV_HOLD 
KEYNUM_TO_MOD_ENV_DECAY 
DELAY_VOL_ENV 
ATTACK_VOL_ENV 
HOLD_VOL_ENV 
DECAY_VOL_ENV 
SUSTAIN_VOL_ENV 
RELEASE_VOL_ENV 
KEYNUM_TO_VOL_ENV_HOLD 
KEYNUM_TO_VOL_ENV_DECAY 
INSTRUMENT 
RESERVED1 
KEY_RANGE 
VEL_RANGE 
STARTLOOP_ADDRS_COARSE_OFFSET 
KEYNUM 
VELOCITY 
INITIAL_ATTENUATION 
RESERVED2 
ENDLOOP_ADDRS_COARSE_OFFSET 
COARSE_TUNE 
FINE_TUNE 
SAMPLE_ID 
SAMPLE_MODES 
RESERVED3 
SCALE_TUNING 
EXCLUSIVE_CLASS 
OVERRIDING_ROOT_KEY 
UNUSED5 
END_OPER 

Definition at line 113 of file SF.h.

Function Documentation

int sf2::CheckRange ( std::string  genName,
int  min,
int  max,
int &  gen 
)

Definition at line 298 of file SF.cpp.

References ATTACK_MOD_ENV, ATTACK_VOL_ENV, sf2::_RangesType::byHi, sf2::_RangesType::byLo, CHORUS_EFFECTS_SEND, COARSE_TUNE, DECAY_MOD_ENV, DECAY_VOL_ENV, DELAY_MOD_ENV, DELAY_MOD_LFO, DELAY_VIB_LFO, DELAY_VOL_ENV, END_ADDRS_COARSE_OFFSET, END_ADDRS_OFFSET, ENDLOOP_ADDRS_COARSE_OFFSET, ENDLOOP_ADDRS_OFFSET, EXCLUSIVE_CLASS, FINE_TUNE, FREQ_MOD_LFO, FREQ_VIB_LFO, sf2::_GenList::GenAmount, sf2::_GenList::GenOper, HOLD_MOD_ENV, HOLD_VOL_ENV, INITIAL_ATTENUATION, INITIAL_FILTER_FC, INITIAL_FILTER_Q, INSTRUMENT, KEY_RANGE, KEYNUM, KEYNUM_TO_MOD_ENV_DECAY, KEYNUM_TO_MOD_ENV_HOLD, KEYNUM_TO_VOL_ENV_DECAY, KEYNUM_TO_VOL_ENV_HOLD, MOD_ENV_TO_FILTER_FC, MOD_ENV_TO_PITCH, MOD_LFO_TO_FILTER_FC, MOD_LFO_TO_PITCH, MOD_LFO_TO_VOLUME, sf2::ModulatorItem::ModulatorItem(), OVERRIDING_ROOT_KEY, PAN, sf2::_GenAmountType::ranges, RELEASE_MOD_ENV, RELEASE_VOL_ENV, REVERB_EFFECTS_SEND, SAMPLE_ID, SAMPLE_MODES, SCALE_TUNING, sf2::_GenAmountType::shAmount, START_ADDRS_COARSE_OFFSET, START_ADDRS_OFFSET, STARTLOOP_ADDRS_COARSE_OFFSET, STARTLOOP_ADDRS_OFFSET, SUSTAIN_MOD_ENV, SUSTAIN_VOL_ENV, VEL_RANGE, VELOCITY, VIB_LFO_TO_PITCH, and sf2::_GenAmountType::wAmount.

Referenced by sf2::Region::GetDelayModLfo(), sf2::Region::GetDelayVibLfo(), sf2::Region::GetEG1Attack(), sf2::Region::GetEG1Decay(), sf2::Region::GetEG1Hold(), sf2::Region::GetEG1PreAttackDelay(), sf2::Region::GetEG1Release(), sf2::Region::GetEG1Sustain(), sf2::Region::GetEG2Attack(), sf2::Region::GetEG2Decay(), sf2::Region::GetEG2Hold(), sf2::Region::GetEG2PreAttackDelay(), sf2::Region::GetEG2Release(), sf2::Region::GetEG2Sustain(), sf2::Region::GetFreqModLfo(), sf2::Region::GetFreqVibLfo(), sf2::Region::GetInitialFilterFc(), sf2::Region::GetInitialFilterQ(), sf2::Region::GetModEnvToFilterFc(), sf2::Region::GetModEnvToPitch(), sf2::Region::GetModLfoToFilterFc(), sf2::Region::GetModLfoToPitch(), sf2::Region::GetModLfoToVolume(), and sf2::Region::GetVibLfoToPitch().

RIFF::Chunk* sf2::GetMandatoryChunk ( RIFF::List list,
uint32_t  chunkId 
)

Definition at line 54 of file SF.cpp.

References RIFF::List::GetSubChunk().

Referenced by sf2::File::File(), and sf2::Info::Info().

String sf2::libraryName ( )

Returns the name of this C++ library.

Definition at line 1554 of file SF.cpp.

String sf2::libraryVersion ( )

Returns version of this C++ library.

Definition at line 1561 of file SF.cpp.

double sf2::ToHz ( int  cents)

Definition at line 48 of file SF.cpp.

References _1200TH_ROOT_OF_2.

Referenced by sf2::Region::GetFreqModLfo(), and sf2::Region::GetFreqVibLfo().

double sf2::ToRatio ( int  Centibels)

Definition at line 42 of file SF.cpp.

References _200TH_ROOT_OF_10.

void sf2::VerifySize ( RIFF::Chunk ck,
int  size 
)

Throws an error if the chunk is NULL or the chunk data size is less than size (in bytes).

Definition at line 77 of file SF.cpp.

References RIFF::Chunk::GetChunkID(), and RIFF::Chunk::GetSize().

Referenced by sf2::Version::Version().