-
James_LaserBoy
Well I have ventured into the wild world of trying to write my own pd external.
It all looks good according to every bit of documentation I can find.
I'm using the pure-data/pd-lib-builder Makefile from github.
It builds ok, but when I try to make the object on the pd canvas, it fails.
/home/james/pd-externals/laserboy_pidac~.pd_linux: undefined symbol: gst_bin_add_many
It seems like the pd external isn't linking with the gstreamer libs.
I don't know how to address this.
Thanks.
James. -
James_LaserBoy
Well, it doesn't work at all with a named pipe (fifo). But it kinda works with a real file. If I use readsf~ to open a file and writesf~ to save it, I can get that going in PD and in a shell, issue the gst-launch command that udp streams the file from the beginning. If I stop it in pd, it won't start again. I have to start all over. So that's not going to work.
-
James_LaserBoy
Thank you for your response. I will look at that. I think I might be able to do what I want the old fashioned way by creating a named pipe (fifo) and using PD to write to it while gstreamer is reading the other end.
-
James_LaserBoy
Hello everyone!
I am very new to PD, but I know several people who use it for exactly what I am interested in.
I've been working on a FOSS project called LaserBoy for more than 21 years. It is a very comprehensive platform independent app with lots of associated technology for making full color animated 3D vector art that can be exported as multichannel wav files for directly controlling a laser projector, using a DC modified multichannel sound device.
Recently, I have developed a device I call the LaserBoy piDAC. It is a pi based network addressable DAC that becomes part of the laser projector, making it possible to connect many of them together on a private, wired gigabit network. Each one can be controlled independently and simultaneously.
The method I'm using to stream multichannel audio from a workstation to the piDAC is gstreamer. It works from Linux, Windows and presumably MacOS.
Without having to compile any code whatsoever, I am able to setup the piDAC to listen for UDP connections and, from the workstation end, I am able call a command that opens a local wav file and streams it to the piDAC address in near real-time -- all via gstreamer! (gst-launch-1.0)
So my question is, how do I make an object appear on my PD canvas that is some part of the gstreamer pipeline? Both ends would be ideal, as that would allow me to do in-stream audio processing on both ends.
I have looked at PdGst, but it seems like it is outdated and it does not compile on my current Ubuntu 24.10 workstation.
Ultimately, I would love to be able to place objects on the PD canvas that represent (multiple) piDAC sinks.
Thank you in advance.
James.