[PD] [epochtime] - my first external
Ben Saylor
bsaylor at Macalester.edu
Wed Nov 20 05:34:27 CET 2002
How about just this:
void epochtime_bang(t_epochtime *x)
{
x->t=time( NULL );
outlet_float(x->x_obj.ob_outlet, x->t);
}
On Tue, Nov 19, 2002 at 08:09:48PM -0600, David Sabine wrote:
> Hello all,
>
> I'm exploring my very first external! But I've run into a snag.
>
> I'd like to build an external object which outputs the number of seconds since "epoch" when banged. Epoch is the beginning of time as the digital world understands it: jan 1 1970.
>
> Could somebody look over the following code and tell me why it works only after the FIRST BANG?
>
> Many thanks
> Regards,
> Dave S
>
>
> _____________________________
>
>
> #include "m_pd.h"
> #include "time.h"
>
> static t_class *epochtime_class;
>
> typedef struct _epochtime {
> t_object x_obj;
> time_t t;
> } t_epochtime;
>
> void epochtime_bang(t_epochtime *x)
> {
> t_float f=x->t;
> x->t=time( NULL );
>
> outlet_float(x->x_obj.ob_outlet, f);
> }
>
> void *epochtime_new(t_floatarg f)
> {
> t_epochtime *x = (t_epochtime *)pd_new(epochtime_class);
>
> x->t=f;
> outlet_new(&x->x_obj, &s_float);
>
> return (void *)x;
> }
>
> void epochtime_setup(void) {
> epochtime_class = class_new(gensym("epochtime"),
> (t_newmethod)epochtime_new,
> 0, sizeof(t_epochtime),
> CLASS_DEFAULT, 0);
>
> class_addbang(epochtime_class, epochtime_bang);
> }
More information about the Pd-list
mailing list