/* --------------------- SMLib ----------------------------- */ /* Signal processing for Mapping objects: float stream - pid controller? - deltas (generate difference vector between current values and values of the past) vector - vquant (quantizer with hysteresis) - vv/ - vv> - vv< - s2v (stream to vector, incl ola) - v2s (vector to stream, incl ola) vector math - vreverse - delread - delwrite - upsample - fir - autorescale */ #include "defines.h" // in alphabetical order extern void bp_setup(); extern void decimator_setup(); extern void deltas_setup(); extern void hip_setup(); extern void hist_setup(); extern void itov_setup(); extern void lavg_setup(); extern void lhist_setup(); extern void lhisti_setup(); extern void linspace_setup(); extern void lmax_setup(); extern void lmin_setup(); extern void lrange_setup(); extern void lstd_setup(); extern void prevl_setup(); extern void threshold_setup(); extern void vabs_setup(); extern void vclip_setup(); extern void vcog_setup(); extern void vdbtorms_setup(); extern void vdelta_setup(); extern void vfmod_setup(); extern void vftom_setup(); extern void vlavg_setup(); extern void vlmax_setup(); extern void vlmin_setup(); extern void vlrange_setup(); extern void vmax_setup(); extern void vmin_setup(); extern void vmtof_setup(); extern void vpow_setup(); extern void vrms_setup(); extern void vrmstodb_setup(); extern void vstd_setup(); extern void vsum_setup(); extern void vthreshold_setup(); extern void vvconv_setup(); extern void vvminus_setup(); extern void vvplus_setup(); static t_class *SMLib_class; typedef struct _lstd { t_object x_obj; } t_SMLib; static void SMLib_help(t_SMLib *x) { /* */ post(""); post(""); post(" .........................................................."); post(" . SMLib ."); post(" . Signal processing for Mapping ."); post(" . v0.12 24/11/2002 ."); post(" .........................................................."); post(" . processing stream of floats (context) (float output) ."); post(" . ."); post(" . lavg leaky average ."); post(" . lmax leaky maximum ."); post(" . lmin leaky minimum ."); post(" . lrange leaky range ."); post(" u lstd leaky standard deviation ."); post(" u decimator passes 1 in n input values ."); post(" . threshold detection with hysteresis ."); post(" . hip first order high-pass filter ."); post(" . bp second order (resonant) high-pass filter ."); post(" .........................................................."); post(" . analyzing stream of floats (vector output) ."); post(" . ."); post(" . hist histogram ."); post(" . lhist leaky histogram, clips samples ."); post(" . lhisti leaky histogram, ignore samples ."); post(" . outside bins ."); post(" . itov bin index to value (for the histograms ."); post(" . prevl previous floats in a list ."); post(" . deltas difference between last float and ."); post(" . previous floats ."); // post(" o filterbank lineairly spaced set of bandpass filters ."); post(" .........................................................."); post(" . immediate vector analysis (float output) ."); post(" . ."); post(" . vsum sum of vector elements ."); post(" . vcog center of gravity ."); post(" . vmax maximum and its location ."); post(" . vmin minimum and its location ."); post(" . vrms root mean square ."); post(" . vstd standard deviation ."); post(" .........................................................."); post(" . vector processors (vector output) ."); post(" . ."); post(" . vv+ vector addition ."); post(" . vv- vector substraction ."); post(" . vvconv vector convolution ."); post(" . vclip clip elements ."); post(" . vfmod floating point modulo ."); post(" . vpow power ."); post(" . vthreshold detections with hysteresises ."); post(" . ."); post(" . unit conversions on vectors ."); post(" . ."); post(" . vftom frequency to midi ."); post(" . vmtof midi to frequency ."); post(" . vdbtorms dB to rms ."); post(" . vrmstodb rms to dB ."); post(" .........................................................."); post(" . vector synthesis (vector output) ."); post(" . ."); post(" . linspace linearly spaced vector ."); // post(" o logspace logarithmically spaced vector ."); // post(" o rand uniformly distributed random vector ."); // post(" o randn normally distributed random vector ."); post(" .........................................................."); post(" . vector stream processing (vector output) (context) ."); post(" . ."); post(" . vlavg leaky averages ."); post(" . vlmax leaky maxima ."); post(" . vlmin leaky minima ."); post(" . vlrange leaky ranges ."); post(" . vdelta difference between successive vectors ."); post(" .........................................................."); // post(" . o = future additions ."); // post(" . e = experimental ."); post(" . u = undocumented ."); post(" . j#|@ = johannes.taelman@rug.ac.be ."); post(" .........................................................."); post(""); post(""); } static void *SMLib_new() { t_SMLib *x=(t_SMLib *)pd_new(SMLib_class); return (void *)x; } #ifdef WIN32 __declspec(dllexport) void __cdecl SMLib_setup( void) #else void SMLib_setup( void) #endif { // dummy object for help-system SMLib_class = class_new(gensym("SMLib"), (t_newmethod)SMLib_new, 0, sizeof(t_SMLib), CLASS_DEFAULT, 0); class_addbang(SMLib_class, (t_method)SMLib_help); class_addmethod(SMLib_class, (t_method)SMLib_help, gensym("help"),0); // real objects in alphabetical order bp_setup(); decimator_setup(); deltas_setup(); hip_setup(); hist_setup(); itov_setup(); lavg_setup(); lhist_setup(); lhisti_setup(); linspace_setup(); lmax_setup(); lmin_setup(); lrange_setup(); lstd_setup(); prevl_setup(); threshold_setup(); vabs_setup(); vclip_setup(); vcog_setup(); vdbtorms_setup(); vdelta_setup(); vfmod_setup(); vftom_setup(); vlavg_setup(); vlmax_setup(); vlmin_setup(); vlrange_setup(); vmax_setup(); vmin_setup(); vmtof_setup(); vpow_setup(); vrms_setup(); vrmstodb_setup(); vstd_setup(); vsum_setup(); vthreshold_setup(); vvconv_setup(); vvminus_setup(); vvplus_setup(); post(""); post(" .........................................................."); post(" . SMLib ."); post(" . Signal processing for Mapping ."); post(" . v0.12 24/11/2002 ."); post(" .........................................................."); post(""); }