3 #ifndef SPECTMORPH_LIVEDECODER_HH     4 #define SPECTMORPH_LIVEDECODER_HH     7 #include "smsinedecoder.hh"     8 #include "smnoisedecoder.hh"     9 #include "smlivedecodersource.hh"    10 #include "smpolyphaseinter.hh"    11 #include "smalignedarray.hh"    23   std::vector<PartialState> pstate[2], *last_pstate;
    25   struct PortamentoState {
    26     std::vector<float> buffer;
    43   bool                debug_fft_perf_enabled;
    44   bool                original_samples_enabled;
    47   size_t              frame_size, frame_step;
    48   size_t              zero_values_at_start_scaled;
    49   size_t              loop_start_scaled;
    50   size_t              loop_end_scaled;
    53   float               current_mix_freq;
    60   double              original_sample_pos;
    61   double              original_samples_norm_factor;
    69   std::vector<float>  unison_phases[2];
    70   std::vector<float>  unison_freq_factor;
    72   Random              unison_phase_random_gen;
    77   float               vibrato_frequency;
    82   Audio::LoopType     get_loop_type();
    84   void process_internal (
size_t       n_values,
    86                          float        portamento_stretch);
    88   void portamento_grow (
double end_pos, 
float portamento_stretch);
    89   void portamento_shrink();
    91   void process_portamento (
size_t       n_values,
    94   void process_vibrato (
size_t       n_values,
   102   void enable_noise (
bool ne);
   103   void enable_sines (
bool se);
   104   void enable_debug_fft_perf (
bool dfp);
   105   void enable_original_samples (
bool eos);
   106   void enable_loop (
bool eloop);
   107   void set_noise_seed (
int seed);
   108   void set_unison_voices (
int voices, 
float detune);
   109   void set_vibrato (
bool enable_vibrato, 
float depth, 
float frequency, 
float attack);
   111   void precompute_tables (
float mix_freq);
   112   void retrigger (
int channel, 
float freq, 
int midi_velocity, 
float mix_freq);
   113   void process (
size_t       n_values,
   114                 const float *freq_in,
   117   static size_t compute_loop_frame_index (
size_t index, 
Audio *audio);
 Definition: smpolyphaseinter.hh:12
Audio sample containing many blocks. 
Definition: smaudio.hh:81
Definition: smwavset.hh:28
Definition: smlivedecodersource.hh:10
Definition: smrandom.hh:14
Definition: smifftsynth.hh:15
Definition: smalignedarray.cc:7
Definition: smlivedecoder.hh:16
Decoder for the noise component (stochastic component) of the signal. 
Definition: smnoisedecoder.hh:16