#include "gig.h"
#include "helper.h"
#include <algorithm>
#include <math.h>
#include <iostream>
Go to the source code of this file.
Namespaces | |
namespace | gig |
Gigasampler specific classes and definitions. | |
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 | 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_EXP_ENCODE(x) (log(x) / log(1.000000008813822)) |
#define | GIG_PITCH_TRACK_EXTRACT(x) (!(x & 0x01)) |
#define | GIG_PITCH_TRACK_ENCODE(x) ((x) ? 0x00 : 0x01) |
#define | GIG_VCF_RESONANCE_CTRL_EXTRACT(x) ((x >> 4) & 0x03) |
#define | GIG_VCF_RESONANCE_CTRL_ENCODE(x) ((x & 0x03) << 4) |
#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) |
#define | GIG_EG_CTR_ATTACK_INFLUENCE_ENCODE(x) ((x & 0x03) << 1) |
#define | GIG_EG_CTR_DECAY_INFLUENCE_ENCODE(x) ((x & 0x03) << 3) |
#define | GIG_EG_CTR_RELEASE_INFLUENCE_ENCODE(x) ((x & 0x03) << 5) |
#define | GET_PARAMS(params) |
#define | SKIP_ONE(x) |
#define | COPY_ONE(x) |
Functions | |
String | gig::libraryName () |
Returns the name of this C++ library. | |
String | gig::libraryVersion () |
Returns version of this C++ library. |
#define COPY_ONE | ( | x | ) |
Value:
SKIP_ONE(x); \ store24(pDst, y << truncatedBits); \ pDst += dstStep
#define GET_PARAMS | ( | params | ) |
Value:
y = get24(params); \ dy = y - get24((params) + 3); \ ddy = get24((params) + 6); \ dddy = get24((params) + 9)
#define GIG_EG_CTR_ATTACK_INFLUENCE_ENCODE | ( | x | ) | ((x & 0x03) << 1) |
#define GIG_EG_CTR_ATTACK_INFLUENCE_EXTRACT | ( | x | ) | ((x >> 1) & 0x03) |
#define GIG_EG_CTR_DECAY_INFLUENCE_ENCODE | ( | x | ) | ((x & 0x03) << 3) |
#define GIG_EG_CTR_DECAY_INFLUENCE_EXTRACT | ( | x | ) | ((x >> 3) & 0x03) |
#define GIG_EG_CTR_RELEASE_INFLUENCE_ENCODE | ( | x | ) | ((x & 0x03) << 5) |
#define GIG_EG_CTR_RELEASE_INFLUENCE_EXTRACT | ( | x | ) | ((x >> 5) & 0x03) |
#define GIG_EXP_DECODE | ( | x | ) | (pow(1.000000008813822, x)) |
(so far) every exponential paramater in the gig format has a basis of 1.000000008813822
Definition at line 40 of file gig.cpp.
Referenced by gig::DimensionRegion::DimensionRegion().
#define GIG_EXP_ENCODE | ( | x | ) | (log(x) / log(1.000000008813822)) |
#define GIG_PITCH_TRACK_ENCODE | ( | x | ) | ((x) ? 0x00 : 0x01) |
#define GIG_PITCH_TRACK_EXTRACT | ( | x | ) | (!(x & 0x01)) |
#define GIG_VCF_RESONANCE_CTRL_ENCODE | ( | x | ) | ((x & 0x03) << 4) |
#define GIG_VCF_RESONANCE_CTRL_EXTRACT | ( | x | ) | ((x >> 4) & 0x03) |
#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.
Definition at line 37 of file gig.cpp.
Referenced by gig::Sample::Sample().
#define SKIP_ONE | ( | x | ) |
Value:
dddy -= (x); \ ddy -= dddy; \ dy = -dy - ddy; \ y += dy