1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
/* --------------------- 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("");
}
|