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

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

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

revision 3052 by schoenebeck, Fri Nov 25 18:34:45 2016 UTC revision 3053 by schoenebeck, Wed Dec 14 18:55:08 2016 UTC
# Line 1277  namespace DLS { Line 1277  namespace DLS {
1277          RIFF::List* rgn = lrgn->AddSubList(LIST_TYPE_RGN);          RIFF::List* rgn = lrgn->AddSubList(LIST_TYPE_RGN);
1278          Region* pNewRegion = new Region(this, rgn);          Region* pNewRegion = new Region(this, rgn);
1279          pRegions->push_back(pNewRegion);          pRegions->push_back(pNewRegion);
1280          Regions = pRegions->size();          Regions = (uint32_t) pRegions->size();
1281          return pNewRegion;          return pNewRegion;
1282      }      }
1283    
# Line 1295  namespace DLS { Line 1295  namespace DLS {
1295          RegionList::iterator iter = find(pRegions->begin(), pRegions->end(), pRegion);          RegionList::iterator iter = find(pRegions->begin(), pRegions->end(), pRegion);
1296          if (iter == pRegions->end()) return;          if (iter == pRegions->end()) return;
1297          pRegions->erase(iter);          pRegions->erase(iter);
1298          Regions = pRegions->size();          Regions = (uint32_t) pRegions->size();
1299          delete pRegion;          delete pRegion;
1300      }      }
1301    
# Line 1315  namespace DLS { Line 1315  namespace DLS {
1315          if (!insh) insh = pCkInstrument->AddSubChunk(CHUNK_ID_INSH, 12);          if (!insh) insh = pCkInstrument->AddSubChunk(CHUNK_ID_INSH, 12);
1316          uint8_t* pData = (uint8_t*) insh->LoadChunkData();          uint8_t* pData = (uint8_t*) insh->LoadChunkData();
1317          // update 'insh' chunk          // update 'insh' chunk
1318          Regions = (pRegions) ? pRegions->size() : 0;          Regions = (pRegions) ? uint32_t(pRegions->size()) : 0;
1319          midi_locale_t locale;          midi_locale_t locale;
1320          locale.instrument = MIDIProgram;          locale.instrument = MIDIProgram;
1321          locale.bank       = MIDI_BANK_ENCODE(MIDIBankCoarse, MIDIBankFine);          locale.bank       = MIDI_BANK_ENCODE(MIDIBankCoarse, MIDIBankFine);
# Line 1711  namespace DLS { Line 1711  namespace DLS {
1711          }          }
1712    
1713          // update 'colh' chunk          // update 'colh' chunk
1714          Instruments = (pInstruments) ? pInstruments->size() : 0;          Instruments = (pInstruments) ? uint32_t(pInstruments->size()) : 0;
1715          RIFF::Chunk* colh = pRIFF->GetSubChunk(CHUNK_ID_COLH);          RIFF::Chunk* colh = pRIFF->GetSubChunk(CHUNK_ID_COLH);
1716          if (!colh)   colh = pRIFF->AddSubChunk(CHUNK_ID_COLH, 4);          if (!colh)   colh = pRIFF->AddSubChunk(CHUNK_ID_COLH, 4);
1717          uint8_t* pData = (uint8_t*) colh->LoadChunkData();          uint8_t* pData = (uint8_t*) colh->LoadChunkData();
# Line 1738  namespace DLS { Line 1738  namespace DLS {
1738          }          }
1739    
1740          // update 'ptbl' chunk          // update 'ptbl' chunk
1741          const int iSamples = (pSamples) ? pSamples->size() : 0;          const int iSamples = (pSamples) ? int(pSamples->size()) : 0;
1742          int iPtblOffsetSize = (b64BitWavePoolOffsets) ? 8 : 4;          int iPtblOffsetSize = (b64BitWavePoolOffsets) ? 8 : 4;
1743          RIFF::Chunk* ptbl = pRIFF->GetSubChunk(CHUNK_ID_PTBL);          RIFF::Chunk* ptbl = pRIFF->GetSubChunk(CHUNK_ID_PTBL);
1744          if (!ptbl)   ptbl = pRIFF->AddSubChunk(CHUNK_ID_PTBL, 1 /*anything, we'll resize*/);          if (!ptbl)   ptbl = pRIFF->AddSubChunk(CHUNK_ID_PTBL, 1 /*anything, we'll resize*/);
# Line 1897  namespace DLS { Line 1897  namespace DLS {
1897          RIFF::Chunk* ptbl = pRIFF->GetSubChunk(CHUNK_ID_PTBL);          RIFF::Chunk* ptbl = pRIFF->GetSubChunk(CHUNK_ID_PTBL);
1898          const int iOffsetSize = (b64BitWavePoolOffsets) ? 8 : 4;          const int iOffsetSize = (b64BitWavePoolOffsets) ? 8 : 4;
1899          // check if 'ptbl' chunk is large enough          // check if 'ptbl' chunk is large enough
1900          WavePoolCount = (pSamples) ? pSamples->size() : 0;          WavePoolCount = (pSamples) ? uint32_t(pSamples->size()) : 0;
1901          const file_offset_t ulRequiredSize = WavePoolHeaderSize + iOffsetSize * WavePoolCount;          const file_offset_t ulRequiredSize = WavePoolHeaderSize + iOffsetSize * WavePoolCount;
1902          if (ptbl->GetSize() < ulRequiredSize) throw Exception("Fatal error, 'ptbl' chunk too small");          if (ptbl->GetSize() < ulRequiredSize) throw Exception("Fatal error, 'ptbl' chunk too small");
1903          // save the 'ptbl' chunk's current read/write position          // save the 'ptbl' chunk's current read/write position
# Line 1933  namespace DLS { Line 1933  namespace DLS {
1933       * exists already.       * exists already.
1934       */       */
1935      void File::__UpdateWavePoolTable() {      void File::__UpdateWavePoolTable() {
1936          WavePoolCount = (pSamples) ? pSamples->size() : 0;          WavePoolCount = (pSamples) ? uint32_t(pSamples->size()) : 0;
1937          // resize wave pool table arrays          // resize wave pool table arrays
1938          if (pWavePoolTable)   delete[] pWavePoolTable;          if (pWavePoolTable)   delete[] pWavePoolTable;
1939          if (pWavePoolTableHi) delete[] pWavePoolTableHi;          if (pWavePoolTableHi) delete[] pWavePoolTableHi;

Legend:
Removed from v.3052  
changed lines
  Added in v.3053

  ViewVC Help
Powered by ViewVC