From d83bca27f20fd0c5154fbb2fbcb3cba756f4c1a1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 16 Dec 2004 04:42:27 +0000 Subject: some minor cleanups svn path=/trunk/externals/hcs/hid/; revision=2387 --- TODO | 39 +++++++++++++++++++++++++++++++++++++++ doc/hid_rel2abs-help.pd | 28 +++++++++++++++++----------- hid_graph.pd | 42 ++++++++++++++++++++++++++++++++++-------- 3 files changed, 90 insertions(+), 19 deletions(-) diff --git a/TODO b/TODO index 92a5aec..050e24a 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,16 @@ +============================================================================== += check out GDAM HID implementation + +- GDAM has a HID Manager implementation and probably a Linux one too + +============================================================================== += profile [hid] object and usage + +- find out how much more CPU the names (btn_?, abs, rel, etc) use over using + just floats. + + ============================================================================== = define generic event timestamp struct (probably Pd-ized input_event ) @@ -85,6 +97,23 @@ void hid_post(const char *format, const char *); the events. +============================================================================== += mapping object ideas + +[hid2midi] [midi2hid] + +midi value + bend <-> hid + - use MIDI pitch and bend data for values in between MIDI notes? + +object for Fletcher-Munson Equal-loudness contours + +median average object + +non-linear one-to-many mapping object (one curve spans the whole range of the +movement, the other curve kicks in at a specifable point. Arguments could be +start-point and start-value. + + /++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS @@ -126,3 +155,13 @@ ______________________________________________________________________________ I am pretty sure this is just a hid_print_element_list() display problem. + +______________________________________________________________________________ +- BUG: multiple instances pointing to the same device don't have seperate close/free + +- closing the device on one instance closing that same device on all other + instances of [hid] + +- deleting that instance also closes the device for all other instances + pointing to that same device + diff --git a/doc/hid_rel2abs-help.pd b/doc/hid_rel2abs-help.pd index cf2848b..99c2167 100644 --- a/doc/hid_rel2abs-help.pd +++ b/doc/hid_rel2abs-help.pd @@ -1,4 +1,4 @@ -#N canvas 593 306 465 308 10; +#N canvas 435 259 469 312 10; #X obj 5 2 cnv 15 450 20 empty empty [hid_invert] 2 11 1 18 -233017 -66577 0; #X obj 422 3 pddp; @@ -7,17 +7,21 @@ #X text 244 284 released under the GNU GPL; #X text 30 38 Converts relative axis data into an absolute position. ; -#X obj 205 125 mouse; -#X msg 223 82 open 1; -#X msg 234 100 open 2; -#X obj 187 84 tgl 25 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +#X obj 175 116 mouse; +#X msg 193 73 open 1; +#X msg 204 91 open 2; +#X obj 157 75 tgl 25 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 ; -#X floatatom 142 216 5 0 0 0 - - -; -#X floatatom 183 216 5 0 0 0 - - -; -#X floatatom 282 217 5 0 0 0 - - -; -#X floatatom 241 217 5 0 0 0 - - -; -#X obj 282 183 hid_rel2abs 0 100; -#X obj 103 184 hid_rel2abs -10 10; +#X floatatom 112 207 5 0 0 0 - - -; +#X floatatom 153 207 5 0 0 0 - - -; +#X floatatom 252 208 5 0 0 0 - - -; +#X floatatom 211 208 5 0 0 0 - - -; +#X obj 252 174 hid_rel2abs 0 100; +#X obj 73 175 hid_rel2abs -10 10; +#X text 98 240 For more info:; +#X obj 202 238 all_about_hid_mapping; +#X msg 73 129 reset; +#X msg 284 129 reset; #X connect 5 0 10 0; #X connect 5 0 14 0; #X connect 5 1 12 0; @@ -27,3 +31,5 @@ #X connect 8 0 5 0; #X connect 13 0 11 0; #X connect 14 0 9 0; +#X connect 17 0 14 0; +#X connect 18 0 13 0; diff --git a/hid_graph.pd b/hid_graph.pd index 87fb58d..f972d25 100644 --- a/hid_graph.pd +++ b/hid_graph.pd @@ -1,17 +1,43 @@ -#N canvas 461 501 498 334 10; +#N canvas 161 50 507 536 10; #X obj 20 178 inlet; -#N canvas 0 22 458 308 graph5 0; +#N canvas 0 22 462 312 graph5 0; #X array \$0-hid_graph_array 100 float 2; #X coords 0 1 100 0 100 100 1; #X restore 2 46 graph; -#X obj 20 284 outlet; -#X text 60 217 gives a range of 0-100; -#X text 67 285 output range 0 to 1; -#X obj 20 239 tabread \$0-hid_graph_array; +#X obj 115 368 outlet; +#X text 155 301 gives a range of 0-100; +#X text 162 369 output range 0 to 1; +#X obj 115 323 tabread \$0-hid_graph_array; #X text -4 157 [hid_graph]; -#X obj 20 216 * 100; +#X obj 115 300 * 100; #X text 60 180 input range: 0 to 1; -#X connect 0 0 7 0; +#X obj 20 227 route reset; +#X obj -8 370 f; +#X obj -38 370 +; +#X msg 6 338 0; +#X msg -38 338 1; +#X obj -38 454 / 100; +#X obj -38 431 trigger f f; +#X obj -38 486 tabwrite \$0-hid_graph_array; +#X floatatom 34 460 5 0 0 0 - - -; +#X obj -62 312 until 100; +#X obj -62 288 trigger bang bang; +#X connect 0 0 9 0; #X connect 5 0 2 0; #X connect 7 0 5 0; +#X connect 9 0 19 0; +#X connect 9 1 7 0; +#X connect 10 0 11 1; +#X connect 11 0 15 0; +#X connect 11 0 10 0; +#X connect 12 0 10 1; +#X connect 12 0 11 1; +#X connect 13 0 11 0; +#X connect 14 0 16 0; +#X connect 15 0 14 0; +#X connect 15 1 16 1; +#X connect 15 1 17 0; +#X connect 18 0 13 0; +#X connect 19 0 18 0; +#X connect 19 1 12 0; #X coords 0 0 1 1 120 120 1; -- cgit v1.2.1