Hi,
I have installed plugin~[1] (for loading LADSPA[2] plugins) and the CMT[3] (a collection of LADSPA plugins), and am attempting to use the syndrum plugin (as a test). Unfortunately, this plugin has control inputs named "Frequency (Hz)" and "Frequency Ratio". This is a problem since the way plugin~ works is to expect messages of type "control" sent to its input, where the first argument is the name and the second is the number. So, to get to my question:
Can I, in PD, construct symbols that have spaces in them? For example, can I construct a message whose fields are "control", "Frequency (Hz)", and "7"?
Further details: plugin~ does a case-insensitive comparison, and it only compares as many letters as the minimum of the lengths, so I can specify "frequency" and it finds something; but I can't specify both "fequency ratio" and "frequency (hz)".
I have checked and the symbol boxes available in PD accept tabs but not spaces or carriage returns. What will break if they allow spaces too? Do symbol boxes forget their values, as number boxes do?
Thanks, Andrew Archibald [1]ftp://iem.mhsg.ac.at/pd/Externals/PLUGIN/plugin~-0.1.tar.gz [2]http://www.ladspa.org/ [3]http://www.ladspa.org/cmt/
On Sun, 3 Dec 2000, Andrew Archibald wrote:
Hi,
Hi too
Can I, in PD, construct symbols that have spaces in them? For example, can I construct a message whose fields are "control", "Frequency (Hz)", and "7"?
it is possible (but almost impossible) to make symbols with spaces in them. If you make a message-list (create a message-box and type in "this is a list") then spaces are dealt as separators between the list-items (so you get "this"+"is"+"a"+"list". the only way now (that i have found, and since the computer i'm sitting at has no pd, so i can't verify what i'm talking about but) to generate symbols with spaces in real-pd (without much workaround), would be by using the "makefilename" object. "makefilename" accepts C-strings as arguments and produces symbols out of that C-string. So "makefilename Frequency%c(Hz)" will enable you to put any character between "Frequency" and "(Hz)", even if it were spaces. The ASCII-code for SPC is 32, so you will have to send the integer "32" into the makefilename...
thus, your patch would look something like that
=---
|7 |
=----
|
=--------
| t b f |
=-------=
| |
| |__________________________
| |
=------- |
| f 32 | |
=------- |
| |
=------------------------------- |
| makefilename Frequency%c(Hz) | |
=------------------------------- |
| |
| -----------------------|
| |
=----------=
| pack s 0 |
=-----------
|
=-----------------
| control $1 $2 (
=-----------------
|
|
Further details: plugin~ does a case-insensitive comparison, and it only compares as many letters as the minimum of the lengths, so I can specify "frequency" and it finds something; but I can't specify both "fequency ratio" and "frequency (hz)".
See above....
mfg.sdaf.re IOhannes
Yes, this really works
in case you couldn't read my ascii-graphs
#N canvas 615 256 260 296 10; #X floatatom 81 63; #X obj 81 86 t b f; #X obj 81 110 f 32; #X obj 81 131 makefilename Frequency%c(Hz); #X obj 81 152 pack s 0; #X msg 81 175 control $1 $2; #X obj 81 196 print; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 4 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 6 0;
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I think there are more urgent problems for me to face (like latency in Windows).
cheers Miller
On Mon, Dec 04, 2000 at 07:24:44PM +0100, Johannes M Zmoelnig wrote:
On Sun, 3 Dec 2000, Andrew Archibald wrote:
Hi,
Hi too
Can I, in PD, construct symbols that have spaces in them? For example, can I construct a message whose fields are "control", "Frequency (Hz)", and "7"?
On Mon, Dec 04, 2000 at 11:14:05AM -0800, Miller Puckette wrote:
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I think there are more urgent problems for me to face (like latency in Windows).
Yes, I understand. Some more flexible string manipulationn tools would be nice. I would particularly like the ability to concatenate "$1"-type variables with strings. This, or more flexible scoping rules, would make abstractions containing delay lines much easier --- currently, they need an argument for every delay line they contain. Arrays pose an even greater problem.
But I understand that PD is a sound processing tool first, and reliable low latency is much more important for most people.
Thanks, Andrew
On Mon, 4 Dec 2000, Miller Puckette wrote:
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I think there are more urgent problems for me to face (like latency in Windows).
Do you have an idea about how to handle the latency problem in Windows?
I know that they claim that the drivers/schedular can handle 5ms latency
(for DirectX) but this requires circumventing the 'kmixer', which
essentially means using a driver specific work around. Do you know of a
more standard way to do this?
Karl
cheers Miller
On Mon, Dec 04, 2000 at 07:24:44PM +0100, Johannes M Zmoelnig wrote:
On Sun, 3 Dec 2000, Andrew Archibald wrote:
Hi,
Hi too
Can I, in PD, construct symbols that have spaces in them? For example, can I construct a message whose fields are "control", "Frequency (Hz)", and "7"?
By the way, Roger Dannenberg and his group did a lot of work on reducing the latency of Windows. Unfortunately I believe they eventually threw up their hands. It might be worth pinging him to see what they did, though...
-robert
Karl MacMillan wrote:
On Mon, 4 Dec 2000, Miller Puckette wrote:
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I think there are more urgent problems for me to face (like latency in Windows).
Do you have an idea about how to handle the latency problem in Windows? I know that they claim that the drivers/schedular can handle 5ms latency (for DirectX) but this requires circumventing the 'kmixer', which essentially means using a driver specific work around. Do you know of a more standard way to do this?
Karl
-- Robert Rowe NYU Dept. of Music and Performing Arts Professions 35 W. Fourth St. Room 777 New York NY 10012 USA
Ph: +1 212 998 5435 Fx: +1 212 995 4043
email: robert.rowe@nyu.edu http://www.nyu.edu/education/music/faculty/rowe_robert.html
I think that the way to go for professional audio in Windows is Steinberg ASIO.
DirectX is for multimedia and games, not professional audio.
The RME for example has very good ASIO drivers but no DirectX direct drivers (you can see it under DirectX with 'emulated drivers').
But I don't know how we can then distribute the sources of the application which uses the ASIO Api sdk.
Bye
Alessandro Fogar
----- Original Message ----- From: "Karl MacMillan" karlmac@peabody.jhu.edu To: pd-list@iem.mhsg.ac.at Sent: Monday, December 04, 2000 9:22 PM Subject: Re: PD symbols with funny characters
On Mon, 4 Dec 2000, Miller Puckette wrote:
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I
think
there are more urgent problems for me to face (like latency in Windows).
Do you have an idea about how to handle the latency problem in Windows? I know that they claim that the drivers/schedular can handle 5ms latency (for DirectX) but this requires circumventing the 'kmixer', which essentially means using a driver specific work around. Do you know of a more standard way to do this?
Alessandro,
Well, you are most likely right. In theory manufacturers are supposed to implement a miniport driver (is that the right name?) and they then get directX and all of the other drivers (including ASIO) for 'free'. The problem is that miniport drivers are below the kmixer level and therefore go through all of the Microsoft crap. I assume that what RME (and probably quite a few other manufacturs) have done is make their ASIO drivers talk directly to their custom kernel drivers. Arghh . . . all of this wouldn't be necessary if Microsoft had done things right the first time. Of course I have a service pack that fixes all of these Windows problems - it is called linux!
Karl
On Tue, 5 Dec 2000, Alessandro Fogar wrote:
I think that the way to go for professional audio in Windows is Steinberg ASIO.
DirectX is for multimedia and games, not professional audio.
The RME for example has very good ASIO drivers but no DirectX direct drivers (you can see it under DirectX with 'emulated drivers').
But I don't know how we can then distribute the sources of the application which uses the ASIO Api sdk.
Bye
Alessandro Fogar
----- Original Message ----- From: "Karl MacMillan" karlmac@peabody.jhu.edu To: pd-list@iem.mhsg.ac.at Sent: Monday, December 04, 2000 9:22 PM Subject: Re: PD symbols with funny characters
On Mon, 4 Dec 2000, Miller Puckette wrote:
Yep, spaces are hard to get into symbols... I'm thinking someday about allowing symbols within quotes like "this symbol has 4 spaces" but I
think
there are more urgent problems for me to face (like latency in Windows).
Do you have an idea about how to handle the latency problem in Windows? I know that they claim that the drivers/schedular can handle 5ms latency (for DirectX) but this requires circumventing the 'kmixer', which essentially means using a driver specific work around. Do you know of a more standard way to do this?