[PD] [epochtime] - my first external
David Sabine
dave at davesabine.com
Wed Nov 20 03:09:48 CET 2002
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);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20021119/c3506246/attachment.htm>
More information about the Pd-list
mailing list