From 16b9d16e8997b6a216f12dbe8d498e2e22e90ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Thu, 27 Oct 2005 13:14:09 +0000 Subject: use "src"/"dst" instead of "input"/"output" added [aconnects] (depending on zexy), which can connect using symbolic names for ports,... svn path=/trunk/externals/iem/aconnect/; revision=3770 --- aconnect-help.pd | 48 +++--- aconnect.c | 8 +- aconnects-help.pd | 53 +++++++ aconnects.pd | 429 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 510 insertions(+), 28 deletions(-) create mode 100644 aconnects-help.pd create mode 100644 aconnects.pd diff --git a/aconnect-help.pd b/aconnect-help.pd index 0b02dd2..d9fd9ba 100644 --- a/aconnect-help.pd +++ b/aconnect-help.pd @@ -6,7 +6,6 @@ #X text 71 64 you can also query the current connection status and the clients; #X msg 145 125 devices; -#X obj 145 320 route input output; #X obj 145 384 print READBALE; #X obj 205 354 print WRITEABLE; #X text 204 126 query existing clients and ports attached to them; @@ -83,27 +82,28 @@ versions; ; #X text 50 621 copyleft (c) 2005 IOhannes m zmoelnig; #X text 52 637 published under the GnuGPL v2.0; -#X connect 0 0 5 0; -#X connect 0 1 29 0; +#X obj 145 320 route src dst; +#X connect 0 0 38 0; +#X connect 0 1 28 0; #X connect 4 0 0 0; -#X connect 5 0 6 0; -#X connect 5 0 9 0; -#X connect 5 1 7 0; -#X connect 5 2 22 0; -#X connect 9 0 10 0; -#X connect 9 1 11 0; -#X connect 9 2 12 0; -#X connect 9 3 13 0; -#X connect 14 0 0 0; -#X connect 17 0 18 0; -#X connect 17 1 19 0; -#X connect 17 2 20 0; -#X connect 17 3 21 0; -#X connect 22 0 17 0; -#X connect 22 1 16 0; -#X connect 23 0 0 0; -#X connect 25 0 30 0; -#X connect 26 0 25 0; -#X connect 27 0 25 0; -#X connect 30 0 27 0; -#X connect 33 0 0 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 8 2 11 0; +#X connect 8 3 12 0; +#X connect 13 0 0 0; +#X connect 16 0 17 0; +#X connect 16 1 18 0; +#X connect 16 2 19 0; +#X connect 16 3 20 0; +#X connect 21 0 16 0; +#X connect 21 1 15 0; +#X connect 22 0 0 0; +#X connect 24 0 29 0; +#X connect 25 0 24 0; +#X connect 26 0 24 0; +#X connect 29 0 26 0; +#X connect 32 0 0 0; +#X connect 38 0 5 0; +#X connect 38 0 8 0; +#X connect 38 1 6 0; +#X connect 38 2 21 0; diff --git a/aconnect.c b/aconnect.c index d69b6d1..f338336 100644 --- a/aconnect.c +++ b/aconnect.c @@ -113,13 +113,13 @@ static void print_port(t_aconnect *x, t_symbol*s, snd_seq_t *seq, snd_seq_client static void print_output(t_aconnect *x, snd_seq_t *seq, snd_seq_client_info_t *cinfo, snd_seq_port_info_t *pinfo) { - print_port(x, gensym("output"), seq, cinfo, pinfo); + print_port(x, gensym("dst"), seq, cinfo, pinfo); } static void print_input(t_aconnect *x, snd_seq_t *seq, snd_seq_client_info_t *cinfo, snd_seq_port_info_t *pinfo) { - print_port(x, gensym("input"), seq, cinfo, pinfo); + print_port(x, gensym("src"), seq, cinfo, pinfo); } static void print_connections(t_aconnect *x, snd_seq_t *seq, snd_seq_client_info_t *cinfo, @@ -232,10 +232,10 @@ static void aconnect_listdevices(t_aconnect *x, t_symbol *s) outlet_float(x->x_error, (float)(-2)); return; } - if(&s_==s || gensym("input")==s) + if(&s_==s || gensym("src")==s) do_search_port(x, seq, LIST_INPUT, print_input); - if(&s_==s || gensym("output")==s) + if(&s_==s || gensym("dst")==s) do_search_port(x, seq, LIST_OUTPUT, print_output); if(!ac_seq)snd_seq_close(seq); diff --git a/aconnects-help.pd b/aconnects-help.pd new file mode 100644 index 0000000..43d7fad --- /dev/null +++ b/aconnects-help.pd @@ -0,0 +1,53 @@ +#N canvas 143 59 794 664 10; +#X text 45 13 [aconnects] is [aconnect] with symbolic identifiers; +#X obj 694 594 zexy; +#X text 617 594 depends on; +#X text 54 553 copyright (C) IOhannes m zmoelnig 2005; +#X text 152 574 forum::fuer::umlaeute; +#X text 152 591 institute of electronic music and acoustics \, IEM +; +#X text 154 607 university of music and dramatic arts \, graz \, austria +; +#X text 62 627 published under the GnuGPL v2.0; +#X msg 212 347 reset; +#X obj 116 233 l2s; +#X obj 193 232 l2s; +#X msg 193 209 Midi Through; +#X msg 116 292 connect \$1 \$2 \$3 \$4; +#X msg 116 210 Pure Data; +#X obj 116 260 pack s s s 0; +#X obj 142 190 l2s; +#X msg 142 167 Pure Data Midi-Out 1; +#X obj 116 131 t b b b; +#X msg 205 400 devices; +#X obj 199 460 print error-code; +#X obj 116 483 print aconnect; +#X msg 116 97 bang; +#X text 159 86 connect "Pure Data" \, port "Pure Data Midi-Out 1" with +"Midi Through" \, port 0; +#X text 256 348 re-read the symbolic identifiers; +#X text 265 401 normal messages to [aconnect] work as expected; +#X obj 116 432 aconnects; +#X text 258 295 this is the "connect" message with symbolic identifiers +; +#X obj 116 324 t a a; +#X obj 156 324 print; +#X text 315 237 i use [l2s] to make symbols with spaces; +#X connect 8 0 25 0; +#X connect 9 0 14 0; +#X connect 10 0 14 2; +#X connect 11 0 10 0; +#X connect 12 0 27 0; +#X connect 13 0 9 0; +#X connect 14 0 12 0; +#X connect 15 0 14 1; +#X connect 16 0 15 0; +#X connect 17 0 13 0; +#X connect 17 1 16 0; +#X connect 17 2 11 0; +#X connect 18 0 25 0; +#X connect 21 0 17 0; +#X connect 25 0 20 0; +#X connect 25 1 19 0; +#X connect 27 0 25 0; +#X connect 27 1 28 0; diff --git a/aconnects.pd b/aconnects.pd new file mode 100644 index 0000000..9a610b5 --- /dev/null +++ b/aconnects.pd @@ -0,0 +1,429 @@ +#N canvas 243 174 662 643 10; +#X obj 190 579 zexy; +#X text 113 579 depends on; +#X text 34 453 copyright (C) IOhannes m zmoelnig 2005; +#X text 132 474 forum::fuer::umlaeute; +#X text 132 491 institute of electronic music and acoustics \, IEM +; +#X text 134 507 university of music and dramatic arts \, graz \, austria +; +#X text 42 527 published under the GnuGPL v2.0; +#X obj 88 91 aconnect; +#X msg 88 47 devices; +#X obj 88 68 t a b; +#N canvas 0 0 469 393 input 0; +#X obj 26 68 inlet; +#N canvas 484 415 461 350 cook 0; +#X obj 71 41 inlet; +#X obj 71 292 outlet; +#X obj 71 65 t l l l; +#X msg 115 270 list \$2 \$1; +#X msg 71 187 list \$4 @ \$2; +#X obj 71 207 l2s; +#X obj 71 236 pack s f; +#X obj 122 141 * 256; +#X obj 122 164 +; +#X obj 122 120 unpack; +#X msg 122 98 \$1 \$3; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 10 0; +#X connect 2 2 3 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 9 0 7 0; +#X connect 9 1 8 1; +#X connect 10 0 9 0; +#X restore 267 108 pd cook; +#X msg 293 150 reset; +#X msg 267 129 add \$1 \$2; +#N canvas 0 0 450 300 index 0; +#X obj 110 158 index; +#X obj 110 208 spigot; +#X msg 179 157 0; +#X msg 151 157 1; +#X obj 118 131 t b a b; +#X obj 172 88 inlet; +#X obj 110 234 outlet; +#X obj 84 89 inlet; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 4 1 0 0; +#X connect 4 2 2 0; +#X connect 5 0 4 0; +#X connect 7 0 0 0; +#X restore 163 186 pd index; +#N canvas 0 0 450 300 getIDs 0; +#X obj 122 25 inlet; +#X obj 122 253 outlet; +#X obj 274 43 inlet; +#X obj 122 216 pack; +#X obj 122 88 moses 256; +#X obj 180 110 t f f; +#X obj 180 134 / 256; +#X obj 220 134 % 256; +#X obj 122 51 t f b; +#X msg 152 109 0; +#X obj 180 156 i; +#X connect 0 0 8 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 4 1 5 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 10 0; +#X connect 7 0 3 1; +#X connect 8 0 4 0; +#X connect 8 1 9 0; +#X connect 9 0 3 1; +#X connect 10 0 3 0; +#X restore 163 252 pd getIDs; +#N canvas 0 0 395 408 what 0; +#X obj 82 32 inlet; +#X obj 42 321 outlet; +#X obj 158 321 outlet; +#X text 209 49 list ; +#X text 139 34 could be: list ; +#X text 209 64 list ; +#N canvas 0 0 450 300 float|symbol 0; +#X obj 82 29 inlet; +#X obj 82 186 outlet float; +#X obj 154 156 outlet symbol; +#X obj 82 97 route float; +#X obj 154 133 symbol; +#X obj 82 67 route list; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 5 1 3 0; +#X restore 42 148 pd float|symbol; +#X obj 82 61 t l l; +#X msg 82 95 \$1; +#X msg 112 95 \$2; +#N canvas 0 0 450 300 float|symbol 0; +#X obj 82 29 inlet; +#X obj 82 186 outlet float; +#X obj 154 156 outlet symbol; +#X obj 82 97 route float; +#X obj 154 133 symbol; +#X obj 82 67 route list; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 5 1 3 0; +#X restore 158 148 pd float|symbol; +#X obj 207 285 l2s; +#X obj 207 242 pack s s; +#X msg 207 263 list \$2 @ \$1; +#N canvas 0 0 450 300 demux 0; +#X obj 64 50 inlet; +#X obj 64 256 outlet; +#X obj 167 257 outlet; +#X obj 260 45 inlet; +#X obj 260 73 t f f; +#X obj 260 111 == 0; +#X obj 300 111 != 0; +#X obj 64 224 spigot; +#X obj 167 225 spigot; +#X obj 64 98 t a a; +#X obj 326 39 loadbang; +#X connect 0 0 9 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 7 1; +#X connect 6 0 8 1; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 9 1 8 0; +#X connect 10 0 4 0; +#X restore 142 219 pd demux; +#X obj 158 175 t f b; +#X obj 258 175 t s b; +#X msg 288 197 1; +#X msg 206 191 0; +#X connect 0 0 7 0; +#X connect 6 0 1 0; +#X connect 6 1 14 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 15 0; +#X connect 10 1 16 0; +#X connect 11 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 14 0 1 0; +#X connect 14 1 12 0; +#X connect 15 0 2 0; +#X connect 15 1 18 0; +#X connect 16 0 12 1; +#X connect 16 1 17 0; +#X connect 17 0 14 1; +#X connect 18 0 14 1; +#X restore 26 108 pd what is it ?; +#X obj 26 134 route float; +#X obj 163 281 outlet; +#X obj 195 38 inlet; +#X obj 195 63 route reset; +#X msg 195 110 reset; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 2 0 4 1; +#X connect 3 0 4 1; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 6 1 5 1; +#X connect 7 0 5 0; +#X connect 7 1 4 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 1 0; +#X connect 11 0 4 1; +#X restore 88 188 pd input; +#X msg 139 112 reset; +#X obj 88 246 pack 0 0 0 0; +#X obj 88 216 unpack; +#X obj 176 216 unpack; +#X msg 88 271 connect \$1 \$2 \$3 \$4; +#X obj 281 33 inlet; +#X obj 281 74 b; +#X obj 281 53 route reset connect; +#X obj 345 73 a2l; +#X obj 345 93 t l l; +#X msg 345 119 list \$1 \$2; +#X msg 375 139 list \$3 \$4; +#X obj 88 340 aconnect; +#X obj 88 24 loadbang; +#X obj 88 387 outlet; +#X obj 139 387 outlet; +#N canvas 0 0 469 393 output 0; +#X obj 26 68 inlet; +#N canvas 484 415 461 350 cook 0; +#X obj 71 41 inlet; +#X obj 71 292 outlet; +#X obj 71 65 t l l l; +#X msg 115 270 list \$2 \$1; +#X msg 71 187 list \$4 @ \$2; +#X obj 71 207 l2s; +#X obj 71 236 pack s f; +#X obj 122 141 * 256; +#X obj 122 164 +; +#X obj 122 120 unpack; +#X msg 122 98 \$1 \$3; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 10 0; +#X connect 2 2 3 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 9 0 7 0; +#X connect 9 1 8 1; +#X connect 10 0 9 0; +#X restore 267 108 pd cook; +#X msg 293 150 reset; +#X msg 267 129 add \$1 \$2; +#N canvas 0 0 450 300 index 0; +#X obj 110 158 index; +#X obj 110 208 spigot; +#X msg 179 157 0; +#X msg 151 157 1; +#X obj 118 131 t b a b; +#X obj 172 88 inlet; +#X obj 110 234 outlet; +#X obj 84 89 inlet; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 4 1 0 0; +#X connect 4 2 2 0; +#X connect 5 0 4 0; +#X connect 7 0 0 0; +#X restore 163 186 pd index; +#N canvas 0 0 450 300 getIDs 0; +#X obj 122 25 inlet; +#X obj 122 253 outlet; +#X obj 274 43 inlet; +#X obj 122 216 pack; +#X obj 122 88 moses 256; +#X obj 180 110 t f f; +#X obj 180 134 / 256; +#X obj 220 134 % 256; +#X obj 122 51 t f b; +#X msg 152 109 0; +#X obj 180 156 i; +#X connect 0 0 8 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 4 1 5 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 10 0; +#X connect 7 0 3 1; +#X connect 8 0 4 0; +#X connect 8 1 9 0; +#X connect 9 0 3 1; +#X connect 10 0 3 0; +#X restore 163 252 pd getIDs; +#N canvas 0 0 395 408 what 0; +#X obj 82 32 inlet; +#X obj 42 321 outlet; +#X obj 158 321 outlet; +#X text 209 49 list ; +#X text 139 34 could be: list ; +#X text 209 64 list ; +#N canvas 0 0 450 300 float|symbol 0; +#X obj 82 29 inlet; +#X obj 82 186 outlet float; +#X obj 154 156 outlet symbol; +#X obj 82 97 route float; +#X obj 154 133 symbol; +#X obj 82 67 route list; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 5 1 3 0; +#X restore 42 148 pd float|symbol; +#X obj 82 61 t l l; +#X msg 82 95 \$1; +#X msg 112 95 \$2; +#N canvas 0 0 450 300 float|symbol 0; +#X obj 82 29 inlet; +#X obj 82 186 outlet float; +#X obj 154 156 outlet symbol; +#X obj 82 97 route float; +#X obj 154 133 symbol; +#X obj 82 67 route list; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 5 1 3 0; +#X restore 158 148 pd float|symbol; +#X obj 207 285 l2s; +#X obj 207 242 pack s s; +#X msg 207 263 list \$2 @ \$1; +#N canvas 0 0 450 300 demux 0; +#X obj 64 50 inlet; +#X obj 64 256 outlet; +#X obj 167 257 outlet; +#X obj 260 45 inlet; +#X obj 260 73 t f f; +#X obj 260 111 == 0; +#X obj 300 111 != 0; +#X obj 64 224 spigot; +#X obj 167 225 spigot; +#X obj 64 98 t a a; +#X obj 326 39 loadbang; +#X connect 0 0 9 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 7 1; +#X connect 6 0 8 1; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 9 0 7 0; +#X connect 9 1 8 0; +#X connect 10 0 4 0; +#X restore 142 219 pd demux; +#X obj 158 175 t f b; +#X obj 258 175 t s b; +#X msg 288 197 1; +#X msg 206 191 0; +#X connect 0 0 7 0; +#X connect 6 0 1 0; +#X connect 6 1 14 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 15 0; +#X connect 10 1 16 0; +#X connect 11 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 14 0 1 0; +#X connect 14 1 12 0; +#X connect 15 0 2 0; +#X connect 15 1 18 0; +#X connect 16 0 12 1; +#X connect 16 1 17 0; +#X connect 17 0 14 1; +#X connect 18 0 14 1; +#X restore 26 108 pd what is it ?; +#X obj 26 134 route float; +#X obj 163 281 outlet; +#X obj 195 38 inlet; +#X obj 195 63 route reset; +#X msg 195 110 reset; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 2 0 4 1; +#X connect 3 0 4 1; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 6 1 5 1; +#X connect 7 0 5 0; +#X connect 7 1 4 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 1 0; +#X connect 11 0 4 1; +#X restore 176 188 pd output; +#X obj 88 131 route src dst; +#X connect 7 0 28 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 9 1 11 0; +#X connect 10 0 13 0; +#X connect 11 0 10 1; +#X connect 11 0 27 1; +#X connect 12 0 15 0; +#X connect 13 0 12 0; +#X connect 13 1 12 1; +#X connect 14 0 12 2; +#X connect 14 1 12 3; +#X connect 15 0 23 0; +#X connect 16 0 18 0; +#X connect 17 0 8 0; +#X connect 18 0 17 0; +#X connect 18 1 19 0; +#X connect 18 2 23 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 20 1 22 0; +#X connect 21 0 10 0; +#X connect 22 0 27 0; +#X connect 23 0 25 0; +#X connect 23 1 26 0; +#X connect 24 0 8 0; +#X connect 27 0 14 0; +#X connect 28 0 10 1; +#X connect 28 1 27 1; -- cgit v1.2.1