otama_status_t extend(int64_t s) { otama_status_t ret; while (s >= count_max()) { OTAMA_LOG_DEBUG("count exceed. count_max=%"PRId64, count_max()); ret = extend(); if (ret != OTAMA_STATUS_OK) { return ret; } } return OTAMA_STATUS_OK; }
bool PlayerManager::add(Player *p) { if(count() == count_max()) return false; list.push_back(p); return true; }
int PlayerManagerServer::nextSlot() { for(unsigned int slot = 0; slot < count_max(); slot++) { if(get_by_slot(slot) == NULL) { return slot; } } return -1; }
static void *count_new(t_floatarg minval, t_floatarg maxval, t_floatarg onflag, t_floatarg autoflag) { t_count *x = (t_count *)pd_new(count_class); count_min(x, minval); count_max(x, maxval); x->x_on = (onflag != 0); count_autoreset(x, autoflag); x->x_count = x->x_min; inlet_new((t_object *)x, (t_pd *)x, &s_float, gensym("ft1")); outlet_new((t_object *)x, &s_signal); return (x); }
static void count_list(t_count *x, t_symbol *s, int ac, t_atom *av) { int i; if (ac > 4) ac = 4; for (i = 0; i < ac; i++) if (av[i].a_type != A_FLOAT) break; switch (i) { case 4: count_autoreset(x, av[3].a_w.w_float); case 3: x->x_on = (av[2].a_w.w_float != 0); case 2: count_max(x, av[1].a_w.w_float); case 1: count_min(x, av[0].a_w.w_float); default: x->x_count = x->x_min; } }
bool PlayerManager::full() { return count() == count_max(); }