1194 |
for (uint i = 0; i < Dimensions; i++) { |
for (uint i = 0; i < Dimensions; i++) { |
1195 |
if (pDimensionDefinitions[i].ranges) delete[] pDimensionDefinitions[i].ranges; |
if (pDimensionDefinitions[i].ranges) delete[] pDimensionDefinitions[i].ranges; |
1196 |
} |
} |
1197 |
for (int i = 0; i < 32; i++) { |
for (int i = 0; i < 256; i++) { |
1198 |
if (pDimensionRegions[i]) delete pDimensionRegions[i]; |
if (pDimensionRegions[i]) delete pDimensionRegions[i]; |
1199 |
} |
} |
1200 |
} |
} |
1272 |
} |
} |
1273 |
|
|
1274 |
Sample* Region::GetSampleFromWavePool(unsigned int WavePoolTableIndex) { |
Sample* Region::GetSampleFromWavePool(unsigned int WavePoolTableIndex) { |
1275 |
|
if ((int32_t)WavePoolTableIndex == -1) return NULL; |
1276 |
File* file = (File*) GetParent()->GetParent(); |
File* file = (File*) GetParent()->GetParent(); |
1277 |
unsigned long soughtoffset = file->pWavePoolTable[WavePoolTableIndex]; |
unsigned long soughtoffset = file->pWavePoolTable[WavePoolTableIndex]; |
1278 |
Sample* sample = file->GetFirstSample(); |
Sample* sample = file->GetFirstSample(); |
1314 |
RIFF::List* lrgn = insList->GetSubList(LIST_TYPE_LRGN); |
RIFF::List* lrgn = insList->GetSubList(LIST_TYPE_LRGN); |
1315 |
if (!lrgn) throw gig::Exception("Mandatory chunks in <ins > chunk not found."); |
if (!lrgn) throw gig::Exception("Mandatory chunks in <ins > chunk not found."); |
1316 |
pRegions = new Region*[Regions]; |
pRegions = new Region*[Regions]; |
1317 |
|
for (uint i = 0; i < Regions; i++) pRegions[i] = NULL; |
1318 |
RIFF::List* rgn = lrgn->GetFirstSubList(); |
RIFF::List* rgn = lrgn->GetFirstSubList(); |
1319 |
unsigned int iRegion = 0; |
unsigned int iRegion = 0; |
1320 |
while (rgn) { |
while (rgn) { |
1338 |
if (pRegions) { |
if (pRegions) { |
1339 |
if (pRegions[i]) delete (pRegions[i]); |
if (pRegions[i]) delete (pRegions[i]); |
1340 |
} |
} |
|
delete[] pRegions; |
|
1341 |
} |
} |
1342 |
|
if (pRegions) delete[] pRegions; |
1343 |
} |
} |
1344 |
|
|
1345 |
/** |
/** |
1395 |
pInstruments = NULL; |
pInstruments = NULL; |
1396 |
} |
} |
1397 |
|
|
1398 |
|
File::~File() { |
1399 |
|
// free samples |
1400 |
|
if (pSamples) { |
1401 |
|
SamplesIterator = pSamples->begin(); |
1402 |
|
while (SamplesIterator != pSamples->end() ) { |
1403 |
|
delete (*SamplesIterator); |
1404 |
|
SamplesIterator++; |
1405 |
|
} |
1406 |
|
pSamples->clear(); |
1407 |
|
|
1408 |
|
} |
1409 |
|
// free instruments |
1410 |
|
if (pInstruments) { |
1411 |
|
InstrumentsIterator = pInstruments->begin(); |
1412 |
|
while (InstrumentsIterator != pInstruments->end() ) { |
1413 |
|
delete (*InstrumentsIterator); |
1414 |
|
InstrumentsIterator++; |
1415 |
|
} |
1416 |
|
pInstruments->clear(); |
1417 |
|
} |
1418 |
|
} |
1419 |
|
|
1420 |
Sample* File::GetFirstSample() { |
Sample* File::GetFirstSample() { |
1421 |
if (!pSamples) LoadSamples(); |
if (!pSamples) LoadSamples(); |
1422 |
if (!pSamples) return NULL; |
if (!pSamples) return NULL; |