/[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 1070 by persson, Mon Mar 5 17:42:35 2007 UTC revision 1102 by persson, Sun Mar 18 07:13:06 2007 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-2006 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2007 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 210  namespace gig { Line 210  namespace gig {
210          dimension_none              = 0x00, ///< Dimension not in use.          dimension_none              = 0x00, ///< Dimension not in use.
211          dimension_samplechannel     = 0x80, ///< If used sample has more than one channel (thus is not mono).          dimension_samplechannel     = 0x80, ///< If used sample has more than one channel (thus is not mono).
212          dimension_layer             = 0x81, ///< For layering of up to 8 instruments (and eventually crossfading of 2 or 4 layers).          dimension_layer             = 0x81, ///< For layering of up to 8 instruments (and eventually crossfading of 2 or 4 layers).
213          dimension_velocity          = 0x82, ///< Key Velocity (this is the only dimension where the ranges can exactly be defined).          dimension_velocity          = 0x82, ///< Key Velocity (this is the only dimension in gig2 where the ranges can exactly be defined).
214          dimension_channelaftertouch = 0x83, ///< Channel Key Pressure          dimension_channelaftertouch = 0x83, ///< Channel Key Pressure
215          dimension_releasetrigger    = 0x84, ///< Special dimension for triggering samples on releasing a key.          dimension_releasetrigger    = 0x84, ///< Special dimension for triggering samples on releasing a key.
216          dimension_keyboard          = 0x85, ///< Dimension for keyswitching          dimension_keyboard          = 0x85, ///< Dimension for keyswitching
217          dimension_roundrobin        = 0x86, ///< Different samples triggered each time a note is played, dimension regions selected in sequence          dimension_roundrobin        = 0x86, ///< Different samples triggered each time a note is played, dimension regions selected in sequence
218          dimension_random            = 0x87, ///< Different samples triggered each time a note is played, random order          dimension_random            = 0x87, ///< Different samples triggered each time a note is played, random order
219            dimension_smartmidi         = 0x88, ///< For MIDI tools like legato and repetition mode
220            dimension_roundrobinkeyboard = 0x89, ///< Different samples triggered each time a note is played, any key advances the counter
221          dimension_modwheel          = 0x01, ///< Modulation Wheel (MIDI Controller 1)          dimension_modwheel          = 0x01, ///< Modulation Wheel (MIDI Controller 1)
222          dimension_breath            = 0x02, ///< Breath Controller (Coarse, MIDI Controller 2)          dimension_breath            = 0x02, ///< Breath Controller (Coarse, MIDI Controller 2)
223          dimension_foot              = 0x04, ///< Foot Pedal (Coarse, MIDI Controller 4)          dimension_foot              = 0x04, ///< Foot Pedal (Coarse, MIDI Controller 4)
# Line 324  namespace gig { Line 326  namespace gig {
326      class Region;      class Region;
327      class Group;      class Group;
328    
329      /** Encapsulates articulation information of a dimension region.      /** @brief Encapsulates articulation information of a dimension region.
330       *       *
331       *  Every Gigasampler Instrument has at least one dimension region       *  Every Gigasampler Instrument has at least one dimension region
332       *  (exactly then when it has no dimension defined).       *  (exactly then when it has no dimension defined).
# Line 630  namespace gig { Line 632  namespace gig {
632    
633              // derived methods from DLS::Resource              // derived methods from DLS::Resource
634              DLS::Resource::GetParent;              DLS::Resource::GetParent;
635                // derived methods from DLS::Instrument
636                DLS::Instrument::MoveRegion;
637              // overridden methods              // overridden methods
638              Region*   GetFirstRegion();              Region*   GetFirstRegion();
639              Region*   GetNextRegion();              Region*   GetNextRegion();
# Line 711  namespace gig { Line 715  namespace gig {
715              Group*      GetGroup(uint index);              Group*      GetGroup(uint index);
716              Group*      AddGroup();              Group*      AddGroup();
717              void        DeleteGroup(Group* pGroup);              void        DeleteGroup(Group* pGroup);
718                void        DeleteGroupOnly(Group* pGroup);
719              virtual    ~File();              virtual    ~File();
720                virtual void UpdateChunks();
721          protected:          protected:
722              // overridden protected methods from DLS::File              // overridden protected methods from DLS::File
723              virtual void LoadSamples();              virtual void LoadSamples();
# Line 728  namespace gig { Line 734  namespace gig {
734              std::list<Group*>::iterator GroupsIterator;              std::list<Group*>::iterator GroupsIterator;
735      };      };
736    
737      /** Will be thrown whenever a gig specific error occurs while trying to access a Gigasampler File. */      /**
738         * Will be thrown whenever a gig specific error occurs while trying to
739         * access a Gigasampler File. Note: In your application you should
740         * better catch for RIFF::Exception rather than this one, except you
741         * explicitly want to catch and handle gig::Exception, DLS::Exception
742         * and RIFF::Exception independently, which usually shouldn't be
743         * necessary though.
744         */
745      class Exception : public DLS::Exception {      class Exception : public DLS::Exception {
746          public:          public:
747              Exception(String Message);              Exception(String Message);

Legend:
Removed from v.1070  
changed lines
  Added in v.1102

  ViewVC Help
Powered by ViewVC