void gdk_profiler_start (int fd) { if (writer) return; sp_clock_init (); if (fd == -1) { gchar *filename; filename = g_strdup_printf ("gtk.%d.syscap", getpid ()); g_print ("Writing profiling data to %s\n", filename); writer = sp_capture_writer_new (filename, 16*1024); g_free (filename); } else if (fd > 2) writer = sp_capture_writer_new_from_fd (fd, 16*1024); if (writer) running = TRUE; atexit (profiler_stop); }
void sp_sockbase_init (struct sp_sockbase *self, const struct sp_sockbase_vfptr *vfptr, int fd) { self->vfptr = vfptr; self->flags = 0; sp_cp_init (&self->cp); sp_cond_init (&self->cond); sp_clock_init (&self->clock); self->fd = fd; sp_list_init (&self->eps); self->eid = 1; /* Default values for SP_SOL_SOCKET options. */ self->linger = 1000; self->sndbuf = 128 * 1024; self->rcvbuf = 128 * 1024; self->sndtimeo = -1; self->rcvtimeo = -1; self->reconnect_ivl = 100; self->reconnect_ivl_max = 0; }
int sporth_clock(sporth_stack *stack, void *ud) { plumber_data *pd = ud; SPFLOAT trig; SPFLOAT out; SPFLOAT bpm; SPFLOAT subdiv; sp_clock *clock; switch(pd->mode) { case PLUMBER_CREATE: #ifdef DEBUG_MODE fprintf(stderr, "clock: Creating\n"); #endif sp_clock_create(&clock); plumber_add_ugen(pd, SPORTH_CLOCK, clock); if(sporth_check_args(stack, "fff") != SPORTH_OK) { fprintf(stderr,"Not enough arguments for clock\n"); stack->error++; return PLUMBER_NOTOK; } subdiv = sporth_stack_pop_float(stack); bpm = sporth_stack_pop_float(stack); trig = sporth_stack_pop_float(stack); sporth_stack_push_float(stack, 0); break; case PLUMBER_INIT: #ifdef DEBUG_MODE fprintf(stderr, "clock: Initialising\n"); #endif subdiv = sporth_stack_pop_float(stack); bpm = sporth_stack_pop_float(stack); trig = sporth_stack_pop_float(stack); clock = pd->last->ud; sp_clock_init(pd->sp, clock); sporth_stack_push_float(stack, 0); break; case PLUMBER_COMPUTE: subdiv = sporth_stack_pop_float(stack); bpm = sporth_stack_pop_float(stack); trig = sporth_stack_pop_float(stack); clock = pd->last->ud; clock->bpm = bpm; clock->subdiv = subdiv; sp_clock_compute(pd->sp, clock, &trig, &out); sporth_stack_push_float(stack, out); break; case PLUMBER_DESTROY: clock = pd->last->ud; sp_clock_destroy(&clock); break; default: fprintf(stderr, "clock: Unknown mode!\n"); break; } return PLUMBER_OK; }