aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Geiger <ggeiger@users.sourceforge.net>2003-09-17 07:26:12 +0000
committerGuenter Geiger <ggeiger@users.sourceforge.net>2003-09-17 07:26:12 +0000
commit639b50391267932678b475b6a69074ac8a2203cc (patch)
tree1d6560d1eb056e26066837bf6448885cf79ec6bb
parent24299686af2f4fabca5b82d98d1e0b0a880ba216 (diff)
added symbol method
svn path=/trunk/externals/ggee/; revision=981
-rwxr-xr-xgui/state.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/gui/state.c b/gui/state.c
index dedd9ab..c2e26f0 100755
--- a/gui/state.c
+++ b/gui/state.c
@@ -251,7 +251,6 @@ void state_load(t_state *x)
x->x_loading = 0;
fclose(fp);
-
}
void state_float(t_state *x,t_floatarg f)
@@ -266,6 +265,7 @@ void state_float(t_state *x,t_floatarg f)
}
state_load(x);
+ outlet_float(x->x_obj.ob_outlet,x->x_slot);
}
@@ -279,10 +279,26 @@ void state_anything(t_state *x,t_symbol* s,t_int argc,t_atom* argv)
}
state_load(x);
+ outlet_symbol(x->x_obj.ob_outlet,x->x_symslot);
+}
+
+
+void state_symbol(t_state *x,t_symbol* s)
+{
+ x->x_symslot = s;
+ if (x->x_save) {
+ x->x_save = 0;
+ state_dosave(x);
+ return;
+ }
+
+ state_load(x);
+ outlet_symbol(x->x_obj.ob_outlet,x->x_symslot);
}
+
void state_bang(t_state *x)
{
if (x->x_symslot) outlet_symbol(x->x_obj.ob_outlet,x->x_symslot);
@@ -319,6 +335,7 @@ void state_setup(void)
class_addmethod(state_class,(t_method) state_save, gensym("save"), 0);
class_addanything(state_class,(t_method) state_anything);
class_addbang(state_class,state_bang);
+ class_addsymbol(state_class,state_symbol);
/* class_addmethod(state_class, (t_method)state_load, gensym("load"), 0);*/
}