[PD-cvs] pd/src builtins.c, 1.1.2.55, 1.1.2.56 desire.tk, 1.1.2.600.2.327, 1.1.2.600.2.328
chunlee
chunlee at users.sourceforge.net
Thu Aug 9 04:07:57 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13673
Modified Files:
Tag: desiredata
builtins.c desire.tk
Log Message:
more on the macro object
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.327
retrieving revision 1.1.2.600.2.328
diff -C2 -d -r1.1.2.600.2.327 -r1.1.2.600.2.328
*** desire.tk 9 Aug 2007 00:48:34 -0000 1.1.2.600.2.327
--- desire.tk 9 Aug 2007 02:07:52 -0000 1.1.2.600.2.328
***************
*** 4985,4994 ****
}
! def Canvas macro_event_append {e} {
! if {![llength $@macro_q]} {after $@macro_delay [list $self macro_schedule $@macro_delay]}
lappend @macro_q $e
}
! def Canvas macro_schedule {delay} {
if {[llength $@macro_q]} {
set w [focus]
--- 4985,4994 ----
}
! def Canvas macro_event_append {e obj} {
! if {![llength $@macro_q]} {after $@macro_delay [list $self macro_schedule $@macro_delay] $obj}
lappend @macro_q $e
}
! def Canvas macro_schedule {delay obj} {
if {[llength $@macro_q]} {
set w [focus]
***************
*** 5001,5004 ****
--- 5001,5010 ----
ButtonRelease {set name $event-$k; set fudge_motion 1}
Motion {set name $event}
+ bang {
+ after $delay [list $self macro_schedule $@macro_delay] $obj
+ netsend [list .$obj mbang]
+ set @macro_q [lreplace $@macro_q 0 0]
+ return
+ }
default {puts "Error: this event should not have been here.."}
}
***************
*** 5007,5011 ****
if {$event=="KeyPress"} {event generate $w <KeyRelease-$k> -x $x -y $y}
set @macro_q [lreplace $@macro_q 0 0]
! after $delay [list $self macro_schedule $@macro_delay]
}
}
--- 5013,5017 ----
if {$event=="KeyPress"} {event generate $w <KeyRelease-$k> -x $x -y $y}
set @macro_q [lreplace $@macro_q 0 0]
! after $delay [list $self macro_schedule $@macro_delay] $obj
}
}
Index: builtins.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/builtins.c,v
retrieving revision 1.1.2.55
retrieving revision 1.1.2.56
diff -C2 -d -r1.1.2.55 -r1.1.2.56
*** builtins.c 8 Aug 2007 18:40:43 -0000 1.1.2.55
--- builtins.c 9 Aug 2007 02:07:52 -0000 1.1.2.56
***************
*** 987,990 ****
--- 987,991 ----
struct t_macro : t_object {
t_symbol *sym;
+ t_outlet *bangout;
};
***************
*** 993,1008 ****
if (*s->name) x->sym = s;
else x->sym = gensym("macro");
return x;
}
static void macro_send(t_macro *x, t_symbol *s, int argc, t_atom *argv) {
std::ostringstream t;
t << s->name;
for (int i=0; i<argc; i++) {t << " " << &argv[i];}
! sys_mgui(x->dix->canvas, "macro_event_append", "S", t.str().data());
}
static void macro_setup() {
t_class *c = macro_class = class_new2("macro",macro_new,0,sizeof(t_macro),0,"S");
class_addanything(c, macro_send);
}
--- 994,1013 ----
if (*s->name) x->sym = s;
else x->sym = gensym("macro");
+ x-> bangout = outlet_new(x, &s_bang);
return x;
}
+ static void macro_bang(t_macro *x) {outlet_bang(x->bangout);}
+
static void macro_send(t_macro *x, t_symbol *s, int argc, t_atom *argv) {
std::ostringstream t;
t << s->name;
for (int i=0; i<argc; i++) {t << " " << &argv[i];}
! sys_mgui(x->dix->canvas, "macro_event_append", "Sp", t.str().data(), x);
}
static void macro_setup() {
t_class *c = macro_class = class_new2("macro",macro_new,0,sizeof(t_macro),0,"S");
class_addanything(c, macro_send);
+ class_addmethod2(c, macro_bang, "mbang","");
}
More information about the Pd-cvs
mailing list