Classes | |
struct | range_t |
Lower and upper limit of a range. More... | |
struct | buffer_t |
Pointer address and size of a buffer. More... | |
struct | 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 | dimension_def_t |
General dimension definition. More... | |
struct | crossfade_t |
Defines the envelope of a crossfade. More... | |
struct | playback_state_t |
Reflects the current playback state for a sample. More... | |
struct | progress_t |
class | DimensionRegion |
class | Sample |
class | Region |
Defines Region information of an Instrument. More... | |
class | Instrument |
Provides all neccessary information for the synthesis of an Instrument. More... | |
class | Group |
class | File |
Parses Gigasampler files and provides abstract access to the data. More... | |
class | Exception |
Will be thrown whenever a gig specific error occurs while trying to access a Gigasampler File. More... | |
Typedefs | |
typedef std::string | String |
typedef leverage_ctrl_t | attenuation_ctrl_t |
Defines controller influencing attenuation. | |
typedef leverage_ctrl_t | eg1_ctrl_t |
Defines controller influencing envelope generator 1. | |
typedef leverage_ctrl_t | eg2_ctrl_t |
Defines controller influencing envelope generator 2. | |
Enumerations | |
enum | loop_type_t { loop_type_normal = 0x00000000, loop_type_bidirectional = 0x00000001, loop_type_backward = 0x00000002 } |
Standard types of sample loops. More... | |
enum | smpte_format_t { smpte_format_no_offset = 0x00000000, smpte_format_24_frames = 0x00000018, smpte_format_25_frames = 0x00000019, smpte_format_30_frames_dropping = 0x0000001D, smpte_format_30_frames = 0x0000001E } |
Society of Motion Pictures and Television E time format. More... | |
enum | curve_type_t { curve_type_nonlinear = 0, curve_type_linear = 1, curve_type_special = 2, curve_type_unknown = 0xffffffff } |
Defines the shape of a function graph. More... | |
enum | dim_bypass_ctrl_t { dim_bypass_ctrl_none, dim_bypass_ctrl_94, dim_bypass_ctrl_95 } |
Dimensions allow to bypass one of the following controllers. More... | |
enum | lfo3_ctrl_t { lfo3_ctrl_internal = 0x00, lfo3_ctrl_modwheel = 0x01, lfo3_ctrl_aftertouch = 0x02, lfo3_ctrl_internal_modwheel = 0x03, lfo3_ctrl_internal_aftertouch = 0x04 } |
Defines how LFO3 is controlled by. More... | |
enum | lfo2_ctrl_t { lfo2_ctrl_internal = 0x00, lfo2_ctrl_modwheel = 0x01, lfo2_ctrl_foot = 0x02, lfo2_ctrl_internal_modwheel = 0x03, lfo2_ctrl_internal_foot = 0x04 } |
Defines how LFO2 is controlled by. More... | |
enum | lfo1_ctrl_t { lfo1_ctrl_internal = 0x00, lfo1_ctrl_modwheel = 0x01, lfo1_ctrl_breath = 0x02, lfo1_ctrl_internal_modwheel = 0x03, lfo1_ctrl_internal_breath = 0x04 } |
Defines how LFO1 is controlled by. More... | |
enum | vcf_cutoff_ctrl_t { vcf_cutoff_ctrl_none = 0x00, vcf_cutoff_ctrl_none2 = 0x01, vcf_cutoff_ctrl_modwheel = 0x81, vcf_cutoff_ctrl_effect1 = 0x8c, vcf_cutoff_ctrl_effect2 = 0x8d, vcf_cutoff_ctrl_breath = 0x82, vcf_cutoff_ctrl_foot = 0x84, vcf_cutoff_ctrl_sustainpedal = 0xc0, vcf_cutoff_ctrl_softpedal = 0xc3, vcf_cutoff_ctrl_genpurpose7 = 0xd2, vcf_cutoff_ctrl_genpurpose8 = 0xd3, vcf_cutoff_ctrl_aftertouch = 0x80 } |
Defines how the filter cutoff frequency is controlled by. More... | |
enum | vcf_res_ctrl_t { vcf_res_ctrl_none = 0xffffffff, vcf_res_ctrl_genpurpose3 = 0, vcf_res_ctrl_genpurpose4 = 1, vcf_res_ctrl_genpurpose5 = 2, vcf_res_ctrl_genpurpose6 = 3 } |
Defines how the filter resonance is controlled by. More... | |
enum | dimension_t { dimension_none = 0x00, dimension_samplechannel = 0x80, dimension_layer = 0x81, dimension_velocity = 0x82, dimension_channelaftertouch = 0x83, dimension_releasetrigger = 0x84, dimension_keyboard = 0x85, dimension_roundrobin = 0x86, dimension_random = 0x87, dimension_smartmidi = 0x88, dimension_roundrobinkeyboard = 0x89, dimension_modwheel = 0x01, dimension_breath = 0x02, dimension_foot = 0x04, dimension_portamentotime = 0x05, dimension_effect1 = 0x0c, dimension_effect2 = 0x0d, dimension_genpurpose1 = 0x10, dimension_genpurpose2 = 0x11, dimension_genpurpose3 = 0x12, dimension_genpurpose4 = 0x13, dimension_sustainpedal = 0x40, dimension_portamento = 0x41, dimension_sostenutopedal = 0x42, dimension_softpedal = 0x43, dimension_genpurpose5 = 0x30, dimension_genpurpose6 = 0x31, dimension_genpurpose7 = 0x32, dimension_genpurpose8 = 0x33, dimension_effect1depth = 0x5b, dimension_effect2depth = 0x5c, dimension_effect3depth = 0x5d, dimension_effect4depth = 0x5e, 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 | split_type_t { split_type_normal, split_type_bit } |
Intended for internal usage: will be used to convert a dimension value into the corresponding dimension bit number. More... | |
enum | vcf_type_t { vcf_type_lowpass = 0x00, vcf_type_lowpassturbo = 0xff, vcf_type_bandpass = 0x01, vcf_type_highpass = 0x02, vcf_type_bandreject = 0x03 } |
Defines which frequencies are filtered by the VCF. More... | |
Functions | |
String | libraryName () |
Returns the name of this C++ library. | |
String | libraryVersion () |
Returns version of this C++ library. | |
static void | __notify_progress (progress_t *pProgress, float subprogress) |
static void | __divide_progress (progress_t *pParentProgress, progress_t *pSubProgress, float totalTasks, float currentTask) |
int | get12lo (const unsigned char *pSrc) |
int | get12hi (const unsigned char *pSrc) |
int16_t | get16 (const unsigned char *pSrc) |
int | get24 (const unsigned char *pSrc) |
void | store24 (unsigned char *pDst, int x) |
void | Decompress16 (int compressionmode, const unsigned char *params, int srcStep, int dstStep, const unsigned char *pSrc, int16_t *pDst, unsigned long currentframeoffset, unsigned long copysamples) |
void | Decompress24 (int compressionmode, const unsigned char *params, int dstStep, const unsigned char *pSrc, uint8_t *pDst, unsigned long currentframeoffset, unsigned long copysamples, int truncatedBits) |
static split_type_t | __resolveSplitType (dimension_t dimension) |
static int | __resolveZoneSize (dimension_def_t &dimension_definition) |
Variables | |
const int | bytesPerFrame [] = { 4096, 2052, 768, 524, 396, 268 } |
const int | bytesPerFrameNoHdr [] = { 4096, 2048, 768, 512, 384, 256 } |
const int | headerSize [] = { 0, 4, 0, 12, 12, 12 } |
const int | bitsPerSample [] = { 16, 8, 24, 16, 12, 8 } |
typedef leverage_ctrl_t gig::eg1_ctrl_t |
typedef leverage_ctrl_t gig::eg2_ctrl_t |
typedef std::string gig::String |
enum gig::curve_type_t |
enum gig::dimension_t |
Defines the type of dimension, that is how the dimension zones (and thus how the dimension regions are selected by.
The number of dimension zones is always a power of two. All dimensions can have up to 32 zones (except the layer dimension with only up to 8 zones and the samplechannel dimension which currently allows only 2 zones).
enum gig::lfo1_ctrl_t |
Defines how LFO1 is controlled by.
enum gig::lfo2_ctrl_t |
Defines how LFO2 is controlled by.
enum gig::lfo3_ctrl_t |
Defines how LFO3 is controlled by.
enum gig::loop_type_t |
enum gig::smpte_format_t |
Society of Motion Pictures and Television E time format.
enum gig::split_type_t |
Defines how the filter cutoff frequency is controlled by.
enum gig::vcf_res_ctrl_t |
Defines how the filter resonance is controlled by.
enum gig::vcf_type_t |
static void gig::__divide_progress | ( | progress_t * | pParentProgress, | |
progress_t * | pSubProgress, | |||
float | totalTasks, | |||
float | currentTask | |||
) | [static] |
Definition at line 75 of file gig.cpp.
References gig::progress_t::__range_max, gig::progress_t::__range_min, gig::progress_t::callback, and gig::progress_t::custom.
Referenced by gig::File::GetInstrument(), and gig::File::LoadInstruments().
static void gig::__notify_progress | ( | progress_t * | pProgress, | |
float | subprogress | |||
) | [static] |
Definition at line 65 of file gig.cpp.
References gig::progress_t::__range_max, gig::progress_t::__range_min, gig::progress_t::callback, and gig::progress_t::factor.
Referenced by gig::File::GetInstrument(), gig::Instrument::Instrument(), gig::File::LoadInstruments(), and gig::File::LoadSamples().
static split_type_t gig::__resolveSplitType | ( | dimension_t | dimension | ) | [static] |
Definition at line 261 of file gig.cpp.
References dimension_keyboard, dimension_layer, dimension_random, dimension_releasetrigger, dimension_roundrobin, dimension_roundrobinkeyboard, dimension_samplechannel, dimension_smartmidi, split_type_bit, and split_type_normal.
Referenced by gig::Region::AddDimension(), and gig::Region::Region().
static int gig::__resolveZoneSize | ( | dimension_def_t & | dimension_definition | ) | [static] |
Definition at line 274 of file gig.cpp.
References gig::dimension_def_t::split_type, split_type_normal, and gig::dimension_def_t::zones.
Referenced by gig::Region::AddDimension(), and gig::Region::Region().
void gig::@5::Decompress16 | ( | int | compressionmode, | |
const unsigned char * | params, | |||
int | srcStep, | |||
int | dstStep, | |||
const unsigned char * | pSrc, | |||
int16_t * | pDst, | |||
unsigned long | currentframeoffset, | |||
unsigned long | copysamples | |||
) | [static] |
void gig::@5::Decompress24 | ( | int | compressionmode, | |
const unsigned char * | params, | |||
int | dstStep, | |||
const unsigned char * | pSrc, | |||
uint8_t * | pDst, | |||
unsigned long | currentframeoffset, | |||
unsigned long | copysamples, | |||
int | truncatedBits | |||
) | [static] |
int gig::@5::get12hi | ( | const unsigned char * | pSrc | ) | [inline, static] |
int gig::@5::get12lo | ( | const unsigned char * | pSrc | ) | [inline, static] |
int16_t gig::@5::get16 | ( | const unsigned char * | pSrc | ) | [inline, static] |
int gig::@5::get24 | ( | const unsigned char * | pSrc | ) | [inline, static] |
String gig::libraryName | ( | ) |
Returns the name of this C++ library.
This is usually "libgig" of course. This call is equivalent to RIFF::libraryName() and DLS::libraryName().
String gig::libraryVersion | ( | ) |
Returns version of this C++ library.
This call is equivalent to RIFF::libraryVersion() and DLS::libraryVersion().
void gig::@5::store24 | ( | unsigned char * | pDst, | |
int | x | |||
) | [inline, static] |
const int gig::bitsPerSample[] = { 16, 8, 24, 16, 12, 8 } [static] |
const int gig::bytesPerFrame[] = { 4096, 2052, 768, 524, 396, 268 } [static] |
const int gig::bytesPerFrameNoHdr[] = { 4096, 2048, 768, 512, 384, 256 } [static] |
const int gig::headerSize[] = { 0, 4, 0, 12, 12, 12 } [static] |