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;
35 bool debug_fft_perf_enabled;
36 bool original_samples_enabled;
39 size_t frame_size, frame_step;
40 size_t zero_values_at_start_scaled;
41 size_t loop_start_scaled;
42 size_t loop_end_scaled;
45 float current_mix_freq;
52 double original_sample_pos;
53 double original_samples_norm_factor;
61 std::vector<float> unison_phases[2];
62 std::vector<float> unison_freq_factor;
64 Random unison_phase_random_gen;
66 Audio::LoopType get_loop_type();
73 void enable_noise (
bool ne);
74 void enable_sines (
bool se);
75 void enable_debug_fft_perf (
bool dfp);
76 void enable_original_samples (
bool eos);
77 void enable_loop (
bool eloop);
78 void set_noise_seed (
int seed);
79 void set_unison_voices (
int voices,
float detune);
81 void precompute_tables (
float mix_freq);
82 void retrigger (
int channel,
float freq,
int midi_velocity,
float mix_freq);
83 void process (
size_t n_values,
85 const float *freq_mod_in,
88 static size_t compute_loop_frame_index (
size_t index,
Audio *audio);
Definition: smpolyphaseinter.hh:11
Audio sample containing many blocks.
Definition: smaudio.hh:80
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