#include "DLS.h"
#include <math.h>
#include <string.h>
Go to the source code of this file.
Namespaces | |
namespace | gig |
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::Instrument |
Provides all neccessary information for the synthesis of an Instrument. 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... | |
Defines | |
#define | INITIAL_SAMPLE_BUFFER_SIZE 512000 |
Initial size of the sample buffer which is used for decompression of compressed sample wave streams - this value should always be bigger than the biggest sample piece expected to be read by the sampler engine, otherwise the buffer size will be raised at runtime and thus the buffer reallocated which is time consuming and unefficient. | |
#define | LIST_TYPE_3PRG 0x67727033 |
#define | LIST_TYPE_3EWL 0x6C776533 |
#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 | GIG_EXP_DECODE(x) (pow(1.000000008813822, x)) |
(so far) every exponential paramater in the gig format has a basis of 1.000000008813822 | |
#define | GIG_PITCH_TRACK_EXTRACT(x) (!(x & 0x01)) |
#define | GIG_VCF_RESONANCE_CTRL_EXTRACT(x) ((x >> 4) & 0x03) |
#define | GIG_EG_CTR_ATTACK_INFLUENCE_EXTRACT(x) ((x >> 1) & 0x03) |
#define | GIG_EG_CTR_DECAY_INFLUENCE_EXTRACT(x) ((x >> 3) & 0x03) |
#define | GIG_EG_CTR_RELEASE_INFLUENCE_EXTRACT(x) ((x >> 5) & 0x03) |
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_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_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_customvelocity, 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. |
|
Definition at line 53 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Definition at line 55 of file gig.h. Referenced by gig::Instrument::Instrument(). |
|
Definition at line 52 of file gig.h. Referenced by gig::Sample::Sample(). |
|
Definition at line 54 of file gig.h. Referenced by gig::Region::Region(). |
|
Definition at line 56 of file gig.h. Referenced by gig::Sample::Sample(). |
|
Definition at line 51 of file gig.h. Referenced by gig::Sample::Sample(). |
|
Definition at line 63 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Definition at line 64 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Definition at line 65 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
(so far) every exponential paramater in the gig format has a basis of 1.000000008813822
Definition at line 60 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Definition at line 61 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Definition at line 62 of file gig.h. Referenced by gig::DimensionRegion::DimensionRegion(). |
|
Initial size of the sample buffer which is used for decompression of compressed sample wave streams - this value should always be bigger than the biggest sample piece expected to be read by the sampler engine, otherwise the buffer size will be raised at runtime and thus the buffer reallocated which is time consuming and unefficient.
Definition at line 37 of file gig.h. Referenced by gig::Sample::Sample(). |
|
Definition at line 50 of file gig.h. Referenced by gig::Region::LoadDimensionRegions(). |
|
Definition at line 49 of file gig.h. Referenced by gig::Region::LoadDimensionRegions(). |