/[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 2912 by schoenebeck, Tue May 17 14:30:10 2016 UTC revision 2985 by schoenebeck, Tue Sep 20 22:13:37 2016 UTC
# Line 45  Line 45 
45  # define CHUNK_ID_SCRI  0x53637269 // own gig format extension  # define CHUNK_ID_SCRI  0x53637269 // own gig format extension
46  # define CHUNK_ID_LSNM  0x4c534e4d // own gig format extension  # define CHUNK_ID_LSNM  0x4c534e4d // own gig format extension
47  # define CHUNK_ID_SCSL  0x5343534c // own gig format extension  # define CHUNK_ID_SCSL  0x5343534c // own gig format extension
 # define CHUNK_ID_FFMT  0x46466D74 // own gig format extension  
48  #else  // little endian  #else  // little endian
49  # define LIST_TYPE_3PRG 0x67727033  # define LIST_TYPE_3PRG 0x67727033
50  # define LIST_TYPE_3EWL 0x6C776533  # define LIST_TYPE_3EWL 0x6C776533
# Line 64  Line 63 
63  # define CHUNK_ID_SCRI  0x69726353 // own gig format extension  # define CHUNK_ID_SCRI  0x69726353 // own gig format extension
64  # define CHUNK_ID_LSNM  0x4d4e534c // own gig format extension  # define CHUNK_ID_LSNM  0x4d4e534c // own gig format extension
65  # define CHUNK_ID_SCSL  0x4c534353 // own gig format extension  # define CHUNK_ID_SCSL  0x4c534353 // own gig format extension
 # define CHUNK_ID_FFMT  0x746D4646 // own gig format extension  
66  #endif // WORDS_BIGENDIAN  #endif // WORDS_BIGENDIAN
67    
68  /** Gigasampler/GigaStudio specific classes and definitions */  /** Gigasampler/GigaStudio specific classes and definitions */
# Line 591  namespace gig { Line 589  namespace gig {
589              } _lev_ctrl_t;              } _lev_ctrl_t;
590              typedef std::map<uint32_t, double*> VelocityTableMap;              typedef std::map<uint32_t, double*> VelocityTableMap;
591    
592              static uint              Instances;                  ///< Number of DimensionRegion instances.              static size_t            Instances;                  ///< Number of DimensionRegion instances.
593              static VelocityTableMap* pVelocityTables;            ///< Contains the tables corresponding to the various velocity parameters (VelocityResponseCurve and VelocityResponseDepth).              static VelocityTableMap* pVelocityTables;            ///< Contains the tables corresponding to the various velocity parameters (VelocityResponseCurve and VelocityResponseDepth).
594              double*                  pVelocityAttenuationTable;  ///< Points to the velocity table corresponding to the velocity parameters of this DimensionRegion.              double*                  pVelocityAttenuationTable;  ///< Points to the velocity table corresponding to the velocity parameters of this DimensionRegion.
595              double*                  pVelocityReleaseTable;      ///< Points to the velocity table corresponding to the release velocity parameters of this DimensionRegion              double*                  pVelocityReleaseTable;      ///< Points to the velocity table corresponding to the release velocity parameters of this DimensionRegion
# Line 663  namespace gig { Line 661  namespace gig {
661              static void     DestroyDecompressionBuffer(buffer_t& DecompressionBuffer);              static void     DestroyDecompressionBuffer(buffer_t& DecompressionBuffer);
662              // overridden methods              // overridden methods
663              void          ReleaseSampleData();              void          ReleaseSampleData();
664              void          Resize(int iNewSize);              void          Resize(file_offset_t NewSize);
665              file_offset_t SetPos(file_offset_t SampleCount, RIFF::stream_whence_t Whence = RIFF::stream_start);              file_offset_t SetPos(file_offset_t SampleCount, RIFF::stream_whence_t Whence = RIFF::stream_start);
666              file_offset_t GetPos() const;              file_offset_t GetPos() const;
667              file_offset_t Read(void* pBuffer, file_offset_t SampleCount, buffer_t* pExternalDecompressionBuffer = NULL);              file_offset_t Read(void* pBuffer, file_offset_t SampleCount, buffer_t* pExternalDecompressionBuffer = NULL);
# Line 673  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                bool VerifyWaveData();
675          protected:          protected:
676              static unsigned int  Instances;               ///< Number of instances of class Sample.              static size_t        Instances;               ///< Number of instances of class Sample.
677              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.
678              Group*               pGroup;                  ///< pointer to the Group this sample belongs to (always not-NULL)              Group*               pGroup;                  ///< pointer to the Group this sample belongs to (always not-NULL)
679              file_offset_t        FrameOffset;             ///< Current offset (sample points) in current sample frame (for decompression only).              file_offset_t        FrameOffset;             ///< Current offset (sample points) in current sample frame (for decompression only).
# Line 691  namespace gig { Line 690  namespace gig {
690    
691              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);
692             ~Sample();             ~Sample();
693                uint32_t CalculateWaveDataChecksum();
694    
695              // Guess size (in bytes) of a compressed sample              // Guess size (in bytes) of a compressed sample
696              inline file_offset_t GuessSize(file_offset_t samples) {              inline file_offset_t GuessSize(file_offset_t samples) {
# Line 1269  namespace gig { Line 1269  namespace gig {
1269              virtual void LoadInstruments(progress_t* pProgress);              virtual void LoadInstruments(progress_t* pProgress);
1270              virtual void LoadScriptGroups();              virtual void LoadScriptGroups();
1271              void SetSampleChecksum(Sample* pSample, uint32_t crc);              void SetSampleChecksum(Sample* pSample, uint32_t crc);
1272              uint GetFormatExtensionVersion() const;              uint32_t GetSampleChecksum(Sample* pSample);
1273              bool HasMonolithicLargeFilePolicy() const;              bool VerifySampleChecksumTable();
1274                bool RebuildSampleChecksumTable();
1275                int  GetWaveTableIndexOf(gig::Sample* pSample);
1276              friend class Region;              friend class Region;
1277              friend class Sample;              friend class Sample;
1278              friend class Instrument;              friend class Instrument;

Legend:
Removed from v.2912  
changed lines
  Added in v.2985

  ViewVC Help
Powered by ViewVC