/[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 2274 by schoenebeck, Mon Sep 19 21:41:34 2011 UTC revision 2394 by schoenebeck, Mon Jan 7 23:23:58 2013 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-2010 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2013 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 429  namespace gig { Line 429  namespace gig {
429              uint8_t            DimensionUpperLimits[8];       ///< gig3: defines the upper limit of the dimension values for this dimension region              uint8_t            DimensionUpperLimits[8];       ///< gig3: defines the upper limit of the dimension values for this dimension region
430    
431              // derived attributes from DLS::Sampler              // derived attributes from DLS::Sampler
432              DLS::Sampler::UnityNote;              using DLS::Sampler::UnityNote;
433              DLS::Sampler::FineTune;              using DLS::Sampler::FineTune;
434              DLS::Sampler::Gain;              using DLS::Sampler::Gain;
435              DLS::Sampler::SampleLoops;              using DLS::Sampler::SampleLoops;
436              DLS::Sampler::pSampleLoops;              using DLS::Sampler::pSampleLoops;
437    
438              // own methods              // own methods
439              double GetVelocityAttenuation(uint8_t MIDIKeyVelocity);              double GetVelocityAttenuation(uint8_t MIDIKeyVelocity);
# Line 450  namespace gig { Line 450  namespace gig {
450              void SetVCFVelocityScale(uint8_t scaling);              void SetVCFVelocityScale(uint8_t scaling);
451              Region* GetParent() const;              Region* GetParent() const;
452              // derived methods              // derived methods
453              DLS::Sampler::AddSampleLoop;              using DLS::Sampler::AddSampleLoop;
454              DLS::Sampler::DeleteSampleLoop;              using DLS::Sampler::DeleteSampleLoop;
455              // overridden methods              // overridden methods
456              virtual void SetGain(int32_t gain);              virtual void SetGain(int32_t gain);
457              virtual void UpdateChunks();              virtual void UpdateChunks();
458                virtual void CopyAssign(const DimensionRegion* orig);
459          protected:          protected:
460              uint8_t* VelocityTable; ///< For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.              uint8_t* VelocityTable; ///< For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.
461              DimensionRegion(Region* pParent, RIFF::List* _3ewl);              DimensionRegion(Region* pParent, RIFF::List* _3ewl);
# Line 628  namespace gig { Line 629  namespace gig {
629              // overridden methods              // overridden methods
630              virtual void     SetKeyRange(uint16_t Low, uint16_t High);              virtual void     SetKeyRange(uint16_t Low, uint16_t High);
631              virtual void     UpdateChunks();              virtual void     UpdateChunks();
632                virtual void     CopyAssign(const Region* orig);
633          protected:          protected:
634              Region(Instrument* pInstrument, RIFF::List* rgnList);              Region(Instrument* pInstrument, RIFF::List* rgnList);
635              void LoadDimensionRegions(RIFF::List* rgn);              void LoadDimensionRegions(RIFF::List* rgn);
# Line 667  namespace gig { Line 669  namespace gig {
669      class Instrument : protected DLS::Instrument {      class Instrument : protected DLS::Instrument {
670          public:          public:
671              // derived attributes from DLS::Resource              // derived attributes from DLS::Resource
672              DLS::Resource::pInfo;              using DLS::Resource::pInfo;
673              DLS::Resource::pDLSID;              using DLS::Resource::pDLSID;
674              // derived attributes from DLS::Instrument              // derived attributes from DLS::Instrument
675              DLS::Instrument::IsDrum;              using DLS::Instrument::IsDrum;
676              DLS::Instrument::MIDIBank;              using DLS::Instrument::MIDIBank;
677              DLS::Instrument::MIDIBankCoarse;              using DLS::Instrument::MIDIBankCoarse;
678              DLS::Instrument::MIDIBankFine;              using DLS::Instrument::MIDIBankFine;
679              DLS::Instrument::MIDIProgram;              using DLS::Instrument::MIDIProgram;
680              DLS::Instrument::Regions;              using DLS::Instrument::Regions;
681              // own attributes              // own attributes
682              int32_t   Attenuation;       ///< in dB              int32_t   Attenuation;       ///< in dB
683              uint16_t  EffectSend;              uint16_t  EffectSend;
# Line 686  namespace gig { Line 688  namespace gig {
688    
689    
690              // derived methods from DLS::Resource              // derived methods from DLS::Resource
691              DLS::Resource::GetParent;              using DLS::Resource::GetParent;
692              // overridden methods              // overridden methods
693              Region*   GetFirstRegion();              Region*   GetFirstRegion();
694              Region*   GetNextRegion();              Region*   GetNextRegion();
695              Region*   AddRegion();              Region*   AddRegion();
696              void      DeleteRegion(Region* pRegion);              void      DeleteRegion(Region* pRegion);
697              virtual void UpdateChunks();              virtual void UpdateChunks();
698                virtual void CopyAssign(const Instrument* orig);
699              // own methods              // own methods
700              Region*   GetRegion(unsigned int Key);              Region*   GetRegion(unsigned int Key);
701              MidiRule* GetMidiRule(int i);              MidiRule* GetMidiRule(int i);
# Line 748  namespace gig { Line 751  namespace gig {
751              static const DLS::version_t VERSION_3;              static const DLS::version_t VERSION_3;
752    
753              // derived attributes from DLS::Resource              // derived attributes from DLS::Resource
754              DLS::Resource::pInfo;              using DLS::Resource::pInfo;
755              DLS::Resource::pDLSID;              using DLS::Resource::pDLSID;
756              // derived attributes from DLS::File              // derived attributes from DLS::File
757              DLS::File::pVersion;              using DLS::File::pVersion;
758              DLS::File::Instruments;              using DLS::File::Instruments;
759    
760              // derived methods from DLS::Resource              // derived methods from DLS::Resource
761              DLS::Resource::GetParent;              using DLS::Resource::GetParent;
762              // derived methods from DLS::File              // derived methods from DLS::File
763              DLS::File::Save;              using DLS::File::Save;
764              DLS::File::GetFileName;              using DLS::File::GetFileName;
765              // overridden  methods              // overridden  methods
766              File();              File();
767              File(RIFF::File* pRIFF);              File(RIFF::File* pRIFF);
# Line 770  namespace gig { Line 773  namespace gig {
773              Instrument* GetNextInstrument();  ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise.              Instrument* GetNextInstrument();  ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise.
774              Instrument* GetInstrument(uint index, progress_t* pProgress = NULL);              Instrument* GetInstrument(uint index, progress_t* pProgress = NULL);
775              Instrument* AddInstrument();              Instrument* AddInstrument();
776                Instrument* AddDuplicateInstrument(const Instrument* orig);
777              void        DeleteInstrument(Instrument* pInstrument);              void        DeleteInstrument(Instrument* pInstrument);
778              Group*      GetFirstGroup(); ///< Returns a pointer to the first <i>Group</i> object of the file, <i>NULL</i> otherwise.              Group*      GetFirstGroup(); ///< Returns a pointer to the first <i>Group</i> object of the file, <i>NULL</i> otherwise.
779              Group*      GetNextGroup();  ///< Returns a pointer to the next <i>Group</i> object of the file, <i>NULL</i> otherwise.              Group*      GetNextGroup();  ///< Returns a pointer to the next <i>Group</i> object of the file, <i>NULL</i> otherwise.

Legend:
Removed from v.2274  
changed lines
  Added in v.2394

  ViewVC Help
Powered by ViewVC