diff options
Diffstat (limited to 'exciter')
-rwxr-xr-x[-rw-r--r--] | exciter/CHANGES.LOG (renamed from exciter/CHANGE.LOG) | 6 | ||||
-rw-r--r-- | exciter/exciter.c | 10 | ||||
-rwxr-xr-x | exciter/exciter.tk2c | 94 | ||||
-rw-r--r-- | exciter/help-exciter.pd | 71 | ||||
-rwxr-xr-x | exciter/tk2c.bash | 24 |
5 files changed, 199 insertions, 6 deletions
diff --git a/exciter/CHANGE.LOG b/exciter/CHANGES.LOG index 358d509..676922d 100644..100755 --- a/exciter/CHANGE.LOG +++ b/exciter/CHANGES.LOG @@ -1,3 +1,9 @@ +0.5 + fixed coordinates for GOP support +0.4 + added GOP support +0.3 + adapted for pd 0.37 0.2 fixed : could set event nnumber to one do not set "started" at initialization diff --git a/exciter/exciter.c b/exciter/exciter.c index a8fdeda..798f372 100644 --- a/exciter/exciter.c +++ b/exciter/exciter.c @@ -44,9 +44,8 @@ #include "t_tk.h" #include "exciter.h" -#ifdef _WIN32 +#ifdef NT #include <io.h> -#include "timeval.h" #else #include <unistd.h> #endif @@ -63,7 +62,7 @@ void canvas_startmotion(t_canvas *x); #define EXCITER_PIXEL_GRAIN 5 -static char *exciter_version = "exciter: a bang-events sequencer, version 0.4 (ydegoyon@free.fr)"; +static char *exciter_version = "exciter: a bang-events sequencer, version 0.5 (ydegoyon@free.fr)"; t_widgetbehavior exciter_widgetbehavior; static t_class *exciter_class; @@ -322,7 +321,7 @@ static void exciter_save(t_gobj *z, t_binbuf *b) int ei,gi; binbuf_addv(b, "ssiisiiifii", gensym("#X"),gensym("obj"), - (t_int)text_xpix(&x->x_obj, x->x_glist), (t_int)text_ypix(&x->x_obj, x->x_glist), + (t_int)x->x_obj.te_xpix, (t_int)x->x_obj.te_ypix, gensym("exciter"), x->x_width, x->x_height, x->x_nbevents, x->x_timegrain, x->x_loop, x->x_save @@ -350,8 +349,7 @@ static void exciter_properties(t_gobj *z, t_glist *owner) t_exciter *x=(t_exciter *)z; sprintf(buf, "pdtk_exciter_dialog %%s %d %d %d %.2f %d %d\n", - (int)x->x_width, (int)x->x_height, (int)x->x_nbevents, - x->x_timegrain, x->x_loop, x->x_save ); + x->x_width, x->x_height, x->x_nbevents, x->x_timegrain, x->x_loop, x->x_save ); // post("exciter_properties : %s", buf ); gfxstub_new(&x->x_obj.ob_pd, x, buf); } diff --git a/exciter/exciter.tk2c b/exciter/exciter.tk2c new file mode 100755 index 0000000..e201737 --- /dev/null +++ b/exciter/exciter.tk2c @@ -0,0 +1,94 @@ +// ########### exciter procedures -- ydegoyon@free.fr ######### +sys_gui("proc exciter_apply {id} {\n"); +// strip "." from the TK id to make a variable name suffix +sys_gui("set vid [string trimleft $id .]\n"); +// for each variable, make a local variable to hold its name... +sys_gui("set var_graph_width [concat graph_width_$vid]\n"); +sys_gui("global $var_graph_width\n"); +sys_gui("set var_graph_height [concat graph_height_$vid]\n"); +sys_gui("global $var_graph_height\n"); +sys_gui("set var_graph_nbevents [concat graph_nbevents_$vid]\n"); +sys_gui("global $var_graph_nbevents\n"); +sys_gui("set var_graph_timegrain [concat graph_timegrain_$vid]\n"); +sys_gui("global $var_graph_timegrain\n"); +sys_gui("set var_graph_loop [concat graph_loop_$vid]\n"); +sys_gui("global $var_graph_loop\n"); +sys_gui("set var_graph_save [concat graph_save_$vid]\n"); +sys_gui("global $var_graph_save\n"); +sys_gui("set cmd [concat $id dialog [eval concat $$var_graph_width] [eval concat $$var_graph_height] [eval concat $$var_graph_nbevents] [eval concat $$var_graph_timegrain] [eval concat $$var_graph_loop] [eval concat $$var_graph_save] \\;]\n"); +// puts stderr $cmd +sys_gui("pd $cmd\n"); +sys_gui("}\n"); +sys_gui("proc exciter_cancel {id} {\n"); +sys_gui("set cmd [concat $id cancel \\;]\n"); +// puts stderr $cmd +sys_gui("pd $cmd\n"); +sys_gui("}\n"); +sys_gui("proc exciter_ok {id} {\n"); +sys_gui("exciter_apply $id\n"); +sys_gui("exciter_cancel $id\n"); +sys_gui("}\n"); +sys_gui("proc pdtk_exciter_dialog {id width height nbevents timegrain loop save } {\n"); +sys_gui("set vid [string trimleft $id .]\n"); +sys_gui("set var_graph_width [concat graph_width_$vid]\n"); +sys_gui("global $var_graph_width\n"); +sys_gui("set var_graph_height [concat graph_height_$vid]\n"); +sys_gui("global $var_graph_height\n"); +sys_gui("set var_graph_nbevents [concat graph_nbevents_$vid]\n"); +sys_gui("global $var_graph_nbevents\n"); +sys_gui("set var_graph_timegrain [concat graph_timegrain_$vid]\n"); +sys_gui("global $var_graph_timegrain\n"); +sys_gui("set var_graph_loop [concat graph_loop_$vid]\n"); +sys_gui("global $var_graph_loop\n"); +sys_gui("set var_graph_save [concat graph_save_$vid]\n"); +sys_gui("global $var_graph_save\n"); +sys_gui("set $var_graph_width $width\n"); +sys_gui("set $var_graph_height $height\n"); +sys_gui("set $var_graph_nbevents $nbevents\n"); +sys_gui("set $var_graph_timegrain $timegrain\n"); +sys_gui("set $var_graph_loop $loop\n"); +sys_gui("set $var_graph_save $save\n"); +sys_gui("toplevel $id\n"); +sys_gui("wm title $id {exciter}\n"); +sys_gui("wm protocol $id WM_DELETE_WINDOW [concat exciter_cancel $id]\n"); +sys_gui("label $id.label -text {EXCITER PROPERTIES}\n"); +sys_gui("pack $id.label -side top\n"); +sys_gui("frame $id.buttonframe\n"); +sys_gui("pack $id.buttonframe -side bottom -fill x -pady 2m\n"); +sys_gui("button $id.buttonframe.cancel -text {Cancel} -command \"exciter_cancel $id\"\n"); +sys_gui("button $id.buttonframe.apply -text {Apply} -command \"exciter_apply $id\"\n"); +sys_gui("button $id.buttonframe.ok -text {OK} -command \"exciter_ok $id\"\n"); +sys_gui("pack $id.buttonframe.cancel -side left -expand 1\n"); +sys_gui("pack $id.buttonframe.apply -side left -expand 1\n"); +sys_gui("pack $id.buttonframe.ok -side left -expand 1\n"); +sys_gui("frame $id.1rangef\n"); +sys_gui("pack $id.1rangef -side top\n"); +sys_gui("label $id.1rangef.lwidth -text \"Width :\"\n"); +sys_gui("entry $id.1rangef.width -textvariable $var_graph_width -width 7\n"); +sys_gui("pack $id.1rangef.lwidth $id.1rangef.width -side left\n"); +sys_gui("frame $id.2rangef\n"); +sys_gui("pack $id.2rangef -side top\n"); +sys_gui("label $id.2rangef.lheight -text \"Height :\"\n"); +sys_gui("entry $id.2rangef.height -textvariable $var_graph_height -width 7\n"); +sys_gui("pack $id.2rangef.lheight $id.2rangef.height -side left\n"); +sys_gui("frame $id.3rangef\n"); +sys_gui("pack $id.3rangef -side top\n"); +sys_gui("label $id.3rangef.lnbevents -text \"Nb Events :\"\n"); +sys_gui("entry $id.3rangef.nbevents -textvariable $var_graph_nbevents -width 7\n"); +sys_gui("pack $id.3rangef.lnbevents $id.3rangef.nbevents -side left\n"); +sys_gui("frame $id.4rangef\n"); +sys_gui("pack $id.4rangef -side top\n"); +sys_gui("label $id.4rangef.ltimegrain -text \"Time Grain (seconds) :\"\n"); +sys_gui("entry $id.4rangef.timegrain -textvariable $var_graph_timegrain -width 7\n"); +sys_gui("pack $id.4rangef.ltimegrain $id.4rangef.timegrain -side left\n"); +sys_gui("checkbutton $id.loop -text {Loop} -variable $var_graph_loop -anchor w\n"); +sys_gui("pack $id.loop -side top\n"); +sys_gui("checkbutton $id.save -text {Save contents} -variable $var_graph_save -anchor w\n"); +sys_gui("pack $id.save -side top\n"); +sys_gui("bind $id.1rangef.width <KeyPress-Return> [concat exciter_ok $id]\n"); +sys_gui("bind $id.2rangef.height <KeyPress-Return> [concat exciter_ok $id]\n"); +sys_gui("bind $id.3rangef.nbevents <KeyPress-Return> [concat exciter_ok $id]\n"); +sys_gui("bind $id.4rangef.timegrain <KeyPress-Return> [concat exciter_ok $id]\n"); +sys_gui("focus $id.1rangef.width\n"); +sys_gui("}\n"); +// ########### exciter procedures END -- ydegoyon@free.fr ######### diff --git a/exciter/help-exciter.pd b/exciter/help-exciter.pd new file mode 100644 index 0000000..ab60831 --- /dev/null +++ b/exciter/help-exciter.pd @@ -0,0 +1,71 @@ +#N canvas 103 12 970 685 10; +#X text 457 89 (invoke with <right mouse>Properties ); +#X text 458 78 You can set the following properties :; +#X text 478 110 * Width : graphical x size; +#X text 478 121 * Height : graphical y size; +#X text 612 498 bugs and comments @ ydegoyon@free.fr; +#X msg 587 271 \; pd dsp 0; +#X msg 653 271 \; pd dsp 1; +#X obj 32 56 exciter 400 200 16 0.1 1 1 1 14 1 15 3 52 5 30 5 69 6 +8 8 20 9 32 9 74 10 79 11 14 11 74 12 79 13 40 13 79 15 78; +#X text 456 50 Exciter controls a list of bang-events scheduled in +time; +#X obj 22 282 print e1; +#X text 478 132 * Number of events : number of simultaneous events +; +#X text 477 155 * Loop : looping flag; +#X msg 193 29 reset; +#X msg 103 29 pause; +#X msg 31 29 start; +#X msg 145 29 resume; +#X msg 70 29 stop; +#X text 44 363 so that events are triggered; +#X obj 653 249 loadbang; +#X msg 239 30 clear; +#X text 102 389 Note 2 : the event happens in the center (?) of the +polygon; +#X msg 286 30 dump; +#X text 478 144 * Time Grain : time grain betweeen each event; +#X obj 80 283 print e3; +#X obj 137 284 print e5; +#X obj 194 283 print e7; +#X obj 252 284 print e9; +#X obj 308 284 print e11; +#X obj 366 284 print e13; +#X obj 429 285 print e15; +#X obj 45 307 print e2; +#X obj 103 308 print e4; +#X obj 217 308 print e8; +#X obj 275 309 print e10; +#X obj 335 310 print e12; +#X obj 396 309 print e14; +#X obj 457 309 print e16; +#X obj 160 309 print e6; +#X text 523 411 ( 10 ms ) \, it won't be processed properly; +#X text 523 399 WARNING : you can't set time grain below 1 clock tick +; +#X text 46 352 Note 1 : the dsp has to be on; +#X connect 7 0 9 0; +#X connect 7 1 30 0; +#X connect 7 2 23 0; +#X connect 7 3 31 0; +#X connect 7 4 24 0; +#X connect 7 5 37 0; +#X connect 7 6 25 0; +#X connect 7 7 32 0; +#X connect 7 8 26 0; +#X connect 7 9 33 0; +#X connect 7 10 27 0; +#X connect 7 11 34 0; +#X connect 7 12 28 0; +#X connect 7 13 35 0; +#X connect 7 14 29 0; +#X connect 7 15 36 0; +#X connect 12 0 7 0; +#X connect 13 0 7 0; +#X connect 14 0 7 0; +#X connect 15 0 7 0; +#X connect 16 0 7 0; +#X connect 18 0 6 0; +#X connect 19 0 7 0; +#X connect 21 0 7 0; diff --git a/exciter/tk2c.bash b/exciter/tk2c.bash new file mode 100755 index 0000000..9dfeb03 --- /dev/null +++ b/exciter/tk2c.bash @@ -0,0 +1,24 @@ +#!/bin/bash + +#set -x + +while read line +do + for word in $line + do + if [ "X"$word != "X"${word#\#} ] + then + echo // ${line#\#} + break + else + line=${line//\'/\\\'} +#useless, slashes never gets in + line=${line//\\/\\\\} +#this one's dirty, i know + line=${line//;/\\\\;} + line=${line//\"/\\\"} + echo 'sys_gui("'$line'\n");' + break + fi + done +done |