a trick i use for doing sample-level prototypes (normally you would always be better off making an external) is to use a [bang~] connected to a [64(->[until]->[counter] (where counter is the common [f ]x[+ 1] arrangement). you then use the output of the counter as an index into a 64 sample array, which is being played using [tabreceive~]. don't forget to zero the counter at each frame too.
another way is to use the [pack~]->[repack 1] and [unpack~] objects from zexy to get hold of the sample data as a sequence of float messages (do your work between the repack and unpack).
pix.
On Wed, 22 Oct 2003 19:11:48 +0200 Frank Barknecht fbar@footils.org wrote:
Hallo, Claudius Maximus hat gesagt: // Claudius Maximus wrote:
Is there a list of objects which do not behave in a continuous way as you decrease the block size below 64?
I *think*, but I'm not that sure and cannot test currently, that all message passing is limited to the 64 samples minimum. To get faster, you will need to resort to signal connections or the time tagged triggers from iemlib.
I don't know an object that opens files in bin-mode, but it could be written as an external.
I do not have a Windows C compiler. I need to investigate whether there are any freely available, can you recommend one?
I don't have a Windows C compiler, too. I don't even have Windows. :) Now, I think, that only Visual C++ from MS is able to compile Pd on Windows. This might not be valid for externals, though.
[set $1 $2( -> "set aardvark sawtooth" when I feed it a pair of symbols "aardvark sawtooth". But when I try to put a "-" instead of the space between the variables:
[set $1-$2( -> "set aardvark-$2" instead of "set aardvark-sawtooth". A problem.
Are there prizes awarded for finding bugs? I would like my prize to be an umbrella - I need to go to the post office but it's raining.
No umbrella, sorry: $x only works if it's at the begining of the identifier. So $x-name is okay, name-$x is not.
A solution to the waveform selection problem is:
[route sawtooth square ...] | | ... |
| [trigger bang] | | [symbol $0-sawtooth] | | [set $1( | | [whatever wants to read the array]Here's an alternative:
[inlet] | [symbol] | [select sawtooth square ...] | | ... |
| [set $1( [ print Unknown_Waveform] | | [whatever wants to read the array]Another thing to think about here, is if it is possible to put all common behaviour into an abstraction. If most of the sound generation seems to be the same, except the different table contents, you might want to put the table content into a file ( tablename write/read somename.txt) and use an abstraction argument to select the waveform file.
Just a suggestion.
ciao
Frank Barknecht _ ______footils.org__
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list