63 |
|
|
64 |
static uint NONE = 0x1ffffff; |
static uint NONE = 0x1ffffff; |
65 |
|
|
66 |
|
double ToSeconds(int Timecents); |
67 |
|
double ToPermilles(int Centibels); |
68 |
|
double ToHz(int cents); |
69 |
|
|
70 |
typedef struct _PresetBag { |
typedef struct _PresetBag { |
71 |
uint16_t GenNdx; |
uint16_t GenNdx; |
72 |
uint16_t ModNdx; |
uint16_t ModNdx; |
359 |
int startAddrsOffset, startAddrsCoarseOffset, endAddrsOffset, endAddrsCoarseOffset; |
int startAddrsOffset, startAddrsCoarseOffset, endAddrsOffset, endAddrsCoarseOffset; |
360 |
int startloopAddrsOffset, startloopAddrsCoarseOffset, endloopAddrsOffset, endloopAddrsCoarseOffset; |
int startloopAddrsOffset, startloopAddrsCoarseOffset, endloopAddrsOffset, endloopAddrsCoarseOffset; |
361 |
|
|
362 |
int modEnvToPitch, modLfoToPitch, modEnvToFilterFc, modLfoToFilterFc, modLfoToVolume, freqModLfo; |
int modEnvToPitch , modLfoToPitch, modEnvToFilterFc, modLfoToFilterFc; // in cents |
363 |
int delayModLfo; |
int modLfoToVolume /* in centibels */, freqModLfo /* in absolute cents*/; |
364 |
int vibLfoToPitch, freqVibLfo; |
int delayModLfo; // in absolute timecents |
365 |
int delayVibLfo; |
int vibLfoToPitch, freqVibLfo /* in absolute cents*/; |
366 |
|
int delayVibLfo; // in absolute timecents |
367 |
|
|
368 |
uint exclusiveClass; // exclusive group |
uint exclusiveClass; // exclusive group |
369 |
|
|
413 |
double GetModLfoToVolume(Region* pPresetRegion = NULL); // in permilles |
double GetModLfoToVolume(Region* pPresetRegion = NULL); // in permilles |
414 |
double GetFreqModLfo(Region* pPresetRegion = NULL); // in Hz |
double GetFreqModLfo(Region* pPresetRegion = NULL); // in Hz |
415 |
double GetDelayModLfo(Region* pPresetRegion = NULL); // in seconds |
double GetDelayModLfo(Region* pPresetRegion = NULL); // in seconds |
416 |
int GetVibLfoToPitch(Region* pPresetRegion = NULL); |
int GetVibLfoToPitch(Region* pPresetRegion = NULL); // in cents |
417 |
double GetFreqVibLfo(Region* pPresetRegion = NULL); // in Hz |
double GetFreqVibLfo(Region* pPresetRegion = NULL); // in Hz |
418 |
double GetDelayVibLfo(Region* pPresetRegion = NULL); // in seconds |
double GetDelayVibLfo(Region* pPresetRegion = NULL); // in seconds |
419 |
|
|
455 |
int GetRegionCount(); |
int GetRegionCount(); |
456 |
Region* GetRegion(int idx); |
Region* GetRegion(int idx); |
457 |
|
|
|
std::vector<Region*> GetRegionsOnKey(int key, uint8_t vel); |
|
|
|
|
458 |
protected: |
protected: |
459 |
std::vector<Region*> regions; |
std::vector<Region*> regions; |
460 |
sf2::File* pFile; |
sf2::File* pFile; |
461 |
}; |
}; |
462 |
|
|
463 |
|
class Query { |
464 |
|
public: |
465 |
|
int key; |
466 |
|
uint8_t vel; |
467 |
|
|
468 |
|
Query(InstrumentBase& instrument); |
469 |
|
Region* next(); |
470 |
|
|
471 |
|
private: |
472 |
|
InstrumentBase& instrument; |
473 |
|
int i; |
474 |
|
}; |
475 |
|
|
476 |
class Instrument : public InstrumentBase { |
class Instrument : public InstrumentBase { |
477 |
public: |
public: |
478 |
Instrument(sf2::File* pFile, RIFF::Chunk* ck); |
Instrument(sf2::File* pFile, RIFF::Chunk* ck); |