-
rayniter
Hi all,
I have a system by witch I send messages through [netreceive] to instantiate abstractions in a pd-subpatch and send their audio via a [throw~].
The abstractions seem to get stuck before they produce any audio but if I go in to the patch and even just move the abstractions with a mouse they immediately spring to life and produce sound.
This behavior is especially prominent in an abstraction that uses [oggread~] because I instantiate it, send it a message to load a file, send it a start message and only when I move it with a mouse does it finally trigger playback of the sound file.
this same behavior occurs when I instantiate a patch which uses a noise source to produce sound the only thing the two patches have in common is that they both transmit sound via [throw~].
Thanks in advance.
-
rayniter
I am running Ubuntu 11.10 and I would like to use pd-vanilla but I like working in pd-extended's GUI. I would like to add the fancier patch cables, boxes and fonts that pd-extended has to pd-vanilla.
Has anyone had any success transplanting pd-extended GUI files on to pd-vanilla?
Or, does any one know of any kind of GUI mods to pd that effect the look of the cables and Boxes?Thanks in advance.
-
rayniter
I recently tried the whole up-sampling oggread~ to load files into a table but sizing the arrays . . . anyway you know all about it. I ended up switching over to libpd.
It makes communication between a game engine and pd less cumbersome (no networking/dynamic patching stuff) and I wrote an ogg file loader in c of which the decoded data can be copied to a pd array using one of libpd's functions:
int libpd_write_array(const char *dest, int offset, float *src, int n)
also, here is a link to an ogg/vorbis file loading tutorial:
http://www.gamedev.net/page/resources/_/technical/game-programming/introduction-to-ogg-vorbis-r2031
but instead of ov_read() you will need ov_read_float() which outputs audio data just the way pd likes it.
BTW, I know this post is old and you probably have this all sorted out but I figure this may be of some use to someone.
-
rayniter
I see, thank you both for your suggestions.
I know that there are different paradigms for solving this kind of problem, for example, Reaktor users have always used polyphony as a kind of thread/kernel like construct that can be multiplied by the number of voices but I can't figure out how to implement this powerfully in pd.
I also tried using patches instead of abstractions but setting an initial unique ID (or reliably getting $0 back over the network) for each patch proved to be difficult.
I would like to hear some of the other ways that people have solved this problem. I have to add abstractions while sound is playing so switching DSP on and off probably wont do.
I will try making dummy objects, I suppose I have to create one every time I create an abstraction.
Maelstrom, in your experience, does the dummy have to be instantiated in the same subpatch as the abstraction? Or, can I have a subpatch called compile-graph in which I can just spam create-abstraction messages to? -
rayniter
Well, one of the issues I have with pd-extended is that it has some ugly installation issues on Ubuntu 11.10, some of the dependencies are from an earlier version of Ubuntu.
I will resort to that if I have to but I thought it would be more fun to first try to customize the vanilla GUI.