gig.h File Reference

#include "DLS.h"

Go to the source code of this file.


Classes

struct  gig::range_t
 Lower and upper limit of a range. More...
struct  gig::buffer_t
 Pointer address and size of a buffer. More...
struct  gig::leverage_ctrl_t
 Defines a controller that has a certain contrained influence on a particular synthesis parameter (used to define attenuation controller, EG1 controller and EG2 controller). More...
struct  gig::dimension_def_t
 General dimension definition. More...
struct  gig::crossfade_t
 Defines the envelope of a crossfade. More...
struct  gig::playback_state_t
 Reflects the current playback state for a sample. More...
struct  gig::progress_t
 Used for indicating the progress of a certain task. More...
class  gig::DimensionRegion
 Encapsulates articulation information of a dimension region. More...
class  gig::Sample
 Encapsulates sample waves used for playback. More...
class  gig::Region
 Defines Region information of an Instrument. More...
class  gig::MidiRule
 Abstract base class for all MIDI rules. More...
class  gig::MidiRuleCtrlTrigger
 MIDI rule for triggering notes by control change events. More...
struct  gig::MidiRuleCtrlTrigger::trigger_t
class  gig::Instrument
 Provides all neccessary information for the synthesis of an Instrument. More...
class  gig::Group
 Group of Gigasampler objects. More...
class  gig::File
 Parses Gigasampler files and provides abstract access to the data. More...
class  gig::Exception
 Will be thrown whenever a gig specific error occurs while trying to access a Gigasampler File. More...

Namespaces

namespace  gig
 Gigasampler specific classes and definitions.

Defines

#define LIST_TYPE_3PRG   0x67727033
#define LIST_TYPE_3EWL   0x6C776533
#define LIST_TYPE_3GRI   0x69726733
#define LIST_TYPE_3GNL   0x6C6E6733
#define CHUNK_ID_SMPL   0x6C706D73
#define CHUNK_ID_3GIX   0x78696733
#define CHUNK_ID_3EWA   0x61776533
#define CHUNK_ID_3LNK   0x6B6E6C33
#define CHUNK_ID_3EWG   0x67776533
#define CHUNK_ID_EWAV   0x76617765
#define CHUNK_ID_3GNM   0x6D6E6733
#define CHUNK_ID_EINF   0x666E6965
#define CHUNK_ID_3CRC   0x63726333

Typedefs

typedef std::string gig::String
typedef leverage_ctrl_t gig::attenuation_ctrl_t
 Defines controller influencing attenuation.
typedef leverage_ctrl_t gig::eg1_ctrl_t
 Defines controller influencing envelope generator 1.
typedef leverage_ctrl_t gig::eg2_ctrl_t
 Defines controller influencing envelope generator 2.

Enumerations

enum  gig::loop_type_t { gig::loop_type_normal = 0x00000000, gig::loop_type_bidirectional = 0x00000001, gig::loop_type_backward = 0x00000002 }
 Standard types of sample loops. More...
enum  gig::smpte_format_t {
  gig::smpte_format_no_offset = 0x00000000, gig::smpte_format_24_frames = 0x00000018, gig::smpte_format_25_frames = 0x00000019, gig::smpte_format_30_frames_dropping = 0x0000001D,
  gig::smpte_format_30_frames = 0x0000001E
}
 Society of Motion Pictures and Television E time format. More...
enum  gig::curve_type_t { gig::curve_type_nonlinear = 0, gig::curve_type_linear = 1, gig::curve_type_special = 2, gig::curve_type_unknown = 0xffffffff }
 Defines the shape of a function graph. More...
enum  gig::dim_bypass_ctrl_t { gig::dim_bypass_ctrl_none, gig::dim_bypass_ctrl_94, gig::dim_bypass_ctrl_95 }
 Dimensions allow to bypass one of the following controllers. More...
enum  gig::lfo3_ctrl_t {
  gig::lfo3_ctrl_internal = 0x00, gig::lfo3_ctrl_modwheel = 0x01, gig::lfo3_ctrl_aftertouch = 0x02, gig::lfo3_ctrl_internal_modwheel = 0x03,
  gig::lfo3_ctrl_internal_aftertouch = 0x04
}
 Defines how LFO3 is controlled by. More...
enum  gig::lfo2_ctrl_t {
  gig::lfo2_ctrl_internal = 0x00, gig::lfo2_ctrl_modwheel = 0x01, gig::lfo2_ctrl_foot = 0x02, gig::lfo2_ctrl_internal_modwheel = 0x03,
  gig::lfo2_ctrl_internal_foot = 0x04
}
 Defines how LFO2 is controlled by. More...
enum  gig::lfo1_ctrl_t {
  gig::lfo1_ctrl_internal = 0x00, gig::lfo1_ctrl_modwheel = 0x01, gig::lfo1_ctrl_breath = 0x02, gig::lfo1_ctrl_internal_modwheel = 0x03,
  gig::lfo1_ctrl_internal_breath = 0x04
}
 Defines how LFO1 is controlled by. More...
