libgig
4.3.0
|
Gigasampler/GigaStudio specific classes and definitions. More...
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 | eg_opt_t |
Defines behavior options for envelope generators (gig format extension). More... | |
class | DimensionRegion |
Encapsulates articulation informations of a dimension region. More... | |
class | Sample |
Encapsulates sample waves of Gigasampler/GigaStudio files used for playback. More... | |
class | Region |
Defines Region information of a Gigasampler/GigaStudio instrument. More... | |
class | MidiRule |
Abstract base class for all MIDI rules. More... | |
class | MidiRuleCtrlTrigger |
MIDI rule for triggering notes by control change events. More... | |
class | MidiRuleLegato |
MIDI rule for instruments with legato samples. More... | |
class | MidiRuleAlternator |
MIDI rule to automatically cycle through specified sequences of different articulations. More... | |
class | MidiRuleUnknown |
A MIDI rule not yet implemented by libgig. More... | |
class | Script |
Real-time instrument script (gig format extension). More... | |
class | ScriptGroup |
Group of instrument scripts (gig format extension). More... | |
class | Instrument |
Provides access to a Gigasampler/GigaStudio instrument. More... | |
class | Group |
Group of Gigasampler samples. More... | |
class | File |
Provides convenient access to Gigasampler/GigaStudio .gig files. 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 RIFF::progress_t | progress_t |
typedef RIFF::file_offset_t | file_offset_t |
typedef leverage_ctrl_t | attenuation_ctrl_t |
Defines controller influencing attenuation. More... | |
typedef leverage_ctrl_t | eg1_ctrl_t |
Defines controller influencing envelope generator 1. More... | |
typedef leverage_ctrl_t | eg2_ctrl_t |
Defines controller influencing envelope generator 2. More... | |
Functions | |
size_t | enumCount (String typeName) |
Amount of elements in given enum type. More... | |
const char * | enumKey (String typeName, size_t value) |
Enum constant name of numeric value. More... | |
bool | enumKey (String typeName, String key) |
Check if enum element exists. More... | |
const char ** | enumKeys (String typeName) |
All element names of enum type. More... | |
size_t | enumValue (String key) |
Numeric value of enum constant. More... | |
String | libraryName () |
Returns the name of this C++ library. More... | |
String | libraryVersion () |
Returns version of this C++ library. More... | |
std::array< uint8_t, 16 > | _UUIDFromCArray (const uint8_t *pData) |
type cast (by copy) uint8_t[16] -> std::array<uint8_t,16> | |
size_t | enumCount (const std::type_info &type) |
Amount of elements in given enum type. More... | |
bool | enumKey (const std::type_info &type, String key) |
Check if enum element exists. More... | |
const char * | enumKey (const std::type_info &type, size_t value) |
Enum constant name of numeric value. More... | |
const char ** | enumKeys (const std::type_info &type) |
All element names of enum type. More... | |
Gigasampler/GigaStudio specific classes and definitions.
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.
enum gig::curve_type_t |
Defines the shape of a function graph.
Enumerator | |
---|---|
curve_type_nonlinear | Non-linear curve type. |
curve_type_linear | Linear curve type. |
curve_type_special | Special curve type. |
curve_type_unknown | Unknown curve type. |
Dimensions allow to bypass one of the following controllers.
Enumerator | |
---|---|
dim_bypass_ctrl_none | No controller bypass. |
dim_bypass_ctrl_94 | Effect 4 Depth (MIDI Controller 94) |
dim_bypass_ctrl_95 | Effect 5 Depth (MIDI Controller 95) |
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::lfo_wave_t |
Defines the wave form type used by an LFO (gig format extension).
This is a gig format extension. The original Gigasampler/GigaStudio software always used a sine (sinus) wave form for all its 3 LFOs, so this was not configurable in the original gig format. Accordingly setting any other wave form than sine (sinus) will be ignored by the original Gigasampler/GigaStudio software.
enum gig::loop_type_t |
Standard types of sample loops.
Enumerator | |
---|---|
loop_type_normal | Loop forward (normal) |
loop_type_bidirectional | Alternating loop (forward/backward, also known as Ping Pong) |
loop_type_backward | Loop backward (reverse) |
enum gig::smpte_format_t |
Society of Motion Pictures and Television E time format.
enum gig::split_type_t |
Intended for internal usage: will be used to convert a dimension value into the corresponding dimension bit number.
Enumerator | |
---|---|
split_type_normal | dimension value between 0-127 |
split_type_bit | dimension values are already the sought bit number |
enum gig::sust_rel_trg_t |
Defines behaviour of release triggered sample(s) on sustain pedal up event.
This option defines whether a sustain pedal up event (CC#64) would cause release triggered samples to be played (if any).
Note: This option is an extension to the original gig file format, so this option is not available with the original Gigasampler/GigaStudio software! Currently only LinuxSampler and gigedit support this option!
By default (which equals the original Gigasampler/GigaStudio behaviour) no release triggered samples are played if the sustain pedal is released. So usually in the gig format release triggered samples are only played on MIDI note-off events.
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 |
Audio filter types.
The first 5 filter types are the ones which exist in GigaStudio, and which are very accurately modeled on LinuxSampler side such that they would sound with LinuxSampler exactly as with GigaStudio.
The other filter types listed here are extensions to the gig format and are LinuxSampler specific filter type implementations. Note that none of these are duplicates of the GigaStudio filter types. For instance vcf_type_lowpass
(GigaStudio) and vcf_type_lowpass_2p
(LinuxSampler) are both lowpass filters with 2 poles, however they do sound differently.
size_t gig::enumCount | ( | const std::type_info & | type | ) |
Amount of elements in given enum type.
Returns the amount of elements of the enum type given by type. If the requested enum type is unknown, then this function returns 0
instead.
Use the typeid()
keyword of C++ to get a std::type_info
object.
type | - enum type of interest |
Definition at line 206 of file typeinfo.cpp.
References enumCount().
size_t gig::enumCount | ( | String | typeName | ) |
Amount of elements in given enum type.
Returns the amount of elements of the enum type with raw C++ type name typeName. If the requested enum type is unknown, then this function returns 0
instead.
Note: you MUST pass the raw C++ type name, not a demangled human readable C++ type name. On doubt use the overloaded function which takes a std::type_info
as argument instead.
typeName | - raw C++ type name of enum |
Definition at line 190 of file typeinfo.cpp.
Referenced by enumCount().
const char* gig::enumKey | ( | const std::type_info & | type, |
size_t | value | ||
) |
Enum constant name of numeric value.
Returns the enum constant name (a.k.a. enum element name) for the given numeric value and the given enum type. If either the requested enum type or enum constant numeric value is unknown, then this function returns NULL
instead.
If the requested enum type contains several enum elements with the requested numeric enum value, then this function will simply return one of them, it is undefined which one it would return exactly in this case.
Use the typeid()
keyword of C++ to get a std::type_info
object.
type | - enum type of interest |
value | - numeric value of sought enum constant |
true
if requested enum element exists Definition at line 305 of file typeinfo.cpp.
References enumKey().
bool gig::enumKey | ( | const std::type_info & | type, |
String | key | ||
) |
Check if enum element exists.
Checks whether the enum constant with name key of requested enum type exists. If either the requested enum type or enum constant is unknown, then this function returns false
instead.
Use the typeid()
keyword of C++ to get a std::type_info
object.
type | - enum type of interest |
key | - name of enum constant |
true
if requested enum element exists Definition at line 257 of file typeinfo.cpp.
References enumKey().
const char * gig::enumKey | ( | String | typeName, |
size_t | value | ||
) |
Enum constant name of numeric value.
Returns the enum constant name (a.k.a. enum element name) for the given numeric value and the enum type with raw C++ enum type name typeName. If either the requested enum type or enum constant numeric value is unknown, then this function returns NULL
instead.
If the requested enum type contains several enum elements with the requested numeric enum value, then this function will simply return one of them, it is undefined which one it would return exactly in this case.
Note: you MUST pass the raw C++ type name, not a demangled human readable C++ type name. On doubt use the overloaded function which takes a std::type_info
as argument instead.
typeName | - raw C++ type name of enum |
value | - numeric value of sought enum constant |
true
if requested enum element exists Definition at line 280 of file typeinfo.cpp.
Referenced by enumKey().
bool gig::enumKey | ( | String | typeName, |
String | key | ||
) |
Check if enum element exists.
Checks whether the enum constant with name key of enum type with raw C++ enum type name typeName exists. If either the requested enum type or enum constant is unknown, then this function returns false
instead.
Note: you MUST pass the raw C++ type name, not a demangled human readable C++ type name. On doubt use the overloaded function which takes a std::type_info
as argument instead.
typeName | - raw C++ type name of enum |
key | - name of enum constant |
true
if requested enum element exists Definition at line 239 of file typeinfo.cpp.
const char** gig::enumKeys | ( | const std::type_info & | type | ) |
All element names of enum type.
Returns a NULL terminated array of C strings of all enum constant names of the given enum type. If the requested enum type is unknown, then this function returns NULL
instead.
Use the typeid()
keyword of C++ to get a std::type_info
object.
type | - enum type of interest |
Definition at line 342 of file typeinfo.cpp.
References enumKeys().
const char ** gig::enumKeys | ( | String | typeName | ) |
All element names of enum type.
Returns a NULL terminated array of C strings of all enum constant names of the given enum type with raw C++ enum type name typeName. If the requested enum type is unknown, then this function returns NULL
instead.
Note: you MUST pass the raw C++ type name, not a demangled human readable C++ type name. On doubt use the overloaded function which takes a std::type_info
as argument instead.
typeName | - raw C++ type name of enum |
Definition at line 323 of file typeinfo.cpp.
Referenced by enumKeys().
size_t gig::enumValue | ( | String | key | ) |
Numeric value of enum constant.
Returns the numeric value (assigned at library compile time) to the enum constant with given name. If the requested enum constant is unknown, then this function returns 0
instead.
key | - enum constant name |
Definition at line 219 of file typeinfo.cpp.
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().