/[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 3446 by schoenebeck, Sun Dec 23 21:47:26 2018 UTC revision 3478 by schoenebeck, Thu Feb 21 20:10:08 2019 UTC
# Line 604  namespace gig { Line 604  namespace gig {
604              using DLS::Sampler::AddSampleLoop;              using DLS::Sampler::AddSampleLoop;
605              using DLS::Sampler::DeleteSampleLoop;              using DLS::Sampler::DeleteSampleLoop;
606              // overridden methods              // overridden methods
607              virtual void SetGain(int32_t gain);              virtual void SetGain(int32_t gain) OVERRIDE;
608              virtual void UpdateChunks(progress_t* pProgress);              virtual void UpdateChunks(progress_t* pProgress) OVERRIDE;
609              virtual void CopyAssign(const DimensionRegion* orig);              virtual void CopyAssign(const DimensionRegion* orig);
610          protected:          protected:
611              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.
# Line 797  namespace gig { Line 797  namespace gig {
797              file_offset_t ReadAndLoop(void* pBuffer, file_offset_t SampleCount, playback_state_t* pPlaybackState, DimensionRegion* pDimRgn, buffer_t* pExternalDecompressionBuffer = NULL);              file_offset_t ReadAndLoop(void* pBuffer, file_offset_t SampleCount, playback_state_t* pPlaybackState, DimensionRegion* pDimRgn, buffer_t* pExternalDecompressionBuffer = NULL);
798              file_offset_t Write(void* pBuffer, file_offset_t SampleCount);              file_offset_t Write(void* pBuffer, file_offset_t SampleCount);
799              Group*        GetGroup() const;              Group*        GetGroup() const;
800              virtual void  UpdateChunks(progress_t* pProgress);              virtual void  UpdateChunks(progress_t* pProgress) OVERRIDE;
801              void CopyAssignMeta(const Sample* orig);              void CopyAssignMeta(const Sample* orig);
802              void CopyAssignWave(const Sample* orig);              void CopyAssignWave(const Sample* orig);
803              uint32_t GetWaveDataCRC32Checksum();              uint32_t GetWaveDataCRC32Checksum();
# Line 891  namespace gig { Line 891  namespace gig {
891              void             SplitDimensionZone(dimension_t type, int zone);              void             SplitDimensionZone(dimension_t type, int zone);
892              void             SetDimensionType(dimension_t oldType, dimension_t newType);              void             SetDimensionType(dimension_t oldType, dimension_t newType);
893              // overridden methods              // overridden methods
894              virtual void     SetKeyRange(uint16_t Low, uint16_t High);              virtual void     SetKeyRange(uint16_t Low, uint16_t High) OVERRIDE;
895              virtual void     UpdateChunks(progress_t* pProgress);              virtual void     UpdateChunks(progress_t* pProgress) OVERRIDE;
896              virtual void     CopyAssign(const Region* orig);              virtual void     CopyAssign(const Region* orig);
897          protected:          protected:
898              Region(Instrument* pInstrument, RIFF::List* rgnList);              Region(Instrument* pInstrument, RIFF::List* rgnList);
# Line 985  namespace gig { Line 985  namespace gig {
985          protected:          protected:
986              MidiRuleCtrlTrigger(RIFF::Chunk* _3ewg);              MidiRuleCtrlTrigger(RIFF::Chunk* _3ewg);
987              MidiRuleCtrlTrigger();              MidiRuleCtrlTrigger();
988              void UpdateChunks(uint8_t* pData) const;              void UpdateChunks(uint8_t* pData) const OVERRIDE;
989              friend class Instrument;              friend class Instrument;
990      };      };
991    
# Line 1025  namespace gig { Line 1025  namespace gig {
1025          protected:          protected:
1026              MidiRuleLegato(RIFF::Chunk* _3ewg);              MidiRuleLegato(RIFF::Chunk* _3ewg);
1027              MidiRuleLegato();              MidiRuleLegato();
1028              void UpdateChunks(uint8_t* pData) const;              void UpdateChunks(uint8_t* pData) const OVERRIDE;
1029              friend class Instrument;              friend class Instrument;
1030      };      };
1031    
# Line 1077  namespace gig { Line 1077  namespace gig {
1077          protected:          protected:
1078              MidiRuleAlternator(RIFF::Chunk* _3ewg);              MidiRuleAlternator(RIFF::Chunk* _3ewg);
1079              MidiRuleAlternator();              MidiRuleAlternator();
1080              void UpdateChunks(uint8_t* pData) const;              void UpdateChunks(uint8_t* pData) const OVERRIDE;
1081              friend class Instrument;              friend class Instrument;
1082      };      };
1083    
# Line 1097  namespace gig { Line 1097  namespace gig {
1097      class MidiRuleUnknown : public MidiRule {      class MidiRuleUnknown : public MidiRule {
1098          protected:          protected:
1099              MidiRuleUnknown() { }              MidiRuleUnknown() { }
1100              void UpdateChunks(uint8_t* pData) const { }              void UpdateChunks(uint8_t* pData) const OVERRIDE { }
1101              friend class Instrument;              friend class Instrument;
1102      };      };
1103    
# Line 1121  namespace gig { Line 1121  namespace gig {
1121       * - <a href="http://doc.linuxsampler.org/Instrument_Scripts/NKSP_Language/Reference/">NKSP Reference Manual</a>       * - <a href="http://doc.linuxsampler.org/Instrument_Scripts/NKSP_Language/Reference/">NKSP Reference Manual</a>
1122       * - <a href="http://doc.linuxsampler.org/Gigedit/Managing_Scripts">Using Instrument Scripts with Gigedit</a>       * - <a href="http://doc.linuxsampler.org/Gigedit/Managing_Scripts">Using Instrument Scripts with Gigedit</a>
1123       */       */
1124      class Script {      class Script : protected DLS::Storage {
1125          public:          public:
1126              enum Encoding_t {              enum Encoding_t {
1127                  ENCODING_ASCII = 0 ///< Standard 8 bit US ASCII character encoding (default).                  ENCODING_ASCII = 0 ///< Standard 8 bit US ASCII character encoding (default).
# Line 1147  namespace gig { Line 1147  namespace gig {
1147          protected:          protected:
1148              Script(ScriptGroup* group, RIFF::Chunk* ckScri);              Script(ScriptGroup* group, RIFF::Chunk* ckScri);
1149              virtual ~Script();              virtual ~Script();
1150              void UpdateChunks(progress_t* pProgress);              void UpdateChunks(progress_t* pProgress) OVERRIDE;
1151                void DeleteChunks() OVERRIDE;
1152              void RemoveAllScriptReferences();              void RemoveAllScriptReferences();
1153              friend class ScriptGroup;              friend class ScriptGroup;
1154              friend class Instrument;              friend class Instrument;
# Line 1169  namespace gig { Line 1170  namespace gig {
1170       * not available in the GigaStudio 4 software. It is currently only       * not available in the GigaStudio 4 software. It is currently only
1171       * supported by LinuxSampler and gigedit.       * supported by LinuxSampler and gigedit.
1172       */       */
1173      class ScriptGroup {      class ScriptGroup : protected DLS::Storage {
1174          public:          public:
1175              String   Name; ///< Name of this script group. For example to be displayed in an instrument editor.              String   Name; ///< Name of this script group. For example to be displayed in an instrument editor.
1176    
# Line 1180  namespace gig { Line 1181  namespace gig {
1181              ScriptGroup(File* file, RIFF::List* lstRTIS);              ScriptGroup(File* file, RIFF::List* lstRTIS);
1182              virtual ~ScriptGroup();              virtual ~ScriptGroup();
1183              void LoadScripts();              void LoadScripts();
1184              void UpdateChunks(progress_t* pProgress);              virtual void UpdateChunks(progress_t* pProgress) OVERRIDE;
1185                virtual void DeleteChunks() OVERRIDE;
1186              friend class Script;              friend class Script;
1187              friend class File;              friend class File;
1188          private:          private:
# Line 1233  namespace gig { Line 1235  namespace gig {
1235              Region*   AddRegion();              Region*   AddRegion();
1236              void      DeleteRegion(Region* pRegion);              void      DeleteRegion(Region* pRegion);
1237              void      MoveTo(Instrument* dst);              void      MoveTo(Instrument* dst);
1238              virtual void UpdateChunks(progress_t* pProgress);              virtual void UpdateChunks(progress_t* pProgress) OVERRIDE;
1239              virtual void CopyAssign(const Instrument* orig);              virtual void CopyAssign(const Instrument* orig);
1240              // own methods              // own methods
1241              Region*   GetRegion(unsigned int Key);              Region*   GetRegion(unsigned int Key);
# Line 1287  namespace gig { Line 1289  namespace gig {
1289       * there is always at least one Group in a .gig file, no matter if you       * there is always at least one Group in a .gig file, no matter if you
1290       * created one yet or not.       * created one yet or not.
1291       */       */
1292      class Group {      class Group : public DLS::Storage {
1293          public:          public:
1294              String Name; ///< Stores the name of this Group.              String Name; ///< Stores the name of this Group.
1295    
# Line 1297  namespace gig { Line 1299  namespace gig {
1299          protected:          protected:
1300              Group(File* file, RIFF::Chunk* ck3gnm);              Group(File* file, RIFF::Chunk* ck3gnm);
1301              virtual ~Group();              virtual ~Group();
1302              virtual void UpdateChunks(progress_t* pProgress);              virtual void UpdateChunks(progress_t* pProgress) OVERRIDE;
1303                virtual void DeleteChunks() OVERRIDE;
1304              void MoveAll();              void MoveAll();
1305              friend class File;              friend class File;
1306          private:          private:
# Line 1391  namespace gig { Line 1394  namespace gig {
1394              ScriptGroup* AddScriptGroup();              ScriptGroup* AddScriptGroup();
1395              void        DeleteScriptGroup(ScriptGroup* pGroup);              void        DeleteScriptGroup(ScriptGroup* pGroup);
1396              virtual    ~File();              virtual    ~File();
1397              virtual void UpdateChunks(progress_t* pProgress);              virtual void UpdateChunks(progress_t* pProgress) OVERRIDE;
1398          protected:          protected:
1399              // overridden protected methods from DLS::File              // overridden protected methods from DLS::File
1400              virtual void LoadSamples();              virtual void LoadSamples() OVERRIDE;
1401              virtual void LoadInstruments();              virtual void LoadInstruments() OVERRIDE;
1402              virtual void LoadGroups();              virtual void LoadGroups();
1403              virtual void UpdateFileOffsets();              virtual void UpdateFileOffsets() OVERRIDE;
1404              // own protected methods              // own protected methods
1405              virtual void LoadSamples(progress_t* pProgress);              virtual void LoadSamples(progress_t* pProgress);
1406              virtual void LoadInstruments(progress_t* pProgress);              virtual void LoadInstruments(progress_t* pProgress);

Legend:
Removed from v.3446  
changed lines
  Added in v.3478

  ViewVC Help
Powered by ViewVC