Errors using linux event objects
Hi all. I'm off and running with a Pd project on my Mac, but apparently using my wacom intuos 3 tablet to its full extent is a lost cause on Mac, so I've decided to hook up a separate Linux machine to gather and send tablet data.
I've converted my evil Dell XP laptop to a sexy dual-boot Ubuntu Gutsy machine, my tablet is all installed and working with the latest driver from linuxwacom.sf.net, and Pd-Extended looks and works great. I'm using the 0.40.3 pd-extended package (I know it's unsupported, but all the issues below are identical when using the 0.39.3 release, which I tried first, so hopefully you'll indulge me anyway .
Problem is that the tablet and Pd still won't play nice together. When I use any of the linux event objects (hid, hidio, linuxevent) to open my tablet device (/dev/input/wacom), it gets most of the way there, which I can see because lots of good info shows up in the Pd console, but no events are actually generated, and I see errors in the terminal window from which I launched Pd:
evdev EVIOCGABS ioctl: Invalid argument
Can anyone help with this? I realize that this really concerns the event externals, but I'm flexible about using anything which will get the job done. If you let me know what info will help, I'll provide, and if there's any other way I can be generally helpful, let me know and I'll get right on it.
Thanks in advance,
Alex
Info which may be of use...
Here's the first line from my dmesg:
dmesg
[ 0.000000] Linux version 2.6.22-14-generic (buildd@terranova) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Tue Dec 18 08:02:57 UTC 2007 (Ubuntu 2.6.22-14.47-generic)
Here's what shows up in the terminal when I launch Pd via "sudo pd":
priority 8 scheduling enabled.
priority 6 scheduling enabled.
tk scaling is 1.33483483483
<init> : Avifile RELEASE-0.7.47-070916-12:47-4.1.3
<init> : Available CPU flags: fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe up est tm2
<init> : 1200.00 MHz Intel(R) Pentium(R) M processor 1600MHz detected
Here's the errors which show up in the terminal when attempting to open /dev/input/wacom with any of the event objects:
evdev EVIOCGABS ioctl: Invalid argument
evdev EVIOCGABS ioctl: Invalid argument
evdev EVIOCGABS ioctl: Invalid argument
evdev EVIOCGABS ioctl: Invalid argument
(...lots more of this...)
Here's what shows up in the Pd console (looks good):
info: open 1
info: device 6
info: total 0
info: poll 25
info: range key btn_0 0 0
info: range key btn_1 0 0
info: range key btn_2 0 0
info: range key btn_3 0 0
info: range key btn_4 0 0
info: range key btn_5 0 0
info: range key btn_6 0 0
info: range key btn_7 0 0
info: range key btn_0 0 0
info: range key btn_1 0 0
info: range key btn_2 0 0
info: range key btn_3 0 0
info: range key btn_4 0 0
info: range key btn_0 0 0
info: range key btn_1 0 0
info: range key btn_2 0 0
info: range key btn_3 0 0
info: range key btn_4 0 0
info: range key btn_5 0 0
info: range key btn_6 0 0
info: range key btn_7 0 0
info: range key btn_10 0 0
info: range key btn_11 0 0
info: range key btn_12 0 0
info: range rel rel_wheel 0 0
info: range abs abs_x 0 54204
info: range abs abs_y 0 31750
info: range abs abs_rx 0 4096
info: range abs abs_ry 0 4096
info: range abs abs_rz -900 899
info: range abs abs_throttle -1023 1023
info: range abs abs_wheel 0 0
info: range abs abs_pressure 0 0
info: range abs abs_distance 0 0
info: range abs abs_tilt_x 0 0
info: range abs abs_tilt_y 0 0
info: range abs abs_misc 0 0
info: range msc msc_serial 0 0
info: vendorID 0x0026
info: productID 0x01e9
info: name Wacom Intuos3 6x11
eom
GUI for PD, or loading PD and Patch from other GUI application
Depending on the type of socket there's some buffering latency. Nothing to worry about for most applications. The nice advantage is that with IP socks you can have the GUI on a completely different machine from your DSP
Afaik some disadvantages/issues worth mentioning:
There's no equivalent to a "bang" in most toolkits, but a push-button does the job okay if you act on the button_down event.
Some of Pds GUI objects have "hidden" built in capabilities, like VU is more than just a bar graph display, it does some of the slugging necessary for a proper VU response. You might need to add a bit of extra code to some of your GUI display objects like that.
Pd slider GUIs don't have a step size, but most toolkit sliders do. This is an advantage that may give you pause for thought when redesigning a stand-alone GUI for a Pd patch.
And there's no easy way to represent graphs for arrays on a peripheral GUI. This opens a whole can of worms about good GUI design and decoupling. You either end up with a potentially slow application that shovels loads of data about when you update something, or you break good practice by calculating display code inside your GUI. There's no magic bullet. I tend to avoid fancy things like envelope graphs, meters and so on when making a remote GUI.
Step sequencer
Hi guys,
I'm pretty new to pd, but I've been getting my feet wet with C / C++ the past couple years.
I've got an idea for an external, and I can't find anything similar on the boards. I don't know if it's been discussed before, if so, please let me know!
Anyway the idea is an expansion on the [metro] object. Imagine an array of 8 metro objects, each with a time inlet and a bang outlet. So it would send a bang, then wait the specified amount of time, and step to the next inlet send a bang... wait.. etc..
Sort of like:
num num num num (ms)
| | | |
=----------=---------=----------=
| step sequencer |
| |
=----------=---------=----------=
| | | |
bang bang bang bang
What do you think? Is it possible? Anyone want to collaborate / help/ point me in a direction .... ?
thanks!
Dave
Scanning through pixel values of an image
Hi.
I am having trouble with getting pix_data to scan though the image values of the picture.
I am open for suggestions if there is another way to do this.
Can anyone help me?
mvh.
evemgr
here`s my code
#N canvas 637 81 628 488 12;
#X obj 190 159 pix_resize 10 10;
#X obj 171 238 pix_data;
#X floatatom 200 337 5 0 0 0 - - -;
#X floatatom 245 337 5 0 0 0 - - -;
#X floatatom 291 337 5 0 0 0 - - -;
#X floatatom 289 258 5 0 0 0 - - -;
#X obj 200 290 unpack 0 0 0;
#X obj 171 418 pix_draw;
#N canvas 0 0 466 316 image 0;
#X obj 77 48 inlet;
#X obj 77 344 outlet;
#X obj 223 55 inlet;
#X msg 223 123 open \$1;
#X obj 223 100 openpanel;
#X obj 77 205 pix_image c:/lyder/lyd.jpg;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X restore 190 115 pd image;
#X obj 190 67 gemhead;
#N canvas 0 0 454 304 gemwin 0;
#X obj 130 159 gemwin;
#X obj 67 125 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 74 set destroy;
#X msg 204 65 set create;
#X msg 132 112 create \, 1;
#X msg 246 111 destroy;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X restore 422 273 pd gemwin;
#X msg 422 232 destroy;
#X obj 460 53 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 474 324 counterx 1;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 194 272 outlet;
#X msg 143 20 bang;
#X obj 81 58 select 11;
#X obj 273 272 outlet;
#X obj 195 110 metro 11000;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 1 1 5 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 3 0 10 0;
#X connect 4 0 6 0;
#X connect 4 0 3 1;
#X connect 4 0 9 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 8 0 1 0;
#X connect 9 0 2 0;
#X connect 11 0 3 0;
#X restore 210 186 pd counterx;
#N canvas 542 0 478 328 countery 0;
#X obj 192 270 outlet;
#X obj 194 13 loadbang;
#X obj 194 58 trigger bang bang;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 81 58 select 11;
#X obj 131 15 inlet;
#X obj 194 110 metro 1000;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 6 0;
#X connect 3 0 10 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 5 0 4 1;
#X connect 5 0 8 0;
#X connect 6 0 4 1;
#X connect 7 0 0 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X restore 230 211 pd countery;
#X obj 422 191 loadbang;
#N canvas 661 149 482 332 maincounter 0;
#X obj 194 13 loadbang;
#X msg 148 12 bang;
#X obj 194 58 trigger bang bang;
#X obj 81 58 select 101;
#X msg 81 90 stop;
#X obj 194 146 float;
#X obj 194 181 + 1;
#X msg 325 126 0;
#X floatatom 194 230 5 0 0 0 - - -;
#X obj 265 224 outlet;
#X obj 194 110 metro 1001;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 7 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 0 5 1;
#X connect 6 0 3 0;
#X connect 7 0 5 1;
#X connect 10 0 5 0;
#X connect 10 0 9 0;
#X restore 171 19 pd maincounter;
#X msg 89 176 bang;
#X msg 369 192 bang;
#X obj 263 84 loadbang;
#X connect 0 0 1 1;
#X connect 1 0 7 0;
#X connect 1 1 6 0;
#X connect 1 2 5 0;
#X connect 6 0 2 0;
#X connect 6 1 3 0;
#X connect 6 2 4 0;
#X connect 8 0 0 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 13 0 1 2;
#X connect 13 1 14 0;
#X connect 14 0 1 3;
#X connect 15 0 11 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 11 0;
Problem loading libraries in pd.
Hi all.
I'm trying to connect to arduino using pduino 0.2. I have 0.38.4-extended distribution. When I load the test patch of pduino library i get the following errors:
OSCroute object version 1.05 by Matt Wright. pd: jdl Win32 raf.
OSCroute Copyright ? 1999 Regents of the University of California. All Rights Reserved.
O : Open Sound Control 4 PD, http://www.cnmat.berkeley.edu/OSC
S : original code by matt wright, pd hakcs cxc, Win32-port raf@interaccess.com
C: ver: 0.2, compiled: Mar 28 2004
iemlib1 (R-1.17) library loaded! (c) Thomas Musil 11.2006
musil@iem.at iem KUG Graz Austria
iemlib2 (R-1.17) library loaded! (c) Thomas Musil 11.2006
musil@iem.at iem KUG Graz Austria
iem_mp3 (R-1.17) library loaded! (c) Thomas Musil 11.2006
musil@iem.at iem KUG Graz Austria
iem_t3_lib (R-1.17) library loaded! (c) Gerhard Eckel, Thomas Musil 11.2006
musil@iem.at iem KUG Graz Austria
list split 1
... couldn't create
list-rev 2 0 3 1 (trigger->bang) connection failed
list-rev 3 0 4 1 (bang->bang) connection failed
list-rev 9 1 3 1 (trigger->bang) connection failed
list-rev 9 2 4 1 (trigger->bang) connection failed
analog 18 1 4 1 (trigger->bang) connection failed
comport - PD external for unix/windows
LGPL 1998-2005, Winfried Ritsch and others (see LICENCE.txt)
Institute for Electronic Music - Graz
Opened serial line device COM2
flatspace: can't load library in C:/Program Files/pd
blahsymbol: flatspace
iemlib: can't load library in C:/Program Files/pd
blahsymbol: iemlib
mapping: can't load library in C:/Program Files/pd
blahsymbol: mapping
arduino.pd 14 1 13 0 (comport->print) connection failed
error: $1: argument number out of range
error: $2: argument number out of range
Write error, maybe TX-OVERRUNS on serial line
Write error, maybe TX-OVERRUNS on serial line
As it can be seen in the log, i have iemlib installed, it sucessfully loads at startup, but i still get "iemlib: can't load library". I'm also having problems with flatspace and list split (as far as I've read in other forums and pd list, i should have both in my system).
What am i doing wrong?
THANKS!!!