|
| static int | getMergeableDescriptor (uint8_t note, uint8_t sendto, bool legato, NotePool::NoteDescriptor *ndesc) |
| const char * | getStatus (int status_bits) |
| void | AnalogBiquadFilterA (const float coeff[5], float &src, float work[4]) |
| void | AnalogBiquadFilterB (const float coeff[5], float &src, float work[4]) |
| void | FFT_cleanup () |
| template<class _Tp> |
| std::complex< _Tp > | FFTpolar (const _Tp &__rho, const _Tp &__theta=_Tp(0)) |
| float | log_2 (float x) |
| int | max (int a, int b) |
| void | dump_json (std::ostream &o, const rtosc::Ports &p) |
| void * | data (next_t *n) |
| bool | platform_strcasestr (const char *hay, const char *needle) |
| bool | sfind (std::string hay, std::string needle) |
| static svec | split (string s) |
| static std::string | getCacheName (void) |
| static bvec | loadCache (void) |
| static void | saveCache (bvec vec) |
| static int | extract_num (const char *&msg) |
| static int | get_next_int (const char *msg) |
| static rtosc_version | version_in_rtosc_fmt () |
| string | loadfile (string fname) |
| static void | liblo_error_cb (int i, const char *m, const char *loc) |
| void | path_search (const char *m, const char *url) |
| static int | handler_function (const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data) |
| template<class T, class V> |
| std::vector< T > | keys (const std::map< T, V > &m) |
| void | deallocate (const char *str, void *v) |
| void | preparePadSynth (string path, PADnoteParameters *p, rtosc::RtData &d) |
| static std::vector< std::string > | getFiles (const char *folder, bool finddir) |
| static int | extractInt (const char *msg) |
| static const char * | chomp (const char *msg) |
| static void | assert_kit_sanity (const Part::Kit *kits) |
| static int | kit_usage (const Part::Kit *kits, int note, int mode) |
| static void | dummy (const char *, rtosc::RtData &) |
| template<class T> |
| T | capture (Master *m, std::string url) |
| template<> |
| std::string | capture (Master *m, std::string url) |
| template<> |
| void * | capture (Master *m, std::string url) |
| template<class T> |
| std::string | doCopy (MiddleWare &mw, string url, string name) |
| template<class T, typename... Ts> |
| void | doPaste (MiddleWare &mw, string url, string type, XMLwrapper &xml, Ts &&... args) |
| template<class T> |
| std::string | doArrayCopy (MiddleWare &mw, int field, string url, string name) |
| template<class T, typename... Ts> |
| void | doArrayPaste (MiddleWare &mw, int field, string url, string type, XMLwrapper &xml, Ts &&... args) |
| void | doClassPaste (std::string type, std::string type_, MiddleWare &mw, string url, XMLwrapper &data) |
| std::string | doClassCopy (std::string type, MiddleWare &mw, string url, string name) |
| void | doClassArrayPaste (std::string type, std::string type_, int field, MiddleWare &mw, string url, XMLwrapper &data) |
| std::string | doClassArrayCopy (std::string type, int field, MiddleWare &mw, string url, string name) |
| std::string | getUrlPresetType (std::string url, MiddleWare &mw) |
| std::string | getUrlType (std::string url) |
| void | presetCopy (MiddleWare &mw, std::string url, std::string name) |
| void | presetPaste (MiddleWare &mw, std::string url, std::string name) |
| void | presetCopyArray (MiddleWare &mw, std::string url, int field, std::string name) |
| void | presetPasteArray (MiddleWare &mw, std::string url, int field, std::string name) |
| void | presetDelete (int) |
| void | presetRescan () |
| std::string | presetClipboardType () |
| bool | presetCheckClipboardType () |
| Clipboard | clipboardCopy (class MiddleWare &mw, std::string url) |
| void | presetPaste (std::string url, int) |
| static const char * | escape_string (const char *msg) |
| void | dump_param_cb (const rtosc::Port *p, const char *full_name, const char *, const Ports &, void *v, void *) |
| float | VelF (float velocity, unsigned char scaling) |
| float | getdetune (unsigned char type, unsigned short int coarsedetune, unsigned short int finedetune) |
| bool | fileexists (const char *filename) |
| void | set_realtime () |
| void | os_usleep (long length) |
| std::size_t | os_guess_pid_length () |
| | returns pid padded, posix conform
|
| std::string | os_pid_as_padded_string () |
| | returns pid padded to maximum pid lenght, posix conform
|
| std::string | legalizeFilename (std::string filename) |
| void | invSignal (float *sig, size_t len) |
| float | interpolate (const float *data, size_t len, float pos) |
| float | cinterpolate (const float *data, size_t len, float pos) |
| char * | rtosc_splat (const char *path, std::set< std::string > v) |
| template<class T> |
| std::string | stringFrom (T x) |
| template<class T> |
| std::string | to_s (T x) |
| template<class T> |
| T | stringTo (const char *x) |
| template<class T> |
| T | limit (T val, T min, T max) |
| template<class T> |
| bool | inRange (T val, T min, T max) |
| template<class T> |
| T | array_max (const T *data, size_t len) |
| prng_t | prng_r (prng_t &p) |
| prng_t | prng (void) |
| void | sprng (prng_t p) |
| template<class T> |
| static void | nullify (T &t) |
| template<class T> |
| static void | arrayNullify (T &t) |
| void | waveShapeSmps (int n, float *smps, unsigned char type, unsigned char drive) |
| const char * | XMLwrapper_whitespace_callback (mxml_node_t *node, int where) |
| const mxml_node_t * | mxmlFindElement (const mxml_node_t *node, const mxml_node_t *top, const char *name, const char *attr, const char *value, int descend) |
| const char * | mxmlElementGetAttr (const mxml_node_t *node, const char *name) |
| const char * | trimLeadingWhite (const char *c) |
| ostream & | operator<< (ostream &out, const MidiEvent &ev) |
| static unsigned char | OssMidiParse (struct OssMidiParse &midi_parse, unsigned char cn, unsigned char b) |
| static size_t | resample (float *dest, const float *src, float s_in, float s_out, size_t elms) |
| void | PAfinish () |
| static void | normalize_max (float *f, size_t len) |
| static float | Pbwscale_translate (char Pbwscale) |
| float | setPbandwidth (int Pbandwidth) |
| | Return the BandWidth in cents Get the n-th overtone position relatively to N harmonic.
|
| float | getNhr (int n) const |
| void | applyparameters (void) |
| void | applyparameters (std::function< bool()> do_abort, unsigned max_threads=0) |
| | Compute the sample array from the other parameters. For the function's parameters, see sampleGenerator().
|
| void | export2wav (std::string basefilename) |
| int | sampleGenerator (PADnoteParameters::callback cb, std::function< bool()> do_abort, unsigned max_threads=0) |
| | PAD synth main function Generate spectrum and run IFFTs on it.
|
| void | generatespectrum_bandwidthMode (float *spectrum, int size, float basefreq, const float *profile, int profilesize, float bwadjust) const |
| void | generatespectrum_otherModes (float *spectrum, int size, float basefreq) const |
| void | deletesamples () |
| void | deletesample (int n) |
| static int | current_category (Filter *f) |
| void | clearAll (fft_t *freqs, int oscilsize) |
| void | clearDC (fft_t *freqs) |
| float | normal (const fft_t *freqs, off_t x) |
| float | abs (const fft_t *freqs, off_t x) |
| float | arg (const fft_t *freqs, off_t x) |
| void | normalize (fft_t *freqs, int oscilsize) |
| void | rmsNormalize (fft_t *freqs, int oscilsize) |
| void | normalize (float *smps, size_t N) |
| fft_t | operator* (float a, fft_t b) |
| | FUNC (pulse) |
| | FUNC (saw) |
| | FUNC (triangle) |
| | FUNC (power) |
| | FUNC (gauss) |
| | FUNC (diode) |
| | FUNC (abssine) |
| | FUNC (pulsesine) |
| | FUNC (stretchsine) |
| | FUNC (chirp) |
| | FUNC (absstretchsine) |
| | FUNC (chebyshev) |
| | FUNC (sqr) |
| | FUNC (spike) |
| | FUNC (circle) |
| base_func | getBaseFunction (unsigned char func) |
| | FILTER (lp) |
| | FILTER (hp1) |
| | FILTER (hp1b) |
| | FILTER (bp1) |
| | FILTER (bs1) |
| | FILTER (lp2) |
| | FILTER (hp2) |
| | FILTER (bp2) |
| | FILTER (bs2) |
| bool | floatEq (float a, float b) |
| | FILTER (cos) |
| | FILTER (sin) |
| | FILTER (low_shelf) |
| | FILTER (s) |
| filter_func | getFilter (unsigned char func) |
| void | SubFilterA (const float coeff[4], float &src, float work[4]) |
| void | SubFilterB (const float coeff[4], float &src, float work[4]) |
| std::ostream & | operator<< (std::ostream &os, const version_type &v) |
| unsigned char zyncarla::PfixedfreqET |
Parameters for PAD synthesis
- Note
- unlike most other parameter objects significant portions of this object are `owned' by the non-realtime context. The realtime context only needs the samples generated by the PADsynth algorithm and modulators (ie envelopes/filters/LFOs) for amplitude, frequency, and filters. The ownership will be unclear for the time being, but it should be made more explicit with time. */ class PADnoteParameters:public Presets { public: PADnoteParameters(const SYNTH_T &synth_, FFTwrapper *fft_, const AbsTime *time_ = nullptr); ~PADnoteParameters();
void defaults(); void add2XML(XMLwrapper& xml); void getfromXML(XMLwrapper& xml);
void paste(PADnoteParameters &p); void pasteRT(PADnoteParameters &p);
returns a value between 0.0f-1.0f that represents the estimation perceived bandwidth float getprofile(float *smp, int size);
parameters
the mode: 0 - bandwidth, 1 - discrete (bandwidth=0), 2 - continous the harmonic profile is used only on mode 0 unsigned char Pmode;
Harmonic profile (the frequency distribution of a single harmonic) struct { struct { //base function unsigned char type; unsigned char par1; } base; unsigned char freqmult; //frequency multiplier of the distribution struct { //the modulator of the distribution unsigned char par1; unsigned char freq; } modulator;
unsigned char width; //the width of the resulting function after the modulation struct { //the amplitude multiplier of the harmonic profile unsigned char mode; unsigned char type; unsigned char par1; unsigned char par2; } amp; bool autoscale; //if the scale of the harmonic profile is computed automaticaly unsigned char onehalf; //what part of the base function is used to make the distribution } Php;
unsigned int Pbandwidth; //the values are from 0 to 1000
unsigned char Pbwscale; //how the bandwidth is increased according to the harmonic's frequency
struct { //where are positioned the harmonics (on integer multimplier or different places)
unsigned char type;
unsigned char par1, par2, par3; //0..255
} Phrpos;
struct { //quality of the samples (how many samples, the length of them,etc.)
unsigned char samplesize;
unsigned char basenote, oct, smpoct;
} Pquality;
frequency parameters If the base frequency is fixed to 440 Hz unsigned char Pfixedfreq;
/* Equal temperate (this is used only if the Pfixedfreq is enabled) If this parameter is 0, the frequency is fixed (to 440 Hz); if this parameter is 64, 1 MIDI halftone -> 1 frequency halftone