BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Defines | Functions | Variables
bsemathsignal.hh File Reference
#include <bse/bsemath.hh>
#include <bse/bseglobals.hh>
#include <bse/bsetype.hh>

Go to the source code of this file.

Classes

struct  BseFrequencyModulator

Defines

#define BSE_SIGNAL_EPSILON
 smallest value of a signal sample, greater than zero
#define BSE_SIGNAL_KAPPA
 maximum value of a signal sample
#define BSE_SIGNAL_RAISING_EDGE(v1, v2)
 Catch edges in sync signals.
#define BSE_SIGNAL_FALLING_EDGE(v1, v2)
 Inverse variant of BSE_SIGNAL_RAISING_EDGE().
#define BSE_SIGNAL_FREQ_CHANGED(v1, v2)
 Value changes in signals which represent frequencies.
#define BSE_SIGNAL_FREQ_EQUALS(v1, v2)
 Inverse variant of BSE_SIGNAL_FREQ_CHANGED().
#define BSE_SIGNAL_MOD_CHANGED(v1, v2)
 Value changes in signals which represent modulation.
#define BSE_SIGNAL_GAIN_CHANGED(v1, v2)
 Value changes in signals which represent dB ranges.
#define BSE_SIGNAL_TO_FREQ_FACTOR
 Convert between literal frequencies and signal values.
#define BSE_SIGNAL_FROM_FREQ_FACTOR
#define BSE_SIGNAL_TO_FREQ(value)
#define BSE_SIGNAL_FROM_FREQ(freq)
#define BSE_SIGNAL_CLIP(v)

Functions

void bse_frequency_modulator (const BseFrequencyModulator *fm, guint n_values, const gfloat *ifreq, const gfloat *ifmod, gfloat *fm_buffer)
double bse_window_bartlett (double x)
double bse_window_blackman (double x)
double bse_window_cos (double x)
double bse_window_hamming (double x)
double bse_window_sinc (double x)
double bse_window_rect (double x)
double bse_approx_atan1_prescale (double boost_amount)
const doublebse_semitone_table_from_tuning (BseMusicalTuningType musical_tuning)
double bse_transpose_factor (BseMusicalTuningType musical_tuning, int index)
double bse_cent_tune (double fine_tune)
void _bse_init_signal (void)

Variables

const double *const bse_cent_table

Detailed Description


Define Documentation

#define BSE_SIGNAL_RAISING_EDGE (   v1,
  v2 
)

Catch edges in sync signals.

sync signals should be constant, do comparing against an epsilon just hurts speed in the common case.


Function Documentation

Parameters:
boost_amountboost amount between [0..1]
Returns:
prescale factor for bse_approx_atan1()

Calculate the prescale factor for bse_approx_atan1(x*prescale) from a linear boost factor, where 0.5 amounts to prescale=1.0, 1.0 results in maximum boost and 0.0 results in maximum attenuation.

double bse_cent_tune ( double  fine_tune)
Parameters:
fine_tunefine tuning in cent
Returns:
a factor corresponding to this

This function computes a factor which corresponds to a given fine tuning in cent. The result can be used as factor for the frequency or the play speed. It is similar to the bse_cent_tune_fast(), but also works for non-integer floating point values. It is however computationally more expensive.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines