671 |
virtual void UpdateChunks(progress_t* pProgress); |
virtual void UpdateChunks(progress_t* pProgress); |
672 |
void CopyAssignMeta(const Sample* orig); |
void CopyAssignMeta(const Sample* orig); |
673 |
void CopyAssignWave(const Sample* orig); |
void CopyAssignWave(const Sample* orig); |
674 |
|
uint32_t GetWaveDataCRC32Checksum(); |
675 |
|
bool VerifyWaveData(uint32_t* pActually = NULL); |
676 |
protected: |
protected: |
677 |
static size_t Instances; ///< Number of instances of class Sample. |
static size_t Instances; ///< Number of instances of class Sample. |
678 |
static buffer_t InternalDecompressionBuffer; ///< Buffer used for decompression as well as for truncation of 24 Bit -> 16 Bit samples. |
static buffer_t InternalDecompressionBuffer; ///< Buffer used for decompression as well as for truncation of 24 Bit -> 16 Bit samples. |
687 |
unsigned long FileNo; ///< File number (> 0 when sample is stored in an extension file, 0 when it's in the gig) |
unsigned long FileNo; ///< File number (> 0 when sample is stored in an extension file, 0 when it's in the gig) |
688 |
RIFF::Chunk* pCk3gix; |
RIFF::Chunk* pCk3gix; |
689 |
RIFF::Chunk* pCkSmpl; |
RIFF::Chunk* pCkSmpl; |
690 |
uint32_t crc; ///< CRC-32 checksum of the raw sample data |
uint32_t crc; ///< Reflects CRC-32 checksum of the raw sample data at the last time when the sample's raw wave form data has been modified consciously by the user by calling Write(). |
691 |
|
|
692 |
Sample(File* pFile, RIFF::List* waveList, file_offset_t WavePoolOffset, unsigned long fileNo = 0); |
Sample(File* pFile, RIFF::List* waveList, file_offset_t WavePoolOffset, unsigned long fileNo = 0, int index = -1); |
693 |
~Sample(); |
~Sample(); |
694 |
|
uint32_t CalculateWaveDataChecksum(); |
695 |
|
|
696 |
// Guess size (in bytes) of a compressed sample |
// Guess size (in bytes) of a compressed sample |
697 |
inline file_offset_t GuessSize(file_offset_t samples) { |
inline file_offset_t GuessSize(file_offset_t samples) { |
1270 |
virtual void LoadInstruments(progress_t* pProgress); |
virtual void LoadInstruments(progress_t* pProgress); |
1271 |
virtual void LoadScriptGroups(); |
virtual void LoadScriptGroups(); |
1272 |
void SetSampleChecksum(Sample* pSample, uint32_t crc); |
void SetSampleChecksum(Sample* pSample, uint32_t crc); |
1273 |
|
uint32_t GetSampleChecksum(Sample* pSample); |
1274 |
|
uint32_t GetSampleChecksumByIndex(int index); |
1275 |
|
bool VerifySampleChecksumTable(); |
1276 |
|
bool RebuildSampleChecksumTable(); |
1277 |
|
int GetWaveTableIndexOf(gig::Sample* pSample); |
1278 |
friend class Region; |
friend class Region; |
1279 |
friend class Sample; |
friend class Sample; |
1280 |
friend class Instrument; |
friend class Instrument; |