Hello !
I'm working on an installation which displays a GEM video. This video is generated with pictures taken by a digital camera and some random tools. At this state, the patch just loads photographs from the harddrive with the object [pix_image] or [pix_multiimage]. Now, i'd like to insert new photographs in the video, while the patch is running. In fact, the installation should be a real-time video and a digital camera which lets the spectator free to take a photograph of himself, and being automatically integrated as new material for the patch to generate video. That's the idea. Now, I don't know if there's a way to control a digital camera, or a videocamera (maybe it's easier, with the firewire protocol) to make it take a picture which can be then stored in a GEM object. All I've got is a USB digital camera (for photo) and a DVcamera (so with a firewire link). I'm not interested in having a huge resolution, 640x480 is the maximum (because I haven't got a very fast computer and I prefer to have lot of photographs (I hope there will be a lot of spectator !)). Is it possible to control theses devices with pd, or to create an external program (in a different language) which communicates with pd. Is there documentation about this ? Another question : I'm now working with the pure:dyne (I think you know it). I'd like to display the Gem window in fullscreen on an external monitor/videoprojector. I manage to get an « extended desktop » (with Xinerama) but not to display the gemwin on the external monitor : with [fullscreen 1( it is always displayed on my laptop, and with [fullscreen 0( the video of the Gem window is no more rendered when i pass it on the external screen. I tried lots of settings in my xorg.conf, but it never worked more than once (if it works one time, it doesn't anymore when i restart X). I think Gem refers to the Screen 0 to choose where it is displayed, but even if i define the external screen as the Screen 0, it doesn't work, the « display screen » or the « rendering buffer » remains on my laptop. My graphic card is a Intel 855 GME, so i'm using i810 as driver. Has anyone got the same problem ?
Thanks a lot and sorry again for my newbie's questions,
Raphael
hi
raphy.ilias@free.fr wrote:
That's the idea. Now, I don't know if there's a way to control a digital camera, or a videocamera (maybe it's easier, with the firewire protocol) to make it take a picture which can be then stored in a GEM object. All I've got is a USB digital camera (for photo) and a DVcamera (so with a firewire link). I'm not interested in having a huge resolution, 640x480 is the maximum (because I haven't got a very fast computer and I prefer to have lot of photographs (I hope there will be a lot of spectator !)). Is it possible to control theses devices with pd, or to create an external program (in a different language) which communicates with pd. Is there documentation about this ?
as for the digital (photo) camera:
to get the pictures into pd, you usually have to mount the device once it is plugged into your pc, then you move the images to harddisk (which is much faster) and unmount the device. while you are moving the images to your harddisk, you would do the rescaling. since this is a rather complicated task, you would usually wrap this into a script which has better access to the system than pd. i would suggest a shell (bash) script (probably because i am better at writing bash scripts than writing python code)
i guess a lot of people would use [shell] to control the bash script. however i tend to rather use a simple "daemon", which runs independently of pd and checks for the camera and executes the script on demand. when the copying is done, i would send the names of the new files to pd via "pdsend". i prefer to not use [shell], because a) i usually don't have it installed since it is an external, and b) because a separate daemon would interfere less with pd's realtime thread.
but that is just my approach to such things.
fmga.sdr. IOhannes
hi.
raphy.ilias@free.fr wrote:
Hello !
Another question : I'm now working with the pure:dyne (I think you know it). I'd like to display the Gem window in fullscreen on an external monitor/videoprojector. I manage to get an « extended desktop » (with Xinerama) but not to display the gemwin on the external monitor : with [fullscreen 1( it is always displayed on my laptop, and with [fullscreen 0( the video of the Gem window is no more rendered when i pass it on the external screen. I tried lots of settings in my xorg.conf, but it never worked more than once (if it works one time, it doesn't anymore when i restart X). I think Gem refers to the Screen 0 to choose where it is displayed, but even if i define the external screen as the Screen 0, it doesn't work, the « display screen » or the « rendering buffer » remains on my laptop. My graphic card is a Intel 855 GME, so i'm using i810 as driver. Has anyone got the same problem ?
this should be a problem with your gfx card (though i have no experience with your specific model; probably frank can help you here)
everything displayed by Gem is done in openGL. a lot of cheaper gfx cards for laptops will only provide openGL acceleration on the first head. trying to render to the 2nd screen might be ignored by the driver.
the same problem should appear with any openGL application. e.g. if you run "glxgears" and move the window to the 2nd head, rendering should vanish too. there is nothing you can do about this, but: a) try to mirror the output of the built-in screen to the external screen. this way you have less possibilities to interact with your patch (since your primary display is occupied by the fullscreen gem window), but at least you might get output.
b) buy another gfx card (the problem with laptops is, that this usually means buying another laptop); nvidia chips are known to work well (but are problematic license wise); i think others (frank) have managed to get Gem rendering to a projector with intel chipsets.
ah and finally: you should not use "fullscreen" to make a fullscreen window on the 2nd monitor when not in OS-X land (yet). use [offset 1024 0, dimen 800 600( (or whatever fits your settings) instead.
mfga.sdr IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
raphy.ilias@free.fr wrote:
Hello !
Another question : I'm now working with the pure:dyne (I think you know it). I'd like to display the Gem window in fullscreen on an external monitor/videoprojector. I manage to get an « extended desktop » (with Xinerama) but not to display the gemwin on the external monitor : with [fullscreen 1( it is always displayed on my laptop, and with [fullscreen 0( the video of the Gem window is no more rendered when i pass it on the external screen. I tried lots of settings in my xorg.conf, but it never worked more than once (if it works one time, it doesn't anymore when i restart X). I think Gem refers to the Screen 0 to choose where it is displayed, but even if i define the external screen as the Screen 0, it doesn't work, the « display screen » or the « rendering buffer » remains on my laptop. My graphic card is a Intel 855 GME, so i'm using i810 as driver. Has anyone got the same problem ?
this should be a problem with your gfx card (though i have no experience with your specific model; probably frank can help you here)
...
there is nothing you can do about this, but: a) try to mirror the output of the built-in screen to the external screen. this way you have less possibilities to interact with your patch (since your primary display is occupied by the fullscreen gem window), but at least you might get output.
Well, how to set up the PIPEs on Intel chips still is a mystery to me as well, so I'm avoiding it. I also don't use Xinerama, but instead just rely on your solution a) which is the default setup anyways for xorg AFAIK. My laptop has a special key which cyccle between disabled/enabled builtin screen/VGA output like (builtin on, vga off), (b off, vga on) and (b on, vga on). Normally I then get the same image on both screens and all is well (unless a Ben-Q beamer is connected to VGA, as these seem to dislike my laptop.)
Frank Barknecht _ ______footils.org_ __goto10.org__