Wrong order of operation..
Hey,
plz save this as a *.pd file:
#N canvas 283 218 450 300 10;
#X obj 150 162 print~ a;
#X obj 211 162 print~ b;
#X obj 110 130 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 211 138 +~;
#X obj 150 94 osc~ 440;
#X obj 211 94 osc~ 440;
#X obj 271 94 osc~ 440;
#X connect 2 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
It should show a simple patch with 3 [osc~], 1 [+~] and 2 [print~ a/b] to analyze the whole thing. Each [osc~] is the start of an audio-line/ -path!!
(The order in which you connect the [Bng]-button to the [print~]'s is unimportant since all data (from data-objects) is computed before, or rather between, each audio-cycle.)
Now to get this clear:
- Delete & recreate the most left [osc~] "A". Hit the bang-button. Watch the console, it first should read "a: ..." then "b: ..."
- now do the same with the second [osc~] "B" in the middle... Hit bang & watch the console: first "a: ..." then "b: ..."
- and once more: del & recreate the third [osc~] "C" and so on. Now the console should read first "b: ..." then "a: ..." !
to "1)": the last (most recent) [osc~] created is "A", so the audio-path, lets call it "pA", is run at first. So [print~ a] is processed first, then [print~ b].
to "2)": last [osc~] is "B". Now we have an order from first (oldest) to last (most recent) [osc~] : C,A,B !!
So now fist "B" & "pB" then "A" & "pA" then "C" & "pC" is processed. But "pB" ends at the [+~], because the [+~] waits for the 2nd input ("C") until it can put out something. Since "C" still comes after "A" you again get printed first "a: ..." then "b: ..." in the console!
to "3)": last [osc~] is "C", so the order is like "A,B,C". So at first "C" & "pC" is processed, then "B" & "pB", this makes [+~] put out a signal to [print~ b]. Then "A" & "pA" is processed and the [print~ a] as well. -> first "b: ..." then "a: ..."
This works for "cables" too. Just connect one single [osc~ ] to both (or more) [print~]'s. Hit bang and watch the console, then change the order you connect the [osc~] to the [print~]'s..
That's why the example works if you just recreate the 1st object in an audio-path to make it being processed at first. And that's why I'd like to have some numbers (according to the order of creation) at the objects and cables to determine the order of processing.
But anyways, I hope this helps.
And plz comment if there is something wrong.
Mobile devices: opinions needed
As far as I know the only way to use pd with an ipod touch is via rjdj, i use it and it's nice but you have to use the rjdj library and learn how built stuff to interact via touchscreen and ipod's sensors.
about android I saw there's a PD release: http://puredata.info/docs/developer/BuildingPdForAndroid/?searchterm=android
but I didn't test it and I really wanna know how does it act because it seems cool:
http://createdigitalmusic.com/2009/05/12/save-that-old-pda-run-reware-play-pd-musical-creations-android-offf-nyc/
MRMR and Resolume Osc Message patching
Total noob to Pd and here to find solutions to get MRMR to send message to Resolume via some kind of patch with Pd.
I think it is a matter of changing the message out of MRMR to a message address that Resolume accepts.
How to go about it with Pd is something I need and don't know how to. I know it is possible, as I see there are patches for OSC to midi. I have tried it OSC to Midi but I want OSC to OSC.
Could someone create a patch for me? I would trully appreciate it.
I don't have the skills to learn and develop at the same time. I am one of those guys that learn faster if I have a working product I can try and understand each module, than trying to build something I have no clue in how it works.
Maybe a simple MRMR osc message parsed to Resolume OSC address would be very useful.
Thanks
How do I get dumpOSC, sendOSC and outher Opens Sound objects to work?
I think I have the same problem, on the Mac OSX 10.5.2. I downloaded the source tarball off sourceforge (0.39-3), went to the oscx directory, did ./configure with no problem I noticed, and then make. With make I got this output:
June -d, 2008 @ 01:39:42AM: ~/Documents/projects/boogiepants/Pd-0.39.3-extended/externals/OSCx
[jstoner@erzulie]> make
cd libOSC && make
cc -c -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src OSC-client.c
OSC-client.c: In function ‘CheckTypeTag’:
OSC-client.c:341: warning: implicit declaration of function ‘printf’
OSC-client.c:341: warning: incompatible implicit declaration of built-in function ‘printf’
ar srv libOSC.a OSC-client.o
ar: creating archive libOSC.a
a - OSC-client.o
rm -f OSC-client.o
cc -c -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src OSC-timetag.c
ar srv libOSC.a OSC-timetag.o
a - OSC-timetag.o
rm -f OSC-timetag.o
cd src && make
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o sendOSC.o sendOSC.c
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o htmsocket.o htmsocket.c
cc -g -O2 -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 -I../libOSC -I../../pd/src -I../../../pd/src -I../src -I../libOSC -I../../pd/src -I../../../pd/src -I../src -c -o OSC-system-dependent.o OSC-system-dependent.c
OSC-system-dependent.c: In function ‘fatal_error’:
OSC-system-dependent.c:65: warning: implicit declaration of function ‘exit’
OSC-system-dependent.c:65: warning: incompatible implicit declaration of built-in function ‘exit’
cc -bundle -bundle_loader ../../../pd/bin/pd -flat_namespace -o sendOSC.pd_darwin sendOSC.o htmsocket.o OSC-system-dependent.o -lc -lm ../libOSC/libOSC.a
ld: file not found: ../../../pd/bin/pd
collect2: ld returned 1 exit status
make[1]: *** [sendOSC.pd_darwin] Error 1
make: *** [all] Error 2
any ideas?
OSC in pd ext 0.39.3 OSX ??
/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin, 10): no suitable image found. Did find:
/Applications/Pd-extended.app/Contents/Resources/Scripts/../extra/OSC/OSC.pd_darwin: mach-o, but wrong architecture
OSC: can't load library
this is what i obtain...
Reactivision to reaktor patch
When I started using Reactivision, I really wanted to control Native Instruments Reaktor 5 with OSC but the messages weren't "simple" enough for Reaktor.
So I tweaked the TUIO client patch, for it to route simple OSC messages to reaktor.
I'm new to Pd so it might not be as perfect as you would expect.... but it works !
Instructions :
Open reactivision
Open the pd patch
Make sure you are receiving the TUIO messages ( the bang next to "TUIO client" will blink)
Start Reaktor
Stop the audio engine
System menu > OSC settings > click Activate
Make sure port 10000 is chosen as the local port
Start the audio engine
Go back to the pd patch and change the IP address in the bottom left "connect" box
click connect
go back to Reaktor, System > OSC settings. The OSC monitor should now receive OSC messages.
Reactivision simple fiducial marker patch
@obiwannabe said:
So the data is a set of distances between objects
on a plane (and their orientation?)
Yep. so you can chain a generator and an effect to the output, just by putting them on the plane.like this:
osc ------------ delay -------------- out (center of plane, represented by 0,0)
each module is represented by a marker on the table, and each one has 1 control (rotation: like a knob) + volume (determined by distance)
I've got this much done:
osc -------- out
with the rotation of the osc determining frequency, and the distance from the center determining volume. The subsystem for dynamically connecting things is in place (just send a float to fid-in like 5-in to connect to something other then 16: mainout)
@obiwannabe said:
With more than one occurance of the same symbol possible (or must they be unique?)
In the Tuio system, you can use fid (the number of the actual marker) or the individual id (sid or session_id) of the marker on the table. For performance, I didn't want to dynamically load/unload modules (it made it choppy) so I just went by fid, but you could use the sid, if you wanted to. I have no problem mapping hundreds of them at start time (in the main_snd and main_gfx parts) so going by fid works really well for me, and allows you to just map all the numbers that you have fiducials printed out for. Later, I could even read these mappings from a [textfile] but right now, I just want to get the logic worked out.
@obiwannabe said:
So you have the vetices of a fully connected graph of points
plus a rotation for each point as control data. Additionally each object
has a shape and the distance is between edges not center points
so an objects rotation affects its distance to all other objects
(or use perfect circles). Am I getting this?
Yep, I'm going by center point of the marker, so it's a circle. I'm using the coordinates to determine gain, so the further from center, the quieter. What I want is the same thing, but between individual markers. Right now, all the marker snd units have 1 ain and 1 aout, and if they are not effects, the 2 are just connected (I think it'd be cool to setup osc and phasor units that are normal, or ringmods depending on if they have audio input, but I need to work out distance logic, first.)
This might make a whole lot more sense if you download the thing, then download TuioCLient here and the reactable simulator here
Put TuioClient in your pd path (they have versions for mac, linux, and windows in the same file, I am using linux and mac)
Run the simulator (java -jar TuioSimulator.jar)
open my patches, and press the "0" connected to to start the graphics (in a window) I do it this way, so I can script it going into fullscreen (have a look at my shell script.) You can also leave it off, and just hear the sound stuff (without any graphic output) by not pushing the 0.
Move 16 (volume knob) onto the table area on the simulator and turn it. It will change the brightness of the center dot (to show gain) If you remove it from the table area, the gain will freeze at that level.
0, 4, 8, 12 are [phasors]'s
36,37,38,39 are [osc]'s
Put some of these on the table to hear them. you can get cool beating effects by moving a phasor close to the center, turning it so it slows to a click-beat, then putting some [osc]'s around on the table.
This is an example of what I've got so far. The reason all this is necessary, is that the reactable people haven't released any of the code they use to make graphics or sound, just interpret the actual camera data. I want to make a free, easy to use version, that does pretty much the same stuff, but on low-end hardware, all in pd, so non-opengl/dsp programmers can play with it.
I attached a screenshot of the gem window in Linux.
Edirol FA-101 and PowerBook G4 - Slow/Choppy
I just got an Edirol FA-101, hoping that it would work with both my 667mHz Powerbook and my Linux desktop machine through Freebob.
When I use it with my Powerbook, things are fine when I'm not using Pd (including using other audio apps), but when I open Pd and set it to use the FA-101 as input and output, the whole machine starts responding very slowly, and, even if I turn the latency up to 500 ms, just monitoring input through the Test patch sounds like I'm getting serious underruns as if I'd turned down the latency to 1 ms.
I'm testing my housemate's M-Audio FireWire 1814 right now with the same setup, and I don't have any of those problems at all. It's fine at 12 ms latency at 44100Hz.
So... the questions: Has anyone else gotten a similar setup to work? Does anyone have any suggestions? It seems like the problem might be Apple's CoreAudio driver for the FA-101. The FA-101 does not require any additional drivers, but the M-Audio requires you to install its own drivers.
Thanks a lot!
EDIT:
I get a lot of idiot points - and on my first post on the forum, too. I didn't match the Pd sampling rate to what I selected on the FA-101. The FA-101 has a knob to select sampling rate; you can't change it in software. Anyway, I'd still like to hear from anyone who has a similar setup. Thanks.
PD extended errors on osx
Hi
I am having trouble using pdp_v4l, pixelTango and osc patch on PD-extended .38 on mac os x (tiger)
If I try to load a PiDiP patch from the help file I get the following error message:
pdp_v4l /dev/video RGB24
... couldn't create
error: pdp_v4l: can't load abstraction within itself
pdp_v4l
... couldn't create
pdp_help_input.pd 0 0 4 0 (canvas->outlet) connection failed
pdp_help_input.pd 7 0 0 0 (message->canvas) connection failed
pdp_help_input.pd 13 0 0 0 (bng->canvas) connection failed
pdp_help_input.pd 35 0 0 0 (message->canvas) connection failed
If I try to put OSC object i get this error:
... couldn't create
OSC
... couldn't create
OSCroute object version 1.05 by Matt Wright. pd: jdl Win32 raf.
OSCroute Copyright 1999 Regents of the Univ. of California. All Rights Reserved.
OSC
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
dumpOSC 9999
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
OSC
... couldn't create
And PixelTango crashes completely. Has anyone else experience these errors or maybe I have my start up path set up wrong or I need to add some thing?
I deeply appricate your help and advise but I am at a loss!
Thanks again
C++
Hi,
I am trying with OSC. I followd the ling you gave me. From there I followed the pd link to http://barely.a.live.fm/pd/OSC/, that it is not working right now. But I found that in http://barely.a.live.fm/pd/OSC/OLD are some files. From those files I tried OSCx.tgz and OSCx.0.15b1.tgz. I tried to followed the instructions and I had a problem with tne m_imp.h with both packages. I got
In file included from dumpOSC.c:71:
m_imp.h:17: error: syntax error before "t_symbol"
followd by a huge list of errors.
I also tried with the flies from [url=http://cvs.sourceforge.net/viewcvs.py/pure-data/externals/OSCx/#dirlist,
]http://cvs.sourceforge.net/viewcvs.py/pure-data/externals/OSCx/#dirlis t,
I downloaded them manually because I don´t know a more smart way to do that. I followd the instructions in the readme file. When I get to execute the command "make OSC" in the folder OSC I get
/usr/lib/gcc/i386-redhat-linux/3.4.3/../../../crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
OSC.o(.text+0x17): In function `OSC_new':
: undefined reference to `pd_new'
followd by many lines.
How did you install the OSC library? Any idea where is my mistake?
tx