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

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

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

revision 2922 by schoenebeck, Wed May 18 18:04:49 2016 UTC revision 3117 by schoenebeck, Sun Apr 16 23:20:30 2017 UTC
# Line 2  Line 2 
2   *                                                                         *   *                                                                         *
3   *   libgig - C++ cross-platform Gigasampler format file access library    *   *   libgig - C++ cross-platform Gigasampler format file access library    *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003-2016 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2017 by Christian Schoenebeck                      *
6   *                              <cuse@users.sourceforge.net>               *   *                              <cuse@users.sourceforge.net>               *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
# Line 671  namespace gig { Line 671  namespace gig {
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.
# Line 685  namespace gig { Line 687  namespace gig {
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) {
# Line 1011  namespace gig { Line 1014  namespace gig {
1014              void   SetScriptAsText(const String& text);              void   SetScriptAsText(const String& text);
1015              void   SetGroup(ScriptGroup* pGroup);              void   SetGroup(ScriptGroup* pGroup);
1016              ScriptGroup* GetGroup() const;              ScriptGroup* GetGroup() const;
1017                void   CopyAssign(const Script* orig);
1018          protected:          protected:
1019              Script(ScriptGroup* group, RIFF::Chunk* ckScri);              Script(ScriptGroup* group, RIFF::Chunk* ckScri);
1020              virtual ~Script();              virtual ~Script();
# Line 1267  namespace gig { Line 1271  namespace gig {
1271              virtual void LoadInstruments(progress_t* pProgress);              virtual void LoadInstruments(progress_t* pProgress);
1272              virtual void LoadScriptGroups();              virtual void LoadScriptGroups();
1273              void SetSampleChecksum(Sample* pSample, uint32_t crc);              void SetSampleChecksum(Sample* pSample, uint32_t crc);
1274                uint32_t GetSampleChecksum(Sample* pSample);
1275                uint32_t GetSampleChecksumByIndex(int index);
1276                bool VerifySampleChecksumTable();
1277                bool RebuildSampleChecksumTable();
1278                int  GetWaveTableIndexOf(gig::Sample* pSample);
1279              friend class Region;              friend class Region;
1280              friend class Sample;              friend class Sample;
1281              friend class Instrument;              friend class Instrument;

Legend:
Removed from v.2922  
changed lines
  Added in v.3117

  ViewVC Help
Powered by ViewVC