Пример #1
0
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);
}
Пример #2
0
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;
}
Пример #3
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;
}