Beispiel #1
0
void *hoa_space_new(t_symbol *s, int argc, t_atom *argv)
{
    t_hoa_space *x = NULL;
    t_binbuf *d;
	long flags;
    
    if (!(d = binbuf_via_atoms(argc, argv)))
		return NULL;
    
    x = (t_hoa_space *)eobj_new(hoa_space_class);
    x->f_viewer                 = new AmbisonicViewer(1);
    x->f_recomposer             = new AmbisonicRecomposer(1, 4);
    
    x->f_out                    = listout(x);
    x->f_number_of_microphones  = 4;
    x->f_new_number             = 4;
    x->f_defer                  = clock_new(x, (t_method)hoa_space_do_channels_set);

    flags = 0
    | EBOX_GROWLINK
    ;
    ebox_new((t_ebox *)x, flags);
    
    
    ebox_attrprocess_viabinbuf(x, d);
    ebox_ready((t_ebox *)x);
    return (x);
}
Beispiel #2
0
void *meter_new(t_symbol *s, int argc, t_atom *argv)
{
	t_meter *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_meter *)eobj_new(meter_class);
    
    flags = 0
    | EBOX_GROWINDI
    | EBOX_IGNORELOCKCLICK
    ;
    
	ebox_new((t_ebox *)x, flags);
    eobj_dspsetup((t_ebox *)x, 1, 0);
    
    x->f_direction      = 0;
    x->f_peaks_outlet   = floatout(x);
    x->f_peak_value     = -90.;
    x->f_clock          = clock_new(x,(t_method)meter_tick);
	x->f_startclock     = 0;
    x->f_over_led_preserved = 0;
    ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
    
	return (x);
}
void *hoa_scope_3D_new(t_symbol *s, int argc, t_atom *argv)
{
	t_hoa_scope_3D *x =  NULL;
	t_binbuf *d;
	long flags;
	
	if (!(d = binbuf_via_atoms(argc, argv)))
		return NULL;

	x = (t_hoa_scope_3D *)eobj_new(hoa_scope_3D_class);
    
    x->f_order      = 1;
	x->f_startclock = 0;
	x->f_scope      = new Hoa3D::Scope(x->f_order, NUMBEROFCIRCLEPOINTS_UI2 * 0.5, NUMBEROFCIRCLEPOINTS_UI2);
    x->f_order      = x->f_scope->getDecompositionOrder();
    x->f_signals    = new t_float[x->f_scope->getNumberOfHarmonics() * SYS_MAXBLKSIZE];
    x->f_index      = 0;
    
    eobj_dspsetup(x, x->f_scope->getNumberOfHarmonics(), 0);
    
	flags = 0
    | EBOX_IGNORELOCKCLICK
    | EBOX_GROWLINK
    ;
	ebox_new((t_ebox *)x, flags);
    
    x->f_clock = clock_new(x,(t_method)hoa_scope_3D_tick);
	x->f_startclock = 0;
    
    ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	
	return (x);
}
Beispiel #4
0
static void *blackboard_new(t_symbol *s, int argc, t_atom *argv)
{
    t_blackboard *x = (t_blackboard *)eobj_new(blackboard_class);
    t_binbuf* d     = binbuf_via_atoms(argc,argv);
    
    if(x && d)
    {
        ebox_new((t_ebox *)x, 0 | EBOX_GROWINDI);
        
        x->f_out_drag   = outlet_new((t_object *)x, &s_list);
        x->f_out_move   = outlet_new((t_object *)x, &s_list);
        x->f_out_down   = outlet_new((t_object *)x, &s_float);
        x->f_pen_new.x  = 0.;
        x->f_pen_new.y  = 0.;
        x->f_pen_old.x  = 0.;
        x->f_pen_old.y  = 0.;
        x->f_pen_down   = 0;
        
        x->f_width      = 1;
        x->f_color      = gensym("#000000");
        x->f_fill       = 0;
        x->f_ninstructions = 0;
        x->f_instructions = (char **)malloc(_blackboard::maxcmd * sizeof(char*));
        for(int i = 0; i < _blackboard::maxcmd; i++)
        {
            x->f_instructions[i] = (char *)malloc(MAXPDSTRING * sizeof(char));
        }
        
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
    }

    return (x);
}
Beispiel #5
0
void *gain_new(t_symbol *s, int argc, t_atom *argv)
{
	t_gain *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_gain *)eobj_new(gain_class);
    flags = 0
    | EBOX_GROWINDI
    ;
	ebox_new((t_ebox *)x, flags);
    eobj_dspsetup((t_ebox *)x, 1, 1);
    x->f_out = (t_outlet *)floatout(x);
    
    x->f_value  = 0.;
    x->f_amp    = 1.;
    x->f_amp_old = 1.;
    x->f_amp_step = 0.;
    x->f_counter = 0;
    x->f_sample_rate = sys_getsr();
    
	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #6