enum  gig::vcf_cutoff_ctrl_t {
  gig::vcf_cutoff_ctrl_none = 0x00, gig::vcf_cutoff_ctrl_none2 = 0x01, gig::vcf_cutoff_ctrl_modwheel = 0x81, gig::vcf_cutoff_ctrl_effect1 = 0x8c,
  gig::vcf_cutoff_ctrl_effect2 = 0x8d, gig::vcf_cutoff_ctrl_breath = 0x82, gig::vcf_cutoff_ctrl_foot = 0x84, gig::vcf_cutoff_ctrl_sustainpedal = 0xc0,
  gig::vcf_cutoff_ctrl_softpedal = 0xc3, gig::vcf_cutoff_ctrl_genpurpose7 = 0xd2, gig::vcf_cutoff_ctrl_genpurpose8 = 0xd3, gig::vcf_cutoff_ctrl_aftertouch = 0x80
}
 Defines how the filter cutoff frequency is controlled by. More...
enum  gig::vcf_res_ctrl_t {
  gig::vcf_res_ctrl_none = 0xffffffff, gig::vcf_res_ctrl_genpurpose3 = 0, gig::vcf_res_ctrl_genpurpose4 = 1, gig::vcf_res_ctrl_genpurpose5 = 2,
  gig::vcf_res_ctrl_genpurpose6 = 3
}
 Defines how the filter resonance is controlled by. More...
enum  gig::dimension_t {
  gig::dimension_none = 0x00, gig::dimension_samplechannel = 0x80, gig::dimension_layer = 0x81, gig::dimension_velocity = 0x82,
  gig::dimension_channelaftertouch = 0x83, gig::dimension_releasetrigger = 0x84, gig::dimension_keyboard = 0x85, gig::dimension_roundrobin = 0x86,
  gig::dimension_random = 0x87, gig::dimension_smartmidi = 0x88, gig::dimension_roundrobinkeyboard = 0x89, gig::dimension_modwheel = 0x01,
  gig::dimension_breath = 0x02, gig::dimension_foot = 0x04, gig::dimension_portamentotime = 0x05, gig::dimension_effect1 = 0x0c,
  gig::dimension_effect2 = 0x0d, gig::dimension_genpurpose1 = 0x10, gig::dimension_genpurpose2 = 0x11, gig::dimension_genpurpose3 = 0x12,
  gig::dimension_genpurpose4 = 0x13, gig::dimension_sustainpedal = 0x40, gig::dimension_portamento = 0x41, gig::dimension_sostenutopedal = 0x42,
  gig::dimension_softpedal = 0x43, gig::dimension_genpurpose5 = 0x30, gig::dimension_genpurpose6 = 0x31, gig::dimension_genpurpose7 = 0x32,
  gig::dimension_genpurpose8 = 0x33, gig::dimension_effect1depth = 0x5b, gig::dimension_effect2depth = 0x5c, gig::dimension_effect3depth = 0x5d,
  gig::dimension_effect4depth = 0x5e, gig::dimension_effect5depth = 0x5f
}
 Defines the type of dimension, that is how the dimension zones (and thus how the dimension regions are selected by. More...
enum  gig::split_type_t { gig::split_type_normal, gig::split_type_bit }
 Intended for internal usage: will be used to convert a dimension value into the corresponding dimension bit number. More...
enum  gig::vcf_type_t {
  gig::vcf_type_lowpass = 0x00, gig::vcf_type_lowpassturbo = 0xff, gig::vcf_type_bandpass = 0x01, gig::vcf_type_highpass = 0x02,
  gig::vcf_type_bandreject = 0x03
}
 Defines which frequencies are filtered by the VCF. More...

Functions

String gig::libraryName ()
 Returns the name of this C++ library.
String gig::libraryVersion ()
 Returns version of this C++ library.


Define Documentation

#define CHUNK_ID_3CRC   0x63726333

Definition at line 56 of file gig.h.

Referenced by gig::File::SetSampleChecksum(), and gig::File::UpdateChunks().

#define CHUNK_ID_3EWA   0x61776533

#define CHUNK_ID_3EWG   0x67776533

Definition at line 52 of file gig.h.

Referenced by gig::Instrument::Instrument(), and gig::Instrument::UpdateChunks().

#define CHUNK_ID_3GIX   0x78696733

Definition at line 49 of file gig.h.

Referenced by gig::Sample::Sample(), and gig::Sample::UpdateChunks().

#define CHUNK_ID_3GNM   0x6D6E6733

Definition at line 54 of file gig.h.

Referenced by gig::File::LoadGroups(), gig::File::UpdateChunks(), and gig::Group::UpdateChunks().

#define CHUNK_ID_3LNK   0x6B6E6C33

Definition at line 51 of file gig.h.

Referenced by gig::Region::Region(), and gig::Region::UpdateChunks().

#define CHUNK_ID_EINF   0x666E6965

Definition at line 55 of file gig.h.

Referenced by gig::File::UpdateChunks().

#define CHUNK_ID_EWAV   0x76617765

Definition at line 53 of file gig.h.

Referenced by gig::Sample::Sample().

#define CHUNK_ID_SMPL   0x6C706D73

Definition at line 48 of file gig.h.

Referenced by gig::Sample::Sample(), and gig::Sample::UpdateChunks().

#define LIST_TYPE_3EWL   0x6C776533

#define LIST_TYPE_3GNL   0x6C6E6733

Definition at line 47 of file gig.h.

Referenced by gig::File::LoadGroups(), gig::File::UpdateChunks(), and gig::Group::UpdateChunks().

#define LIST_TYPE_3GRI   0x69726733

Definition at line 46 of file gig.h.

Referenced by gig::File::LoadGroups(), gig::File::UpdateChunks(), and gig::Group::UpdateChunks().

#define LIST_TYPE_3PRG   0x67727033


doxygen