Implemented Pd Objects

Yoonchang edited this page Oct 22, 2010 · 148 revisions

This page includes a list of all implemented Pure Data objects currently found in ZenGarden. The listing for each object also has the filename in which the object is implemented, and whether or not a unit test exists for that object. Few objects have been formally tested, but work is underway to create appropriate tests. If a test exists, then the test is listed, along with the golden file. Unless there is a note stating otherwise, the object is probably well-functioning. If the object is not listed here, then it does not exist in the codebase and ZenGarden will crash if you try to use it.

Object Filename Version Test Notes
+ MessageAdd 0.1 test golden
- MessageSubtract 0.1 test golden
* MessageMultiply 0.1 test golden
/ MessageDivide 0.1 test golden
% MessageRemainder 0.1 test golden
== MessageEqualsEquals 0.1 test golden
!= MessageNotEquals 0.1 test golden
> MessageGreaterThan 0.1 test golden
>= MessageGreaterThanOrEqualTo 0.1 test golden
< MessageLessThan 0.1 test golden
<= MessageLessThanOrEqualTo 0.1 test golden
&& MessageLogicalAnd 0.1 test golden
ㅣㅣ MessageLogicalOr 0.1 test golden
abs MessageAbsoluteValue 0.1 test golden
atan MessageArcTangent 0.1 test golden If you feed list of numbers on the right inlet, first number will be used. In Pd, it will be ignored
atan2 MessageArcTangent2 0.1 test golden
bang, b, bng MessageBang 0.1 test golden
change MessageChange 0.1 test golden
clip MessageClip 0.1 test golden
cos MessageCosine 0.1 test golden
dbtopow MessageDbToPow 0.1 test golden
dbtorms MessageDbToRms 0.1 test golden
delay, del MessageDelay 0.1 test golden (I have been told that) Pd makes a distinction between pipe and delay as the latter requires fewer resources. ZenGarden makes no functional distinction between these two objects in the sense of how messages are managed. delay is implemented to mimic the behaviour in Pd, though no processor or memory gains will be realised when used in ZenGarden.
declare MessageDeclare 0.1
exp MessageExp 0.1 test golden
float, f MessageFloat 0.1 test golden
ftom MessageFrequencyToMidi 0.1 test golden
hsl MessageFloat 0.1 No
inlet MessageInlet 0.1 No
int, i MessageInteger 0.1 test golden
line MessageLine 0.1 No
loadbang MessageLoadbang 0.1 test golden
log MessageLog 0.1 test golden
max MessageMaximum 0.1 test golden
metro MessageMetro 0.1 test golden
min MessageMinimum 0.1 test golden
mod MessageModulus 0.1 test golden
moses MessageMoses 0.1 test golden
mtof MessageMidiToFrequency 0.1 test golden
notein MessageNotein 0.1 No
openpanel MessageOpenPanel 0.1 No
outlet MessageOutlet 0.1 No
pack MessagePack 0.1 test golden
pipe MessagePipe 0.1 test golden See delay. Does not support ‘unpack’ functionality yet.
pow MessagePow 0.1 test golden
powtodb MessagePowToDb 0.1 test golden
print MessagePrint 0.1 test golden Be sure to register a callback function in order to receive print messages.
random MessageRandom 0.1 test golden
receive, r MessageReceive 0.1 test golden
rmstodb MessageRmsToDb 0.1 test golden
samplerate~ MessageSamplerate 0.1 No
select, sel MessageSelect 0.1 test golden
send, s MessageSend 0.1 test golden Name of the receiver can not be changed by second inlet of send
sin MessageSine 0.1 test golden
soundfiler MessageSoundfiler 0.1 No Uses libsndfile.
spigot MessageSpigot 0.1 test golden
sqrt MessageSqrt 0.1 test golden
stripnote MessageStripNote 0.1
swap MessageSwap 0.1 test golden
switch MessageSwitch 0.1
symbol MessageSymbol 0.1 test golden
table MessageTable 0.1 test golden
tabread MessageTableRead 0.1 test golden
tabwrite MessageTableWrite 0.1 test golden
tan MessageTangent 0.1 test golden
timer MessageTimer 0.1 test golden
toggle, tgl MessageToggle 0.1 test golden
trigger, t MessageTrigger 0.1 test golden Does not support “list” and “pointer” type
unpack MessageUnpack 0.1 test golden
until MessageUntil 0.1 test golden
value MessageValue 0.1 No
vsl MessageFloat 0.1 No
wrap MessageWrap 0.1 test golden
+~ DspAdd 0.1 No
-~ DspSubtract 0.1 No
*~ DspMultiply 0.1 No
/~ DspDivide 0.1 No
adc~ DspAdc 0.1 No
bp~ DspBandpassFilter 0.1 No
catch~ DspCatch 0.1 No
clip~ DspClip 0.1 No
dac~ DspDac 0.1 No
delread~ DspDelayRead 0.1 No
delwrite~ DspDelayWrite 0.1 No
env~ DspEnvelope 0.1 No This object works correctly for overlapping windows. Window size and interval must be at least as large as one block length.
inlet~ DspInletOutlet 0.1 No
hip~ DspHighpassFilter 0.1 No
outlet~ DspInletOutlet 0.1 No
line~ DspLine 0.1 No
log~ DspLog 0.1 No
lop~ DspLowpassFilter 0.1 No
noise~ DspNoise 0.1 No
osc~ DspOsc 0.1 No
phasor~ DspPhasor 0.1 No
receive~, r~ DspReceive 0.1 No
send~, s~ DspSend 0.1 No
sig~ DspSig 0.1 No
snapshot~ DspSnapshot 0.1 No
tabplay~ DspTablePlay 0.1 No Could use some code review, but it generally works.
tabread4~ DspTableRead 0.1 No
throw~ DspThrow 0.1 No Does not support the “set” message. The throw~ cannot be redirected during runtime.
vd~ DspVariableDelay 0.1 No