int melodySolver::tick()
{
    int rval;
    
    if(type=="bucket") pick = (int)ofRandom(0, parray.notes.size());
    if(type=="markov") {
        pick = markov(pick, parray);
        curpitch = parray.mindex[pick];
    }
    if(type=="simple")
    {
        curpitch = marray.notes[pick];
    }
    else
    {
        curpitch = parray.notes[pick];
    }
    
    if(type=="melody") pick = (pick+1)%parray.notes.size();
    if(type=="simple") pick = (pick+1)%marray.notes.size();
    rval = curpitch<0 ? -1 : scale(curpitch+parray.basenote, parray.scale);
    return(rval);
    
}
Ejemplo n.º 2
0
int
spudtest(int    argc,
         char** argv)
{
  ls_err     err;
  size_t     i;
  const char nums[] = "0123456789";

  if (argc < 2)
  {
    fprintf(stderr, "spudload <destination>\n");
    exit(64);
  }
#if defined(__APPLE__)
  srandomdev();
#endif
#if defined(__LINUX__)
  srandom( time(NULL) );
#endif
  for (i = 0; i < sizeof(data); i++)
  {
    data[i] = nums[i % 10];
  }

  if ( !ls_sockaddr_get_remote_ip_addr(argv[1],
                                       "1402",
                                       (struct sockaddr*)&remoteAddr,
                                       sizeof(remoteAddr),
                                       &err) )
  {
    return 1;
  }

  if ( !tube_manager_create(0, &mgr, &err) )
  {
    LS_LOG_ERR(err, "tube_manager_create");
    return 1;
  }
  if ( !tube_manager_socket(mgr, 0, &err) )
  {
    LS_LOG_ERR(err, "tube_manager_socket");
    return 1;
  }

  if ( !tube_manager_signal(mgr, SIGINT, done, &err) )
  {
    LS_LOG_ERR(err, "tube_manager_signal");
    return 1;
  }

  if ( !tube_manager_bind_event(mgr, EV_REMOVE_NAME, remove_cb, &err) )
  {
    LS_LOG_ERR(err, "tube_manager_bind_event");
    return 1;
  }

  memset( tubes, 0, sizeof(tubes) );

  /* Start and listen to the sockets. */
  pthread_create(&listenThread, NULL, socketListen, NULL);

  return markov();
}