/[svn]/libgig/trunk/src/gig.cpp
ViewVC logotype

Diff of /libgig/trunk/src/gig.cpp

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

revision 347 by schoenebeck, Sun Jan 23 20:47:18 2005 UTC revision 352 by schoenebeck, Sat Jan 29 14:24:11 2005 UTC
# Line 1194  namespace gig { Line 1194  namespace gig {
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      }      }
# Line 1272  namespace gig { Line 1272  namespace gig {
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();
# Line 1313  namespace gig { Line 1314  namespace gig {
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) {
# Line 1336  namespace gig { Line 1338  namespace gig {
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      /**      /**
# Line 1393  namespace gig { Line 1395  namespace gig {
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;

Legend:
Removed from v.347  
changed lines
  Added in v.352

  ViewVC Help
Powered by ViewVC