309 |
unsigned long loop_cycles_left; ///< How many times the loop has still to be passed, this value will be decremented with each loop cycle. |
unsigned long loop_cycles_left; ///< How many times the loop has still to be passed, this value will be decremented with each loop cycle. |
310 |
}; |
}; |
311 |
|
|
312 |
|
/** |
313 |
|
* @brief Used for indicating the progress of a certain task. |
314 |
|
* |
315 |
|
* The function pointer argument has to be supplied with a valid |
316 |
|
* function of the given signature which will then be called on |
317 |
|
* progress changes. The float argument of the callback function will |
318 |
|
* then reflect the current progress as a value between 0.0 and 1.0. |
319 |
|
*/ |
320 |
|
struct progress_t { |
321 |
|
void (*callback)(float); ///< Callback function pointer which has to be assigned to a function for progress notification. |
322 |
|
float __range_min; |
323 |
|
float __range_max; |
324 |
|
progress_t(); |
325 |
|
}; |
326 |
|
|
327 |
// just symbol prototyping |
// just symbol prototyping |
328 |
class File; |
class File; |
329 |
class Instrument; |
class Instrument; |
637 |
|
|
638 |
Region(Instrument* pInstrument, RIFF::List* rgnList); |
Region(Instrument* pInstrument, RIFF::List* rgnList); |
639 |
void LoadDimensionRegions(RIFF::List* rgn); |
void LoadDimensionRegions(RIFF::List* rgn); |
640 |
Sample* GetSampleFromWavePool(unsigned int WavePoolTableIndex); |
Sample* GetSampleFromWavePool(unsigned int WavePoolTableIndex, progress_t* pProgress = NULL); |
641 |
~Region(); |
~Region(); |
642 |
friend class Instrument; |
friend class Instrument; |
643 |
}; |
}; |
676 |
Region* RegionKeyTable[128]; ///< fast lookup for the corresponding Region of a MIDI key |
Region* RegionKeyTable[128]; ///< fast lookup for the corresponding Region of a MIDI key |
677 |
int RegionIndex; |
int RegionIndex; |
678 |
|
|
679 |
Instrument(File* pFile, RIFF::List* insList); |
Instrument(File* pFile, RIFF::List* insList, progress_t* pProgress = NULL); |
680 |
~Instrument(); |
~Instrument(); |
681 |
friend class File; |
friend class File; |
682 |
}; |
}; |
696 |
DLS::Resource::GetParent; |
DLS::Resource::GetParent; |
697 |
// overridden methods |
// overridden methods |
698 |
File(RIFF::File* pRIFF); |
File(RIFF::File* pRIFF); |
699 |
Sample* GetFirstSample(); ///< Returns a pointer to the first <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
Sample* GetFirstSample(progress_t* pProgress = NULL); ///< Returns a pointer to the first <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
700 |
Sample* GetNextSample(); ///< Returns a pointer to the next <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
Sample* GetNextSample(); ///< Returns a pointer to the next <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
701 |
Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
702 |
Instrument* GetNextInstrument(); ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
Instrument* GetNextInstrument(); ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
703 |
Instrument* GetInstrument(uint index); |
Instrument* GetInstrument(uint index, progress_t* pProgress = NULL); |
704 |
~File(); |
~File(); |
705 |
protected: |
protected: |
706 |
typedef std::list<Sample*> SampleList; |
typedef std::list<Sample*> SampleList; |
711 |
InstrumentList* pInstruments; |
InstrumentList* pInstruments; |
712 |
InstrumentList::iterator InstrumentsIterator; |
InstrumentList::iterator InstrumentsIterator; |
713 |
|
|
714 |
void LoadSamples(); |
void LoadSamples(progress_t* pProgress = NULL); |
715 |
void LoadInstruments(); |
void LoadInstruments(progress_t* pProgress = NULL); |
716 |
friend class Region; |
friend class Region; |
717 |
}; |
}; |
718 |
|
|