aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-12-16 04:42:27 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-12-16 04:42:27 +0000
commitd83bca27f20fd0c5154fbb2fbcb3cba756f4c1a1 (patch)
tree4bfbd09ebba1299af774e4e29e38c3f9661f8cd5
parent0caf0259493dc3bb76867e236cb67f133300ede0 (diff)
some minor cleanups
svn path=/trunk/externals/hcs/hid/; revision=2387
-rw-r--r--TODO39
-rw-r--r--doc/hid_rel2abs-help.pd28
-rw-r--r--hid_graph.pd42
3 files changed, 90 insertions, 19 deletions
diff --git a/TODO b/TODO
index 92a5aec..050e24a 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,17 @@
==============================================================================
+= 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 )
The question is whether the timeval is needed at all. Linux and Darwin
@@ -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;