aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil S. Matheussen <ksvalast@users.sourceforge.net>2004-01-12 13:25:12 +0000
committerKjetil S. Matheussen <ksvalast@users.sourceforge.net>2004-01-12 13:25:12 +0000
commit3a3bc5212c4956426f967d3dacc076905cac14d6 (patch)
treee1e4d67b0e679707cc251059ead412cbd03c7657
parente4a6ea79702e5f0356a7c5a04c54d12a09eb704b (diff)
eval message to evaluate scheme code in the global environment
svn path=/trunk/externals/k_guile/; revision=1256
-rw-r--r--help-k_guile.pd26
-rw-r--r--k_guile.c12
2 files changed, 26 insertions, 12 deletions
diff --git a/help-k_guile.pd b/help-k_guile.pd
index b0458ff..c190314 100644
--- a/help-k_guile.pd
+++ b/help-k_guile.pd
@@ -1,17 +1,17 @@
#N canvas 372 11 707 547 10;
#X obj 101 135 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 93 256;
+-262144 -1 -1 0 256;
#X obj 101 162 k_guile add.scm;
#X obj 101 195 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 220 256;
+-262144 -1 -1 0 256;
#X obj 201 137 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 127 256;
+-262144 -1 -1 0 256;
#X msg 38 134 reload;
#X obj 341 157 k_guile send_receive.scm;
#X msg 341 127 reload;
#X obj 483 130 s in;
#X obj 512 97 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 6 256;
+-262144 -1 -1 0 256;
#X obj 475 186 r out;
#X msg 468 95 gakk;
#X obj 475 215 print;
@@ -21,26 +21,28 @@
#X text 27 19 k_guile - guile external for PD.;
#X text 26 36 Kjetil S. Matheussen \, 2004;
#X obj 130 301 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 62 256;
+-262144 -1 -1 0 256;
#X obj 255 300 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 82 256;
+-262144 -1 -1 0 256;
#X obj 71 301 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 22 256;
+-262144 -1 -1 0 256;
#X obj 71 388 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 95 256;
+-262144 -1 -1 0 256;
#X obj 146 389 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 267 256;
+-262144 -1 -1 0 256;
#X obj 213 390 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 428 256;
+-262144 -1 -1 0 256;
#X msg 17 300 reload;
#X obj 75 341 k_guile inout.scm;
#X obj 436 346 k_guile mozilla.scm;
#X msg 436 301 start;
#X text 300 496 Note \; you can not change the number of inlets and
-outlets by sending "reload".;
+outlets by sending reload .;
#X msg 316 299 testing;
#X msg 190 299 testing;
#X msg 409 95 we 3 2;
+#X msg 512 286 eval (newline);
+#X msg 512 309 eval (display(environ));
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 1 1;
@@ -62,3 +64,5 @@ outlets by sending "reload".;
#X connect 27 0 23 396;
#X connect 28 0 23 284;
#X connect 29 0 7 0;
+#X connect 30 0 24 0;
+#X connect 31 0 24 0;
diff --git a/k_guile.c b/k_guile.c
index 62e86af..4e01f3b 100644
--- a/k_guile.c
+++ b/k_guile.c
@@ -100,7 +100,7 @@ static SCM pd_backtrace_run1;
static SCM pd_backtrace_run2;
static SCM pd_backtrace_run3;
static SCM pd_backtrace_run4;
-
+static SCM eval_string_func;
@@ -473,6 +473,8 @@ static void k_guile_init(void){
pd_backtrace_run4=EVAL("pd-backtrace-run4");
scm_permanent_object(pd_backtrace_run4);
+
+ eval_string_func=EVAL("eval-string");
}
@@ -557,6 +559,12 @@ static void k_guile_reload(t_k_guile *x){
k_guile_load(x,x->filename);
}
+static void k_guile_eval(t_k_guile *x,t_symbol *s){
+ scm_call_2(pd_backtrace_run1,eval_string_func,MAKE_STRING(s->s_name));
+}
+
+//static void k_guile_evalfile(t_k_guile *x,t_symbol *s){
+//}
/*****************************************************************************************************
@@ -573,6 +581,8 @@ void k_guile_setup(void){
class_addanything(k_guile_class, (t_method)k_guile_anything_first);
class_addmethod(k_guile_class, (t_method)k_guile_reload, gensym("reload"), 0);
+ class_addmethod(k_guile_class, (t_method)k_guile_eval, gensym("eval"), A_DEFSYM, 0);
+ //class_addmethod(k_guile_class, (t_method)k_guile_evalfile, gensym("evalfile"), A_DEFSYM, 0);
class_sethelpsymbol(k_guile_class, gensym("help-k_guile.pd"));