[PD] PDGST - no pix_gst2pix ... and hello

x.garnier x.garnier at orange.fr
Mon Oct 31 00:37:26 CET 2011

Hello you all, 
that's my first mail on the list so I'd like to send greetings to everybody. I've read a lot of topics on installing pdgst on mac OS and since I still have some problems after many hours of work, I've decided to expose my "little" story. The message below is extracted from a mp to Iohannes before thinking of that list...
thank you for those interested in my story (and by the way in my problems ;))

Message :

Good evening,

I'm from Poitiers (France) and I play doublebass. Thanks to the support of "Le Lieux Multiple" in Poitiers (I guess you know this place..., otherwise, this place knows you !), I'm working on an audio/video project aimed at modifying IP webcams videos with acoustic and analog music.
In order to do that, I first contact Sevy (Yves Degoyon) that helps me find a possible solution with PdP...
However, studying the question a bit more and as I've allready worked with Gem and created interactions sound/image (with fiddle~ and env~ basically) with downloaded videos, I'm very interested in using your pdgst elements (I'm right now studying your .pdf...) It seems to me that the pix_gst2pix should be the key element for this project... 
Problem : the object is not recognized by PD (boxed with red dots). ... And this is where the installation (long!) story comes in...
I've read this thread from Nicolas Montgermont entirely : 


and it helped me a lot. Indeed, I'm on Mac OS 10.6.8 and I had problems almost at each steps (old version of Xcode, fink outdated, finkcommander set wrongly, gstreamer-0.10 that needed unstable packages I couldn't see, problem with usr/local and dependencies, problem with libraries and architecture x86_64, paths problems...) that I did know nothing about and that I somehow solved thanks to internet posts... and many many hours later (surely because of my "newbieism" !) I reached that step :

MacBook-Pro-de-Xavier-Garnier:src musique$ make PD_SRC=/Applications/Pd-extended.app/Contents/Resources/include GEM_SRC=/Applications/Pd-extended.app/Contents/Resources/include EXT=pd_darwin SYSTEMCFLAGS="-fPIC" SYSTEMLDFLAGS="-bundle -undefined dynamic_lookup"
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o pdgst.o -c pdgst.c
pdgst.c:18:2: warning: #warning add docs
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o pdgst_base.o -c pdgst_base.c
pdgst_base.c:25:2: warning: #warning add docs
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o pdgst_capsfilter.o -c pdgst_capsfilter.c
pdgst_capsfilter.c:32:2: warning: #warning add docs
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o pdgst_element.o -c pdgst_element.c
pdgst_element.c:227:2: warning: #warning _info hack
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o properties.o -c properties.c
gcc  -g -O2 -fPIC -DPD -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include  -I/Applications/Pd-extended.app/Contents/Resources/include -I../include -o setup.o -c setup.c
gcc  -bundle -undefined dynamic_lookup -lc -lm  -L/sw/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 -lintl -lgstapp-0.10 -lgstaudio-0.10 -L/sw/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 -lintl -o pdgst.pd_darwin audio/pdgst_adc~.o audio/pdgst_dac~.o gvalue.o loop.o pdgst.o pdgst_base.o pdgst_capsfilter.o pdgst_element.o properties.o setup.o
Looked like this time everything was ok !
After adding some linked to PD path preferences I was able to open pdgst-test.pd and all the boxes looked OK : when I tick the box, it open X11 and says in the console :
verbose( 1):remove all elements
verbose( 1):deregister
verbose( 1):element 13a44c0 not in bin
verbose( 1):register
verbose( 1):connect
xxx1: __gst connect videotestsrc3
xxx0: __gst connect autovideosink2
I have to admit that for the moment I don't know if it's OK or not... As you've probably understood I'm looking for a quite specific function of your giganstic work : catching a  video stream from an (possibly random) IP webcam, transform it as a Gem image, that we will modify with improvised music.

However, when I open your "Graal for me" patch : gst2pix.pd, one box is red... pix_gst2pix rgba. (!)
Looking at my pdgst/src/gem folder I've noticed that I had no .o nor .c files, only .h and .ccp. I don't know much about compiling but I imagine that the "Make" I've done in /src didn't worked for gem. I then tried to type "make" in pdgst/src/gem (sorry if it's stupid !) and here's what I get :

MacBook-Pro-de-Xavier-Garnier:gem musique$ makeg++ -c -Wall -O2 -fPIC -ffast-math -mmmx -DPDGST_PLUGIN -I/sw/include/gstreamer-0.10 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/libxml2 -I/sw/include -I../../../../pd/src -I../../../Gem/src -I. -I../../include/ -o "pix_gst2pix.o" -c "pix_gst2pix.cpp"
pix_gst2pix.cpp:147:2: warning: #warning LATER store the original pixblock in render() and restore it here
pix_gst2pix.cpp: In member function ‘virtual void pix_gst2pix::render(GemState*)’:
pix_gst2pix.cpp:141: error: ‘class GemState’ has no member named ‘set’
pix_gst2pix.cpp:141: error: ‘_pix’ is not a member of ‘GemState’
pix_gst2pix.cpp: In member function ‘virtual void pix_gst2pix::postrender(GemState*)’:
pix_gst2pix.cpp:148: error: ‘class GemState’ has no member named ‘set’
pix_gst2pix.cpp:148: error: ‘_PIX’ is not a member of ‘GemState’
../../include/pdgst/pdgst.h: At global scope:
../../include/pdgst/pdgst.h:98: warning: ‘pdgst_version’ defined but not used
make: *** [pix_gst2pix.o] Error 1
I tried to enter pix_gst2pix.ccp and look at this ligne 141 : " state->set(GemState::_PIX, &m_pix);" but it is definitely out of my knowledge range...

then, If you could help me make this function work, that would be wonderful !
I'm sorry for telling you the whole story but It was also the occasion to thank you for your work and maybe receive some advise from you about the project (possible ? difficult ? not ambitious enough ? etc.)
Thanks so  much again,


More information about the Pd-list mailing list