/[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 2467 by schoenebeck, Sun Sep 8 16:25:42 2013 UTC revision 2482 by schoenebeck, Mon Nov 25 02:22:38 2013 UTC
# Line 461  namespace gig { Line 461  namespace gig {
461              DimensionRegion(Region* pParent, RIFF::List* _3ewl);              DimensionRegion(Region* pParent, RIFF::List* _3ewl);
462              DimensionRegion(RIFF::List* _3ewl, const DimensionRegion& src);              DimensionRegion(RIFF::List* _3ewl, const DimensionRegion& src);
463             ~DimensionRegion();             ~DimensionRegion();
464                void CopyAssign(const DimensionRegion* orig, const std::map<Sample*,Sample*>* mSamples);
465              friend class Region;              friend class Region;
466          private:          private:
467              typedef enum { ///< Used to decode attenuation, EG1 and EG2 controller              typedef enum { ///< Used to decode attenuation, EG1 and EG2 controller
# Line 557  namespace gig { Line 558  namespace gig {
558              void          ReleaseSampleData();              void          ReleaseSampleData();
559              void          Resize(int iNewSize);              void          Resize(int iNewSize);
560              unsigned long SetPos(unsigned long SampleCount, RIFF::stream_whence_t Whence = RIFF::stream_start);              unsigned long SetPos(unsigned long SampleCount, RIFF::stream_whence_t Whence = RIFF::stream_start);
561              unsigned long GetPos();              unsigned long GetPos() const;
562              unsigned long Read(void* pBuffer, unsigned long SampleCount, buffer_t* pExternalDecompressionBuffer = NULL);              unsigned long Read(void* pBuffer, unsigned long SampleCount, buffer_t* pExternalDecompressionBuffer = NULL);
563              unsigned long ReadAndLoop(void* pBuffer, unsigned long SampleCount, playback_state_t* pPlaybackState, DimensionRegion* pDimRgn, buffer_t* pExternalDecompressionBuffer = NULL);              unsigned long ReadAndLoop(void* pBuffer, unsigned long SampleCount, playback_state_t* pPlaybackState, DimensionRegion* pDimRgn, buffer_t* pExternalDecompressionBuffer = NULL);
564              unsigned long Write(void* pBuffer, unsigned long SampleCount);              unsigned long Write(void* pBuffer, unsigned long SampleCount);
565              Group*        GetGroup() const;              Group*        GetGroup() const;
566              virtual void  UpdateChunks();              virtual void  UpdateChunks();
567                void CopyAssignMeta(const Sample* orig);
568                void CopyAssignWave(const Sample* orig);
569          protected:          protected:
570              static unsigned int  Instances;               ///< Number of instances of class Sample.              static unsigned int  Instances;               ///< Number of instances of class Sample.
571              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 635  namespace gig { Line 638  namespace gig {
638              void LoadDimensionRegions(RIFF::List* rgn);              void LoadDimensionRegions(RIFF::List* rgn);
639              void UpdateVelocityTable();              void UpdateVelocityTable();
640              Sample* GetSampleFromWavePool(unsigned int WavePoolTableIndex, progress_t* pProgress = NULL);              Sample* GetSampleFromWavePool(unsigned int WavePoolTableIndex, progress_t* pProgress = NULL);
641                void CopyAssign(const Region* orig, const std::map<Sample*,Sample*>* mSamples);
642             ~Region();             ~Region();
643              friend class Instrument;              friend class Instrument;
644      };      };
# Line 783  namespace gig { Line 787  namespace gig {
787    
788              Instrument(File* pFile, RIFF::List* insList, progress_t* pProgress = NULL);              Instrument(File* pFile, RIFF::List* insList, progress_t* pProgress = NULL);
789             ~Instrument();             ~Instrument();
790                void CopyAssign(const Instrument* orig, const std::map<Sample*,Sample*>* mSamples);
791              void UpdateRegionKeyTable();              void UpdateRegionKeyTable();
792              friend class File;              friend class File;
793              friend class Region; // so Region can call UpdateRegionKeyTable()              friend class Region; // so Region can call UpdateRegionKeyTable()
# Line 841  namespace gig { Line 846  namespace gig {
846              // derived methods from DLS::File              // derived methods from DLS::File
847              using DLS::File::Save;              using DLS::File::Save;
848              using DLS::File::GetFileName;              using DLS::File::GetFileName;
849                using DLS::File::SetFileName;
850              // overridden  methods              // overridden  methods
851              File();              File();
852              File(RIFF::File* pRIFF);              File(RIFF::File* pRIFF);
853              Sample*     GetFirstSample(progress_t* pProgress = NULL); ///< Returns a pointer to the first <i>Sample</i> object of the file, <i>NULL</i> otherwise.              Sample*     GetFirstSample(progress_t* pProgress = NULL); ///< Returns a pointer to the first <i>Sample</i> object of the file, <i>NULL</i> otherwise.
854              Sample*     GetNextSample();      ///< Returns a pointer to the next <i>Sample</i> object of the file, <i>NULL</i> otherwise.              Sample*     GetNextSample();      ///< Returns a pointer to the next <i>Sample</i> object of the file, <i>NULL</i> otherwise.
855                Sample*     GetSample(uint index);
856              Sample*     AddSample();              Sample*     AddSample();
857              void        DeleteSample(Sample* pSample);              void        DeleteSample(Sample* pSample);
858              Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise.              Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise.
# Line 862  namespace gig { Line 869  namespace gig {
869              void        DeleteGroupOnly(Group* pGroup);              void        DeleteGroupOnly(Group* pGroup);
870              void        SetAutoLoad(bool b);              void        SetAutoLoad(bool b);
871              bool        GetAutoLoad();              bool        GetAutoLoad();
872                void        AddContentOf(File* pFile);
873              virtual    ~File();              virtual    ~File();
874              virtual void UpdateChunks();              virtual void UpdateChunks();
875          protected:          protected:

Legend:
Removed from v.2467  
changed lines
  Added in v.2482

  ViewVC Help
Powered by ViewVC