Lines Matching refs:plug

72     ENVFOLLOWER* plug = malloc(sizeof(ENVFOLLOWER));  in init_envfollower()  local
74 plug->sample_time = 1/sample_rate; in init_envfollower()
76 plug->current = 0; in init_envfollower()
77 plug->prev = 0; in init_envfollower()
78 plug->mout = 0; in init_envfollower()
79 plug->mprev = 0; in init_envfollower()
80 plug->out = 0; in init_envfollower()
82 plug->atime = .1; in init_envfollower()
83 float tmp = 2.2*plug->sample_time; in init_envfollower()
84 float den = 2*plug->atime + tmp; in init_envfollower()
85 plug->up[0] = (2 - plug->sample_time)*plug->atime/den; in init_envfollower()
86 plug->up[1] = tmp/den; in init_envfollower()
87 plug->up[2] = plug->sample_time*plug->atime/den; in init_envfollower()
89 plug->dtime = .1; in init_envfollower()
90 den = 2*plug->dtime + tmp; in init_envfollower()
91 plug->dn[0] = (2 - plug->sample_time)*plug->dtime/den; in init_envfollower()
92 plug->dn[1] = tmp/den; in init_envfollower()
93 plug->dn[2] = plug->sample_time*plug->dtime/den; in init_envfollower()
95 rms_init(&plug->rms_calc,64); in init_envfollower()
97 return plug; in init_envfollower()
102 ENVFOLLOWER* plug = init_envfollower(descriptor,sample_rate, bundle_path,host_features); in init_midi_envfollower() local
108 plug->urid_map = (LV2_URID_Map *) host_features[i]->data; in init_midi_envfollower()
109 if (plug->urid_map) in init_midi_envfollower()
111plug->midi_event_type = plug->urid_map->map(plug->urid_map->handle, LV2_MIDI__MidiEvent); in init_midi_envfollower()
117 lv2_atom_forge_init(&plug->forge,plug->urid_map); in init_midi_envfollower()
119 return plug; in init_midi_envfollower()
125 ENVFOLLOWER* plug = (ENVFOLLOWER*)handle; in connect_envfollower_ports() local
126 if(port == INPUT) plug->input_p = (float*)data; in connect_envfollower_ports()
127 else if(port == OUTPUT) plug->output_p = (float*)data; in connect_envfollower_ports()
128 else if(port == MIDI_OUT) plug->midi_out_p = (LV2_Atom_Sequence*)data; in connect_envfollower_ports()
129 else if(port == CTL_IN) plug->ctl_in_p = (float*)data; in connect_envfollower_ports()
130 else if(port == CTL_OUT) plug->ctl_out_p = (float*)data; in connect_envfollower_ports()
131 else if(port == CHANNEL) plug->channel_p = (float*)data; in connect_envfollower_ports()
132 else if(port == CONTROL_NO) plug->control_p = (float*)data; in connect_envfollower_ports()
133 else if(port == MINV) plug->min_p = (float*)data; in connect_envfollower_ports()
134 else if(port == MAXV) plug->max_p = (float*)data; in connect_envfollower_ports()
135 else if(port == REVERSE) plug->rev_p = (float*)data; in connect_envfollower_ports()
136 else if(port == PEAKRMS) plug->peakrms_p = (float*)data; in connect_envfollower_ports()
137 else if(port == THRESHOLD) plug->threshold_p = (float*)data; in connect_envfollower_ports()
138 else if(port == SATURATION) plug->saturation_p = (float*)data; in connect_envfollower_ports()
139 else if(port == ATIME) plug->atime_p = (float*)data; in connect_envfollower_ports()
140 else if(port == DTIME) plug->dtime_p = (float*)data; in connect_envfollower_ports()
145 ENVFOLLOWER* plug = (ENVFOLLOWER*)handle; in connect_envCV_ports() local
146 if(port == INPUT) plug->input_p = (float*)data; in connect_envCV_ports()
147 else if(port == OUTPUT) plug->output_p = (float*)data; in connect_envCV_ports()
148 else if(port == CV_OUT) plug->cv_out_p = (float*)data; in connect_envCV_ports()
149 else if(port == CTL_IN) plug->ctl_in_p = (float*)data; in connect_envCV_ports()
150 else if(port == CTL_OUT) plug->ctl_out_p = (float*)data; in connect_envCV_ports()
151 else if(port == PEAKRMS) plug->peakrms_p = (float*)data; in connect_envCV_ports()
152 else if(port == THRESHOLD) plug->threshold_p = (float*)data; in connect_envCV_ports()
153 else if(port == SATURATION) plug->saturation_p = (float*)data; in connect_envCV_ports()
154 else if(port == ATIME) plug->atime_p = (float*)data; in connect_envCV_ports()
155 else if(port == DTIME) plug->dtime_p = (float*)data; in connect_envCV_ports()
156 else if(port == CMINV) plug->cmin_p = (float*)data; in connect_envCV_ports()
157 else if(port == CMAXV) plug->cmax_p = (float*)data; in connect_envCV_ports()
158 else if(port == CREVERSE) plug->crev_p = (float*)data; in connect_envCV_ports()
163 ENVFOLLOWER* plug = (ENVFOLLOWER*)handle; in run_envfollower() local
166 float *buf = plug->input_p; in run_envfollower()
170 float sat = *plug->saturation_p; in run_envfollower()
171 float max = *plug->max_p; in run_envfollower()
172 if(sat <= *plug->threshold_p) in run_envfollower()
174 max = *plug->min_p; in run_envfollower()
176 if(max < *plug->min_p) in run_envfollower()
178 max = *plug->min_p; in run_envfollower()
180 float mapping = (max - *plug->min_p)/(sat - *plug->threshold_p); in run_envfollower()
183 const uint32_t capacity = plug->midi_out_p->atom.size; in run_envfollower()
184 lv2_atom_forge_set_buffer(&plug->forge,(uint8_t*)plug->midi_out_p, capacity); in run_envfollower()
185 lv2_atom_forge_sequence_head(&plug->forge, &plug->frame, 0); in run_envfollower()
186 midiatom.type = plug->midi_event_type; in run_envfollower()
189 *plug->ctl_in_p = 0; in run_envfollower()
190 *plug->ctl_out_p = 0; in run_envfollower()
193 if(plug->atime != *plug->atime_p) in run_envfollower()
195 plug->atime = *plug->atime_p; in run_envfollower()
196 float tmp = 2.2*plug->sample_time; in run_envfollower()
197 float den = 2.0*plug->atime + tmp; in run_envfollower()
198 plug->up[0] = (2.0 - plug->sample_time)*plug->atime/den; in run_envfollower()
199 plug->up[1] = tmp/den; in run_envfollower()
200 plug->up[2] = plug->sample_time*plug->atime/den; in run_envfollower()
202 if(plug->dtime != *plug->dtime_p) in run_envfollower()
204 plug->dtime = *plug->dtime_p; in run_envfollower()
205 float tmp = 2.2*plug->sample_time; in run_envfollower()
206 float den = 2.0*plug->dtime + tmp; in run_envfollower()
207 plug->dn[0] = (2.0 - plug->sample_time)*plug->dtime/den; in run_envfollower()
208 plug->dn[1] = tmp/den; in run_envfollower()
209 plug->dn[2] = plug->sample_time*plug->dtime/den; in run_envfollower()
217 rms = rms_shift(&plug->rms_calc,buf[i]); in run_envfollower()
219 plug->prev = plug->current; in run_envfollower()
220 plug->current = (1.0 - *plug->peakrms_p)*peak + *plug->peakrms_p*rms; in run_envfollower()
222 if(plug->current >= plug->out) in run_envfollower()
224 plug->out = plug->up[0]*plug->out + plug->up[1]*plug->current + plug->up[2]*plug->prev; in run_envfollower()
228 plug->out = plug->dn[0]*plug->out + plug->dn[1]*plug->current + plug->dn[2]*plug->prev; in run_envfollower()
230 *plug->ctl_in_p += plug->current; in run_envfollower()
233 if(plug->out <= *plug->threshold_p) in run_envfollower()
235 plug->mout = *plug->min_p; in run_envfollower()
237 else if(plug->out >= *plug->saturation_p) in run_envfollower()
239 plug->mout = *plug->max_p; in run_envfollower()
243 plug->mout = mapping*(plug->out - *plug->threshold_p) + *plug->min_p; in run_envfollower()
246 if(*plug->rev_p) in run_envfollower()
248 plug->mout = *plug->max_p - plug->mout + *plug->min_p; in run_envfollower()
251 if(plug->mout!=plug->mprev) in run_envfollower()
254 msg[0] = MIDI_CONTROL_CHANGE + (uint8_t)(*plug->channel_p - 1); in run_envfollower()
255 msg[1] = MIDI_DATA_MASK & (uint8_t)*plug->control_p; in run_envfollower()
256 msg[2] = MIDI_DATA_MASK & plug->mout; in run_envfollower()
258 midiatom.type = plug->midi_event_type; in run_envfollower()
260 lv2_atom_forge_frame_time(&plug->forge,i); in run_envfollower()
261 lv2_atom_forge_raw(&plug->forge,&midiatom,sizeof(LV2_Atom)); in run_envfollower()
262 lv2_atom_forge_raw(&plug->forge,msg,3); in run_envfollower()
263 lv2_atom_forge_pad(&plug->forge,3+sizeof(LV2_Atom)); in run_envfollower()
265 plug->mprev = plug->mout; in run_envfollower()
266 *plug->ctl_out_p += plug->mout/127.0; in run_envfollower()
269 plug->output_p[i] = buf[i]; in run_envfollower()
273 *plug->ctl_in_p /= nframes; in run_envfollower()
274 *plug->ctl_out_p /= nframes; in run_envfollower()
279 ENVFOLLOWER* plug = (ENVFOLLOWER*)handle; in run_envfollowerCV() local
281 float *buf = plug->input_p; in run_envfollowerCV()
284 float sat = *plug->saturation_p; in run_envfollowerCV()
285 float cmax = *plug->cmax_p; in run_envfollowerCV()
286 if(sat <= *plug->threshold_p) in run_envfollowerCV()
288 cmax = *plug->cmin_p; in run_envfollowerCV()
290 if(cmax < *plug->cmin_p) in run_envfollowerCV()
292 cmax = *plug->cmin_p; in run_envfollowerCV()
294 float cmapping = (cmax - *plug->cmin_p)/(sat - *plug->threshold_p); in run_envfollowerCV()
296 *plug->ctl_in_p = 0; in run_envfollowerCV()
297 *plug->ctl_out_p = 0; in run_envfollowerCV()
300 if(plug->atime != *plug->atime_p) in run_envfollowerCV()
302 plug->atime = *plug->atime_p; in run_envfollowerCV()
303 float tmp = 2.2*plug->sample_time; in run_envfollowerCV()
304 float den = 2.0*plug->atime + tmp; in run_envfollowerCV()
305 plug->up[0] = (2.0 - plug->sample_time)*plug->atime/den; in run_envfollowerCV()
306 plug->up[1] = tmp/den; in run_envfollowerCV()
307 plug->up[2] = plug->sample_time*plug->atime/den; in run_envfollowerCV()
309 if(plug->dtime != *plug->dtime_p) in run_envfollowerCV()
311 plug->dtime = *plug->dtime_p; in run_envfollowerCV()
312 float tmp = 2.2*plug->sample_time; in run_envfollowerCV()
313 float den = 2.0*plug->dtime + tmp; in run_envfollowerCV()
314 plug->dn[0] = (2.0 - plug->sample_time)*plug->dtime/den; in run_envfollowerCV()
315 plug->dn[1] = tmp/den; in run_envfollowerCV()
316 plug->dn[2] = plug->sample_time*plug->dtime/den; in run_envfollowerCV()
324 rms = rms_shift(&plug->rms_calc,buf[i]); in run_envfollowerCV()
326 plug->prev = plug->current; in run_envfollowerCV()
327 plug->current = (1.0 - *plug->peakrms_p)*peak + *plug->peakrms_p*rms; in run_envfollowerCV()
329 if(plug->current >= plug->out) in run_envfollowerCV()
331 plug->out = plug->up[0]*plug->out + plug->up[1]*plug->current + plug->up[2]*plug->prev; in run_envfollowerCV()
335 plug->out = plug->dn[0]*plug->out + plug->dn[1]*plug->current + plug->dn[2]*plug->prev; in run_envfollowerCV()
337 *plug->ctl_in_p += plug->current; in run_envfollowerCV()
340 if(plug->out <= *plug->threshold_p) in run_envfollowerCV()
342 plug->cv_out_p[i] = *plug->cmin_p; in run_envfollowerCV()
344 else if(plug->out >= *plug->saturation_p) in run_envfollowerCV()
346 plug->cv_out_p[i] = *plug->cmax_p; in run_envfollowerCV()
350 plug->cv_out_p[i] = cmapping*(plug->out - *plug->threshold_p) + *plug->cmin_p; in run_envfollowerCV()
352 if(*plug->crev_p) in run_envfollowerCV()
354 plug->cv_out_p[i] = *plug->cmax_p - plug->cv_out_p[i] + *plug->cmin_p; in run_envfollowerCV()
357 *plug->ctl_out_p += plug->cv_out_p[i]; in run_envfollowerCV()
360 plug->output_p[i] = buf[i]; in run_envfollowerCV()
364 *plug->ctl_in_p /= nframes; in run_envfollowerCV()
365 *plug->ctl_out_p /= nframes; in run_envfollowerCV()
371 ENVFOLLOWER* plug = (ENVFOLLOWER*) handle; in cleanup_envfollower() local
372 rms_deinit(&plug->rms_calc); in cleanup_envfollower()
373 free(plug); in cleanup_envfollower()