static void *play_new(t_symbol *s, t_floatarg f) { /* one auxiliary signal: position input */ t_play *x = (t_play *)arsic_new(play_class, s, (int)f, 0, 1); if (x) { int nch = arsic_getnchannels((t_arsic *)x); while (nch--) outlet_new((t_object *)x, &s_signal); } return (x); }
static void *wave_new(t_symbol *s, t_floatarg f1, t_floatarg f2, t_floatarg f3) { /* three auxiliary signals: phase, clipstart, and clipend inputs */ t_wave *x = (t_wave *)arsic_new(wave_class, s, (int)f3, 0, 3); if (x) { int nch = arsic_getnchannels((t_arsic *)x); if (f1 < 0) f1 = 0; if (f2 < 0) f2 = 0; sic_newinlet((t_sic *)x, f1); sic_newinlet((t_sic *)x, f2); while (nch--) outlet_new((t_object *)x, &s_signal); wave_interp(x, 1); } return (x); }
static void *record_new(t_symbol *s, t_floatarg f) { /* one auxiliary signal: sync output */ t_record *x = (t_record *)arsic_new(record_class, s, (int)f, 0, 1); if (x) { int nch = arsic_getnchannels((t_arsic *)x); arsic_setminsize((t_arsic *)x, 2); x->x_appendmode = 0; x->x_loopmode = 0; record_reset(x); x->x_clock = clock_new(x, (t_method)record_tick); x->x_clocklasttick = clock_getlogicaltime(); while (--nch) inlet_new((t_object *)x, (t_pd *)x, &s_signal, &s_signal); inlet_new((t_object *)x, (t_pd *)x, &s_float, gensym("ft-2")); inlet_new((t_object *)x, (t_pd *)x, &s_float, gensym("ft-1")); outlet_new((t_object *)x, &s_signal); } return (x); }