0
static void *scope_new(t_symbol *s, int argc, t_atom *argv)
{
    t_scope *x =  NULL;
    t_binbuf* d;
    long flags;
    if (!(d = binbuf_via_atoms(argc,argv)))
        return NULL;

    x = (t_scope *)eobj_new(cscope_class);
    if(x)
    {
        flags = 0
                | EBOX_GROWINDI
                | EBOX_IGNORELOCKCLICK
                ;

        ebox_new((t_ebox *)x, flags);
        eobj_dspsetup((t_ebox *)x, 2, 0);

        x->f_buffer_x = (t_sample *)calloc(80192, sizeof(t_sample));
        x->f_buffer_y = (t_sample *)calloc(80192, sizeof(t_sample));

        x->f_mode     = 0;
        x->f_index    = 0;

        x->f_clock          = clock_new(x,(t_method)scope_tick);
        x->f_startclock     = 0;

        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
    }
    return (x);
}
void *number_tilde_new(t_symbol *s, int argc, t_atom *argv)
{
	t_number_tilde *x =  NULL;
	t_binbuf* d;
    long flags;

	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;

	x = (t_number_tilde *)eobj_new(number_tilde_class);

    flags = 0
    | EBOX_GROWINDI
    | EBOX_IGNORELOCKCLICK
    ;

	ebox_new((t_ebox *)x, flags);

	eobj_dspsetup((t_ebox *)x, 1, 1);

    x->f_peaks_outlet   = floatout(x);
    x->f_peak_value     = 0.;
    x->f_clock          = clock_new(x,(t_method)number_tilde_tick);
	x->f_startclock     = 0;

	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);

	return (x);
}
Beispiel #8
0
void *matrixctrl_new(t_symbol *s, int argc, t_atom *argv)
{
	t_matrixctrl *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;

	x = (t_matrixctrl *)eobj_new(matrixctrl_class);

    x->f_size.x = 8;
    x->f_size.y = 4;
    x->f_values = (char *)malloc(x->f_size.x * x->f_size.y * sizeof(char));
    memset(x->f_values, 0, x->f_size.x * x->f_size.y * sizeof(char));

    x->f_selected.x = -1;
    x->f_selected.y = -1;

    flags = 0
    | EBOX_GROWINDI
    ;
	ebox_new((t_ebox *)x, flags);

    x->f_out_cell   = outlet_new((t_object *)x, &s_list);
    x->f_out_colrow = outlet_new((t_object *)x, &s_list);

	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
void *breakpoints_new(t_symbol *s, int argc, t_atom *argv)
{
    t_binbuf* d = binbuf_via_atoms(argc,argv);
	t_breakpoints *x = (t_breakpoints *)eobj_new(breakpoints_class);
    if(x && d)
    {
        x->f_outline_mode = 0;
        long flags = 0
        | EBOX_GROWINDI
        ;
        ebox_new((t_ebox *)x, flags);
        
        x->f_out_float = (t_outlet *)floatout(x);
        x->f_out_list = (t_outlet *)listout(x);
        x->f_out_function = (t_outlet *)listout(x);
        
        x->f_number_of_points = 0;
        x->f_point_hover    = -1;
        x->f_point_selected = -1;
        x->f_output_inc     = -1;
        x->f_output_nextprev = 0;
        x->f_point_last_created = -1;
        x->f_mouse.x = -666666;
        x->f_mouse.y = -666666;
        
        x->f_clock = clock_new(x, (t_method)breakpoints_inc);
        
        ebox_attrprocess_viabinbuf(x, d);
        breakpoints_init(x, d);
        ebox_ready((t_ebox *)x);
    }
    
    return (x);
}
void *hoa_meter_new(t_symbol *s, int argc, t_atom *argv)
{
	t_hoa_meter *x =  NULL;
	t_binbuf *d;
	long flags;
	
	if (!(d = binbuf_via_atoms(argc, argv)))
		return NULL;
    
	x = (t_hoa_meter *)eobj_new(hoa_meter_class);
    
    x->f_ramp = 0;
    x->f_meter  = new Hoa2D::Meter(4);
    x->f_vector = new Hoa2D::Vector(4);
    x->f_signals = new t_float[MAX_SPEAKER * SYS_MAXBLKSIZE];
    x->f_over_leds = new int[MAX_CHANNELS];
    
    x->f_clock = clock_new(x,(t_method)hoa_meter_tick);
	x->f_startclock = 0;
    eobj_dspsetup((t_ebox *)x, x->f_meter->getNumberOfChannels(), 0);
    
    flags = 0
    | EBOX_GROWLINK
    | EBOX_IGNORELOCKCLICK
    ;
	ebox_new((t_ebox *)x, flags);
    
    hoa_meter_deprecated(x, s, argc, argv);
	ebox_attrprocess_viabinbuf(x, d);
    
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #11
0
void *hoa_map_3D_tilde_new(t_symbol *s, long argc, t_atom *argv)
{
    t_hoa_map_3D_tilde *x = NULL;
    t_binbuf *d;
    int	order = 1;
    int numberOfSources = 1;
    
    if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
    x = (t_hoa_map_3D_tilde *)eobj_new(hoa_map_3D_tilde_class);
    
	if (x)
	{
		if(atom_gettype(argv) == A_LONG)
			order = clip_min(atom_getlong(argv), 0);
        if(argc > 1 && atom_gettype(argv+1) == A_LONG)
            numberOfSources = clip_minmax(atom_getlong(argv+1), 1, 255);
        if(argc > 2 && atom_gettype(argv+2) == A_SYM)
        {
            if(atom_getsym(argv+2) == gensym("car") || atom_getsym(argv+2) == gensym("cartesian"))
                x->f_mode = 1;
            else
                x->f_mode = 0;
        }
        else
            x->f_mode = 0;
        
        x->f_ramp       = 100;
		x->f_map        = new Hoa3D::Map(order, numberOfSources);
		x->f_lines      = new MapPolarLines3D(x->f_map->getNumberOfSources());
        x->f_lines->setRamp(0.1 * sys_getsr());
        for (int i = 0; i < x->f_map->getNumberOfSources(); i++)
        {
            x->f_lines->setRadiusDirect(i, 1);
            x->f_lines->setAzimuthDirect(i, 0.);
            x->f_lines->setElevationDirect(i, 0.);
        }
        
		if(x->f_map->getNumberOfSources() == 1)
            eobj_dspsetup(x, 4, x->f_map->getNumberOfHarmonics());
        else
            eobj_dspsetup(x, x->f_map->getNumberOfSources(), x->f_map->getNumberOfHarmonics());
        
        if(x->f_map->getNumberOfSources() == 1)
            x->f_sig_ins    = new t_float[4 * SYS_MAXBLKSIZE];
        else
            x->f_sig_ins    = new t_float[x->f_map->getNumberOfSources() * SYS_MAXBLKSIZE];
		
        x->f_sig_outs       = new t_float[x->f_map->getNumberOfHarmonics() * SYS_MAXBLKSIZE];
        x->f_lines_vector   = new float[x->f_map->getNumberOfSources() * 3];
        
        ebox_attrprocess_viabinbuf(x, d);
	}
    
	return (x);
}
Beispiel #12
0
void *radio_new(t_symbol *s, int argc, t_atom *argv)
{
	t_radio *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_radio *)eobj_new(radio_class);
    flags = 0
    | EBOX_GROWINDI
    ;
	ebox_new((t_ebox *)x, flags);
    x->f_out = (t_outlet *)outlet_new((t_object *)x, &s_anything);
    
	ebox_attrprocess_viabinbuf(x, d);//To ensure the number of items has been setted before we compute the box size (not clean)
    ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
    
	return (x);
}
Beispiel #13
0
void *carray_new(t_symbol *s, int argc, t_atom *argv)
{
	t_carray *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_carray *)eobj_new(carray_class);
    flags = 0
    | EBOX_GROWINDI
    ;
	ebox_new((t_ebox *)x, flags);
    x->f_out = (t_outlet *)bangout((t_object *)x);
	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #14
0
static void *knob_new(t_symbol *s, int argc, t_atom *argv)
{
    t_knob *x = (t_knob *)eobj_new(knob_class);
    t_binbuf* d = binbuf_via_atoms(argc, argv);

    if(x && d)
    {
        ebox_new((t_ebox *)x, 0 | EBOX_GROWLINK);
        ebox_parameter_create((t_ebox *)x, 1);
        x->f_outlet = outlet_new((t_object *)x, &s_float);
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
        
        return x;
    }
    
    return NULL;
}
Beispiel #15
0
static void *incdec_new(t_symbol *s, int argc, t_atom *argv)
{
    t_incdec *x = (t_incdec *)eobj_new(incdec_class);
    t_binbuf* d = binbuf_via_atoms(argc,argv);
    
    if(x && d)
    {
        ebox_new((t_ebox *)x, 0 | EBOX_GROWINDI);
        x->f_clock = clock_new(x, (t_method)incdec_clock);
        x->f_value = 0.;
        x->f_mouse_down = 0;
        x->f_out = outlet_new((t_object *)x, &s_float);
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
    }
    
    return (x);
}
Beispiel #16
0
void *toggle_new(t_symbol *s, int argc, t_atom *argv)
{
	t_toggle *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;

	x = (t_toggle *)eobj_new(toggle_class);
    flags = 0
    | EBOX_GROWLINK
    ;
	ebox_new((t_ebox *)x, flags);
    x->f_active = 0;
    x->f_out = (t_outlet *)floatout(x);

	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #17
0
void *bang_new(t_symbol *s, int argc, t_atom *argv)
{
	t_bang *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_bang *)eobj_new(bang_class);
    flags = 0
    | EBOX_GROWLINK
    ;
	ebox_new((t_ebox *)x, flags);
    x->f_out = (t_outlet *)bangout((t_object *)x);
    x->f_active = 0;
    x->f_clock          = clock_new(x,(t_method)bang_mouseup);
	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #18
0
void *hoa_optim_new(t_symbol *s, long argc, t_atom *argv)
{
    t_hoa_optim *x = NULL;
    t_binbuf *d;
	int	order = 4;
    
    if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
    x = (t_hoa_optim *)eobj_new(hoa_optim_class);
    if (x)
	{
		if(atom_gettype(argv) == A_LONG)
			order = atom_getlong(argv);
        if(order < 1)
            order = 1;
        
        x->f_optim = new Hoa2D::Optim(order, Hoa2D::Optim::InPhase);
		
        if(argc > 1 && atom_gettype(argv+1) == A_SYM)
        {
            if(atom_getsym(argv+1) == gensym("maxRe"))
                x->f_optim->setMode(Hoa2D::Optim::MaxRe);
            else if(atom_getsym(argv+1) == gensym("basic"))
                x->f_optim->setMode(Hoa2D::Optim::Basic);
        }
        
        hoa_optim_deprecated(x, NULL, argc, argv);
        
		eobj_dspsetup(x, x->f_optim->getNumberOfHarmonics(), x->f_optim->getNumberOfHarmonics());
        
        x->f_ins = new t_float[x->f_optim->getNumberOfHarmonics() * SYS_MAXBLKSIZE];
        x->f_outs = new t_float[x->f_optim->getNumberOfHarmonics() * SYS_MAXBLKSIZE];
	}
    
    ebox_attrprocess_viabinbuf(x, d);
    
   	return (x);
}
Beispiel #19
0
void *incdec_new(t_symbol *s, int argc, t_atom *argv)
{
	t_incdec *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;

	x = (t_incdec *)eobj_new(incdec_class);
    flags = 0
    | EBOX_GROWINDI
    ;
	ebox_new((t_ebox *)x, flags);

    x->f_value = 0.;
    x->f_mouse_down = 0;
    x->f_out = (t_outlet *)floatout(x);
	ebox_attrprocess_viabinbuf(x, d);
    x->f_setted = 0;
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #20
0
void *plane_new(t_symbol *s, int argc, t_atom *argv)
{
	t_plane *x =  NULL;
	t_binbuf* d;
    long flags;
	if (!(d = binbuf_via_atoms(argc,argv)))
		return NULL;
    
	x = (t_plane *)eobj_new(plane_class);
    flags = 0
    | EBOX_GROWLINK
    ;
	ebox_new((t_ebox *)x, flags);
    x->f_out_x = (t_outlet *)floatout(x);
    x->f_out_y = (t_outlet *)floatout(x);
    
    x->f_position.x = 0.;
    x->f_position.y = 0.;
    
	ebox_attrprocess_viabinbuf(x, d);
	ebox_ready((t_ebox *)x);
	return (x);
}
Beispiel #21
0
static void *preset_new(t_symbol *s, int argc, t_atom *argv)
{
    t_presetobj *x = (t_presetobj *)eobj_new(preset_class);
    t_binbuf* d = binbuf_via_atoms(argc,argv);
    if(x && d)
    {
        x->f_binbuf = (t_binbuf **)malloc(CREAM_MAXITEMS * sizeof(t_binbuf *));
        for(int i = 0; i < CREAM_MAXITEMS; i++)
        {
            x->f_binbuf[i]  = binbuf_new();
        }
        ebox_new((t_ebox *)x, 0 | EBOX_GROWINDI);

        x->f_binbuf_selected = 0;
        x->f_binbuf_hover    = 0;

        preset_init(x, d);
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
    }

    return (x);
}
Beispiel #22
0
static void *dsp_tilde_new(t_symbol *s, int argc, t_atom *argv)
{
    long flags;
	t_dsp_tilde *x  = (t_dsp_tilde *)eobj_new(dsp_tildeclass);
    t_binbuf* d     = binbuf_via_atoms(argc,argv);

    if(x && d)
    {
        flags = 0
        | EBOX_GROWLINK
        ;
        
        ebox_new((t_ebox *)x, flags);
        eobj_proxynew(x);
        x->f_init = 0;
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
        pd_bind((t_pd *)x, gensym("pd"));
        return x;
    }

	return NULL;
}
Beispiel #23
0
static void *tab_new(t_symbol *s, int argc, t_atom *argv)
{
    t_tab *x = (t_tab *)eobj_new(tab_class);
    t_binbuf* d = binbuf_via_atoms(argc,argv);

    if(x && d)
    {
        ebox_new((t_ebox *)x, 0 | EBOX_GROWINDI | EBOX_FONTSIZE);
        ebox_parameter_create((t_ebox *)x, 1);
        ebox_parameter_setsettergetter_text((t_ebox *)x, 1,
                                            (t_param_setter_t)tab_setter_t,
                                            (t_param_getter_t)tab_getter_t);
        x->f_out_index  = outlet_new((t_object *)x, &s_float);
        x->f_out_item   = outlet_new((t_object *)x, &s_list);
        x->f_out_hover  = outlet_new((t_object *)x, &s_float);

        x->f_item_hover = -1;
        x->f_off        = 1;
        ebox_attrprocess_viabinbuf(x, d);
        ebox_ready((t_ebox *)x);
    }

    return (x);
}