示例#1
0
t_max_err scope_notify(t_scope *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	if (msg == gensym("attr_modified"))
	{
		if( s == gensym("bgcolor") || s == gensym("drawcircle") )
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("background_layer"));
		}
        else if(s == gensym("drawangles"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("angle_layer"));
		}
		else if(s == gensym("txcolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("angle_layer"));
			jbox_invalidate_layer((t_object *)x, NULL, gensym("contrib_layer"));
		}
		else if(s == gensym("phcolor") || s == gensym("nhcolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("harmonics_layer"));
		}
        else if(s == gensym("order"))
		{
            jbox_invalidate_layer((t_object *)x, NULL, gensym("background_layer"));
			jbox_invalidate_layer((t_object *)x, NULL, gensym("angle_layer"));
			jbox_invalidate_layer((t_object *)x, NULL, gensym("contrib_layer"));
		}
		jbox_redraw((t_jbox *)x);
	}
	return jbox_notify((t_jbox *)x, s, msg, sender, data);
}
示例#2
0
t_max_err space_notify(t_space *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	t_symbol *name;
	if (msg == gensym("attr_modified"))
	{
		name = (t_symbol *)object_method((t_object *)data, gensym("getname"));
		
		if(name == gensym("bgcolor") || name == gensym("borderboxcolor") || name == gensym("cicolor") || name == gensym("cicolorin") )
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("background_layer"));
		}
		else if(name == gensym("harmocolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("harmonics_layer"));
		}
		else if(name == gensym("miccolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("microphones_points_layer"));
		}
		else if(name == gensym("shadow"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, gensym("background_layer"));
			if (x->f_shadow) object_attr_setdisabled((t_object *)x, gensym("cishadcolor"), 0);
			else object_attr_setdisabled((t_object *)x, gensym("cishadcolor"), 1);
		}
		jbox_redraw((t_jbox *)x);
	}
	return jbox_notify((t_jbox *)x, s, msg, sender, data);
}
示例#3
0
t_max_err dbviewer_notify(t_dbviewer *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{	
	if(sender == x->d_view){
		if(msg == ps_dbview_update){
			dbviewer_bang(x);
		}
		else if(msg == ps_dbview_query_changed){	// dump all of the columns
			t_object	*column = NULL;
			t_symbol	**column_names = NULL;
			long		numcolumns = 0;
			long		i;
			
			hashtab_getkeys(x->d_columns, &numcolumns, &column_names);
			if(column_names){
				for(i=0; i<numcolumns; i++){
					column = jdataview_getnamedcolumn(x->d_dataview, column_names[i]);
					if(column)
						jdataview_deletecolumn(x->d_dataview, column);
				}		
				sysmem_freeptr(column_names);
			}
			hashtab_clear(x->d_columns);
		}
		else if(msg == _sym_free){
			object_detach_byptr((t_object *)x, x->d_view);
			x->d_view = NULL;		
		}
	}
	return jbox_notify((t_jbox*)x, s, msg, sender, data);
}
示例#4
0
t_max_err hoa_scope_notify(t_hoa_scope *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	t_symbol *name;
	if (msg == hoa_sym_attr_modified)
	{
		name = (t_symbol *)object_method((t_object *)data, hoa_sym_getname);
		if( name == hoa_sym_bgcolor || name == gensym("order"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, hoa_sym_background_layer);
		}
		else if(name == gensym("phcolor") || name == gensym("nhcolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, hoa_sym_harmonics_layer);
		}
		jbox_redraw((t_jbox *)x);
	}
	return jbox_notify((t_jbox *)x, s, msg, sender, data);
}
示例#5
0
t_max_err meter_notify(t_meter *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	t_symbol*	name;
	
	if (msg == _sym_attr_modified) {
		
		name = (t_symbol *)object_method((t_object *)data, _sym_getname);

		if (name == _sym_bgcolor)
			jbox_redraw((t_jbox*)x);
		if (name == _sym_patching_rect || name == gensym("orientation"))
			meterEffectOrientation(x);
		if (name == gensym("defeat")) {
			if (sys_getdspstate())		{							// if dsp is on & defeat is off then we schedule another tick
				if (x->attrDefeat == 0)
					clock_delay(x->clock, kPollIntervalDefault);
										}
									 }
	}
	return jbox_notify((t_jbox*)x, s, msg, sender, data);
}
示例#6
0
t_max_err meter_notify(t_meter *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	t_symbol *name;
	if (msg == gensym("attr_modified"))
	{
		name = (t_symbol *)object_method((t_object *)data, gensym("getname"));
		if(name == gensym("mbgcolor") || name == gensym("leds_bg") || name == gensym("drawmborder"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, s_skeleton_layer);
            jbox_invalidate_layer((t_object *)x, NULL, s_separator_layer);
		}
		else if(name == gensym("cicolor") || name == gensym("coldcolor") || name == gensym("tepidcolor") || name == gensym("warmcolor") || name == gensym("hotcolor") || name == gensym("overcolor") || name == gensym("numleds"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, s_skeleton_layer);
            jbox_invalidate_layer((t_object *)x, NULL, s_separator_layer);
			jbox_invalidate_layer((t_object *)x, NULL, s_leds_layer);
		}
        else if(name == gensym("drawvector") || name == gensym("energycolor") || name == gensym("velocitycolor"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, s_energy_layer);
            jbox_invalidate_layer((t_object *)x, NULL, s_velocity_layer);
		}
		else if(name == gensym("offset") || name == gensym("metersize") || name == gensym("direction") || name == gensym("orientation"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, s_skeleton_layer);
            jbox_invalidate_layer((t_object *)x, NULL, s_separator_layer);
			jbox_invalidate_layer((t_object *)x, NULL, s_leds_layer);
			jbox_invalidate_layer((t_object *)x, NULL, s_energy_layer);
            jbox_invalidate_layer((t_object *)x, NULL, s_velocity_layer);
		}
		else if(name == gensym("dbperled") || name == gensym("nhotleds") || name == gensym("ntepidleds") || name == gensym("nwarmleds"))
		{
			jbox_invalidate_layer((t_object *)x, NULL, s_leds_layer);
		}
		jbox_redraw((t_jbox *)x);
	}
	return jbox_notify((t_jbox *)x, s, msg, sender, data);
}
t_max_err hoa_gain_notify(t_hoa_gain *x, t_symbol *s, t_symbol *msg, void *sender, void *data)
{
	if (msg == hoa_sym_attr_modified)
	{
		t_symbol *name = (t_symbol *)object_method((t_object *)data, hoa_sym_getname);
        if (name == gensym("knobcolor"))
        {
            jbox_invalidate_layer((t_object *)x, NULL, hoa_sym_background_layer);
            jbox_invalidate_layer((t_object *)x, NULL, gensym("cursor_layer"));
        }
        else if(name == hoa_sym_bgcolor)
		{
            jbox_invalidate_layer((t_object *)x, NULL, hoa_sym_background_layer);
		}
        else if (name == gensym("barcolor"))
        {
            jbox_invalidate_layer((t_object *)x, NULL, gensym("valuerect_layer"));
        }
        jbox_redraw((t_jbox *)x);
	}
    
	return jbox_notify((t_jbox *)x, s, msg, sender, data);
}
示例#8
0
t_max_err hoa_meter_notify(t_hoa_meter *x, t_symbol *s, t_symbol *m, void *sender, void *data)
{
	return jbox_notify((t_jbox *)x, s, m, sender, data);
}