/[svn]/libgig/trunk/src/SF.h
ViewVC logotype

Diff of /libgig/trunk/src/SF.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2044 by persson, Sun Jan 10 12:58:51 2010 UTC revision 2204 by iliev, Mon Jul 11 17:23:54 2011 UTC
# Line 63  namespace sf2 { Line 63  namespace sf2 {
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;
# Line 355  namespace sf2 { Line 359  namespace sf2 {
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    
# Line 408  namespace sf2 { Line 413  namespace sf2 {
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    
# Line 450  namespace sf2 { Line 455  namespace sf2 {
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);

Legend:
Removed from v.2044  
changed lines
  Added in v.2204

  ViewVC Help
Powered by ViewVC