|
LMMS
|
Classes | |
| class | audio_effect |
| class | modulation_effect |
| class | simple_phaser |
| class | chorus_base |
| class | simple_chorus |
| class | simple_flanger |
| class | reverb |
| class | filter_module_iface |
| class | biquad_filter_module |
| class | two_band_eq |
| class | simple_lfo |
| class | lookahead_limiter |
| Lookahead Limiter by Markus Schmidt and Christian Holschuh. More... | |
| class | transients |
| class | crossover |
| class | bitreduction |
| class | resampleN |
| class | samplereduction |
| class | tap_distortion |
| class | overlap_window |
| class | median_stat |
| struct | benchmark_globals |
| class | simple_benchmark |
| class | biquad_coeffs |
| struct | biquad_d1 |
| struct | biquad_d2 |
| struct | biquad_d1_lerp |
| class | filter_compose |
| Compose two filters in series. More... | |
| class | filter_sum |
| Compose two filters in parallel. More... | |
| struct | sample_traits |
| struct | sample_traits< stereo_sample< T > > |
| class | fixed_size_buffer |
| class | mem_fixed_size_buffer |
| class | auto_buffer |
| class | dynamic_buffer |
| struct | buffer_traits |
| struct | buffer_traits< fixed_size_buffer< N, T > > |
| this class template defines some basic position operations for fixed_size_buffers More... | |
| class | circular_buffer |
| this is useless for now (and untested too) More... | |
| class | mono_auto_buffer |
| this is useless for now More... | |
| class | stereo_auto_buffer |
| this is useless for now More... | |
| class | bypass |
| struct | simple_delay |
| class | adsr |
| struct | fadeout |
| Simple linear fade out for note tails. More... | |
| class | fft |
| class | fixed_point |
| class | linear_ramp |
| Algorithm for a constant time linear ramp. More... | |
| class | exponential_ramp |
| Algorithm for a constant time linear ramp. More... | |
| class | inertia |
| class | once_per_n |
| class | gain_smoothing |
| class | switcher |
| class | aweighter |
| class | riaacurve |
| struct | modulation_entry |
| Single entry in modulation matrix. More... | |
| class | sine_multi_lfo |
| class | multichorus |
| class | onepole |
| struct | organ_parameters |
| class | organ_voice_base |
| class | organ_vibrato |
| A simple (and bad) simulation of scanner vibrato based on a series of modulated allpass filters. More... | |
| class | scanner_vibrato |
| class | organ_voice |
| class | percussion_voice |
| Not a true voice, just something with similar-ish interface. More... | |
| struct | drawbar_organ |
| struct | simple_oscillator |
| struct | bandlimiter |
| struct | waveform_family |
| Set of bandlimited wavetables. More... | |
| struct | waveform_oscillator |
| struct | triangle_lfo |
| struct | stereo_sample |
| class | decay |
| class | sine_table |
| struct | note_desc |
| class | keystack |
| class | voice |
| class | block_allvoices_base |
| class | block_voice |
| struct | basic_pool |
| A basic preallocated var-array with append and. More... | |
| struct | basic_synth |
| struct | vumeter |
| Peak meter class. More... | |
| struct | dual_vumeter |
| class | wave_player |
Typedefs | |
| typedef fixed_point< unsigned long long int, 24 > | wpos |
| wave position (unsigned 64-bit int including 24-bit fractional part) | |
| typedef fixed_point< unsigned int, 20 > | chorus_phase |
Enumerations | |
| enum | periodic_unit { UNIT_BPM , UNIT_MS , UNIT_HZ , UNIT_SYNC } |
Functions | |
| template<class T> | |
| void | do_simple_benchmark (int runs=5, int repeats=50000) |
| template<int N> | |
| int | wrap_around (int a) |
| decrease by N if >= N (useful for circular buffers) | |
| template<> | |
| int | wrap_around< 2 > (int a) |
| template<> | |
| int | wrap_around< 4 > (int a) |
| template<> | |
| int | wrap_around< 8 > (int a) |
| template<> | |
| int | wrap_around< 16 > (int a) |
| template<> | |
| int | wrap_around< 32 > (int a) |
| template<> | |
| int | wrap_around< 64 > (int a) |
| template<> | |
| int | wrap_around< 128 > (int a) |
| template<> | |
| int | wrap_around< 256 > (int a) |
| template<> | |
| int | wrap_around< 512 > (int a) |
| template<> | |
| int | wrap_around< 1024 > (int a) |
| template<> | |
| int | wrap_around< 2048 > (int a) |
| template<> | |
| int | wrap_around< 4096 > (int a) |
| template<> | |
| int | wrap_around< 8192 > (int a) |
| template<> | |
| int | wrap_around< 16384 > (int a) |
| template<> | |
| int | wrap_around< 32768 > (int a) |
| template<> | |
| int | wrap_around< 65536 > (int a) |
| template<class Buf, class T> | |
| void | fill (Buf &buf, T value) |
| template<class T> | |
| void | fill (T *data, int size, T value) |
| template<class T, class U> | |
| void | copy (T *dest, U *src, int size, T scale=1, T add=0) |
| template<class T, class U> | |
| void | copy_buf (T &dest_buf, const U &src_buf, T scale=1, T add=0) |
| uint32_t | shr (uint32_t v, int bits=1) |
| int32_t | shr (int32_t v, int bits=1) |
| uint64_t | shr (uint64_t v, int bits=1) |
| int64_t | shr (int64_t v, int bits=1) |
| float | shr (float v, int bits=1) |
| double | shr (double v, int bits=1) |
| template<class T, int FracBits> | |
| T | shr (T v, int bits=1) |
| template<class T, int FractBits> | |
| fixed_point< T, FractBits > | operator* (int v, fixed_point< T, FractBits > v2) |
| static void | normalize_waveform (float *table, unsigned int size) |
| Simple stupid inline function to normalize a waveform (by removing DC offset and ensuring max absolute value of 1). | |
| void | zero (float &v) |
| Set a float to zero. | |
| void | zero (double &v) |
| Set a double to zero. | |
| void | zero (uint64_t &v) |
| Set 64-bit unsigned integer value to zero. | |
| void | zero (uint32_t &v) |
| Set 32-bit unsigned integer value to zero. | |
| void | zero (uint16_t &v) |
| Set 16-bit unsigned integer value to zero. | |
| void | zero (uint8_t &v) |
| Set 8-bit unsigned integer value to zero. | |
| void | zero (int64_t &v) |
| Set 64-bit signed integer value to zero. | |
| void | zero (int32_t &v) |
| Set 32-bit signed integer value to zero. | |
| void | zero (int16_t &v) |
| Set 16-bit signed integer value to zero. | |
| void | zero (int8_t &v) |
| Set 8-bit signed integer value to zero. | |
| template<class T> | |
| void | zero (T *data, unsigned int size) |
| Set array (buffer or anything similar) to vector of zeroes. | |
| template<class T> | |
| void | fill (T *data, T value, unsigned int size) |
| Set array (buffer or anything similar) to vector of values. | |
| template<class T> | |
| stereo_sample< T > | operator* (const T &value, const stereo_sample< T > &value2) |
| Multiply constant by stereo_value. | |
| template<class T> | |
| stereo_sample< T > | operator+ (const T &value, const stereo_sample< T > &value2) |
| Add constant to stereo_value. | |
| template<class T> | |
| stereo_sample< T > | operator- (const T &value, const stereo_sample< T > &value2) |
| Subtract stereo_value from constant (yields stereo_value of course). | |
| template<typename T> | |
| stereo_sample< T > | shr (stereo_sample< T > v, int bits=1) |
| Shift value right by 'bits' bits (multiply by 2^-bits). | |
| template<typename T> | |
| void | zero (stereo_sample< T > &v) |
| Set a stereo_sample<T> value to zero. | |
| template<typename T> | |
| T | small_value () |
| 'Small value' for integer and other types | |
| template<> | |
| float | small_value< float > () |
| 'Small value' for floats (2^-24) - used for primitive underrun prevention. The value is pretty much arbitrary (allowing for 24-bit signals normalized to 1.0). | |
| template<> | |
| double | small_value< double > () |
| 'Small value' for doubles (2^-24) - used for primitive underrun prevention. The value is pretty much arbitrary. | |
| template<typename T> | |
| float | mono (T v) |
| Convert a single value to single value = do nothing :) (but it's a generic with specialisation for stereo_sample). | |
| template<typename T> | |
| T | mono (stereo_sample< T > v) |
| Convert a stereo_sample to single value by averaging two channels. | |
| template<typename T> | |
| T | clip (T value, T min, T max) |
| Clip a value to [min, max]. | |
| double | clip11 (double value) |
| Clip a double to [-1.0, +1.0]. | |
| float | clip11 (float value) |
| Clip a float to [-1.0f, +1.0f]. | |
| double | clip01 (double value) |
| Clip a double to [0.0, +1.0]. | |
| float | clip01 (float value) |
| Clip a float to [0.0f, +1.0f]. | |
| template<typename T, typename U> | |
| T | lerp (T v1, T v2, U mix) |
| template<typename T> | |
| stereo_sample< T > | lerp (stereo_sample< T > &v1, stereo_sample< T > &v2, float mix) |
| void | sanitize (float &value) |
| float | _sanitize (float value) |
| void | sanitize_denormal (float &value) |
| void | sanitize_denormal (double &value) |
| void | sanitize (double &value) |
| double | _sanitize (double value) |
| template<class T> | |
| void | sanitize (stereo_sample< T > &value) |
| float | fract16 (unsigned int value) |
| int | fastf2i_drm (float f) |
| fast float to int conversion using default rounding mode | |
| float | note_to_hz (double note, double detune_cents=0.0) |
| Convert MIDI note to frequency in Hz. | |
| float | normalized_hermite (float t, float p0, float p1, float m0, float m1) |
| float | hermite_interpolation (float x, float x0, float x1, float p0, float p1, float m0, float m1) |
| float | amp2dB (float amp) |
| convert amplitude value to dB | |
| float | dB2amp (float db) |
| convert dB to amplitude value | |
| void | print_bits (size_t const size, void const *const ptr) |
| note_desc | hz_to_note (double hz, double tune) |
| double | convert_periodic (double val, periodic_unit unit_in, periodic_unit unit_out) |
| unsigned int | midi_note_to_phase (int note, double cents, int sr) |
| template<class T> | |
| bool | load_wave (dsp::dynamic_buffer< T > &dest, const char *file_name) |
Variables | |
| template<class T, int N, int Multiplier> | |
| bool | sine_table< T, N, Multiplier >::initialized = false |
| template<class T, int N, int Multiplier> | |
| T | sine_table< T, N, Multiplier >::data [N+1] |
| typedef fixed_point<unsigned int, 20> dsp::chorus_phase |
| typedef fixed_point<unsigned long long int, 24> dsp::wpos |
wave position (unsigned 64-bit int including 24-bit fractional part)
| enum dsp::periodic_unit |
|
inline |
|
inline |
|
inline |
convert amplitude value to dB
|
inline |
Clip a value to [min, max].
|
inline |
Clip a double to [0.0, +1.0].
|
inline |
Clip a float to [0.0f, +1.0f].
|
inline |
Clip a double to [-1.0, +1.0].
|
inline |
Clip a float to [-1.0f, +1.0f].
|
inline |
| void dsp::copy_buf | ( | T & | dest_buf, |
| const U & | src_buf, | ||
| T | scale = 1, | ||
| T | add = 0 ) |
|
inline |
convert dB to amplitude value
|
inline |
fast float to int conversion using default rounding mode
| void dsp::fill | ( | Buf & | buf, |
| T | value ) |
Set array (buffer or anything similar) to vector of values.
|
inline |
|
inline |
Hermite interpolation between two points and slopes
|
inline |
|
inline |
| bool dsp::load_wave | ( | dsp::dynamic_buffer< T > & | dest, |
| const char * | file_name ) |
Convert MIDI note number to normalized UINT phase (where 1<<32 is full cycle).
| MIDI | note number |
| cents | detune in cents (1/100 of a semitone) |
| sr | sample rate |
|
inline |
Convert a stereo_sample to single value by averaging two channels.
|
inline |
Convert a single value to single value = do nothing :) (but it's a generic with specialisation for stereo_sample).
Simple stupid inline function to normalize a waveform (by removing DC offset and ensuring max absolute value of 1).
|
inline |
Hermite interpolation between two points and slopes in normalized range (written after Wikipedia article)
|
inline |
Convert MIDI note to frequency in Hz.
|
inline |
Multiply constant by stereo_value.
|
inline |
|
inline |
Add constant to stereo_value.
|
inline |
Subtract stereo_value from constant (yields stereo_value of course).
print binary of any data type assumes little endian
|
inline |
Force "small enough" double value to zero
|
inline |
Force "small enough" float value to zero
|
inline |
Force "small enough" stereo value to zero
|
inline |
Force already-denormal float value to zero
|
inline |
Force already-denormal float value to zero
|
inline |
|
inline |
|
inline |
|
inline |
Shift value right by 'bits' bits (multiply by 2^-bits).
|
inline |
|
inline |
'Small value' for integer and other types
|
inline |
'Small value' for doubles (2^-24) - used for primitive underrun prevention. The value is pretty much arbitrary.
|
inline |
'Small value' for floats (2^-24) - used for primitive underrun prevention. The value is pretty much arbitrary (allowing for 24-bit signals normalized to 1.0).
decrease by N if >= N (useful for circular buffers)
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set a double to zero.
|
inline |
Set a float to zero.
|
inline |
Set 64-bit signed integer value to zero.
|
inline |
Set a stereo_sample<T> value to zero.
Set array (buffer or anything similar) to vector of zeroes.
|
inline |
Set 64-bit unsigned integer value to zero.
| T dsp::sine_table< T, N, Multiplier >::data[N+1] |
| bool dsp::sine_table< T, N, Multiplier >::initialized = false |