Supported vanilla objects

May 13, 2026 ยท View on GitHub

These are all the objects that hvcc is able to parse.

You can read more about limitations in the getting started guide.

Here is a list of unsupported Pd objects.

Message Objects

objectlimitations
!=
%
&
&&
|
||
*
+
-
/
<
<<
<=
==
>
>=
>>
abs
atan
atan2
b
bang
bendinonly some generators 1
bendoutonly some generators 1
bng2
change
clip
cnv
cos
ctlinonly some generators 1
ctloutonly some generators 1
dbtopow
dbtorms
declare
del
delaydoes not accept tempo messages or unit argument
div
exp
exprexcept some functions. 3 Only supports a single expression. Does not support symbol input.
else/knobconverted to [f ] 2
f
float
floatatomconverted to [f ] 2
ftom
hradioconverted to [f ] 2
hslconverted to [f ] 2
i
inlet
int
line
loadbang
log
makenote
max
metrodoes not accept tempo messages or unit argument
min
midiinonly some generators 1
midioutonly some generators 1
midirealtimeinonly some generators 1
mod
moses
mtof
nbxconverted to [f ] 2
noteinonly some generators 1
noteoutonly some generators 1
outlet
packno symbol on first inlet
pgminonly some generators 1
pgmoutonly some generators 1
pd
pipe
poly
polytouchinonly some generators 1
polytouchoutonly some generators 1
pow
powtodb
print
r
random
receive
rmstodb
routeright inlet not supported
s
sel
selectright inlet not supported
send
sin
spigot
sqrt
stripnote
swap
symbol
symbolatom
t
table
tabread
tabwrite
tan
tgl2
timerdoes not accept tempo messages or unit argument
touchinonly some generators 1
touchoutonly some generators 1
trigger
unpackno initialization e.g. [unpack 0 0]
until
vradioconverted to [f ] 2
vslconverted to [f ] 2
wrap
  1. Midi i/o objects are currently only supported for dpf, daisy and owl
  2. Supports setting send/receive configuration, see Getting Started
  3. Does not support: size(), sum(), Sum(), avg(), Avg(), mtof(), ftom(), dbtorms(), rmstodb(), powtodb(), dbtopow(), symbol(), sym(), tolower(), toupper(), strcat(), strncat(), strlen(), strcspn(), strbrk(), strcmp(), strcasecmp(), strncmp(),strncasecmp(), var()

Signal Objects

objectlimitations
*~
+~
-~
/~
abs~
adc~
bang~
biquad~
block~Allowed to be used, but completely ignored.
bp~
catch~
clip~
complex-mod~
cos~
cpole~
czero_rev~arguments and control connections are ignored
czero~arguments and control connections are ignored
dac~
dbtopow~
dbtorms~
delread~
delread4~
delwrite~
env~
exp~
expr~except some functions.1 Only supports a single expression and signal inputs. Does not work with SIMD optimizations!
ftom~
hilbert~
hip~
inlet~
line~
lop~right inlet does not support signals
max~
min~
mtof~
noise~
osc~
outlet~
phasor~
powtodb~
pow~
q8_rsqrt~
q8_sqrt~
receive~
rmstodb~
rpole~
rsqrt~
rzero_rev~arguments and control connections are ignored
rzero~arguments and control connections are ignored
r~
samphold~
samplerate~
send~
sig~
snapshot~outputs on the next audiocycle. does not support [set( messages.
sqrt~
s~
tabosc4~
tabplay~
tabread4~right inlet does not do anything
tabread~
tabwrite~
throw~
vcf~
vd~
wrap~
  1. Does not support: size(), sum(), Sum(), avg(), Avg(), mtof(), ftom(), dbtorms(), rmstodb(), powtodb(), dbtopow()

Cyclone

Objects ported from cyclone library.

objectremarks
acosh~
acos~
asinh~
asin~
atan2~
atanh~
atan~
bitand~only supports mode 1
bitor~only supports mode 1
bitnot~only supports mode 1
bitsafe~
bitxor~only supports mode 1
cartopol~
cosh~
cosx~
equals~alias: ==~
greaterthaneq~alias: >=~
greaterthan~alias: >~
lessthaneq~alias: <=~
lessthan~alias: <~
notequals~alias: !=~
poltocar~
sinh~
sinx~
tanh~
tanx~

Other externals

Objects ported from other PD externals

objectlimitations
pdnam~only supports WaveNet models Nano, Feather, Lite, and Standard

Supported Abstractions

These are commonly used - or built in - abstractions that consist of compatible vanilla objects.

objectlimitations
else/above
else/add
else/avg
else/car2pol
else/sysrt.in
else/sysrt.out
else/trig2bang
rev1~
rev2~
rev3~

-p Search Paths

hvcc will iterate through various directories when resolving patch objects and abstractions. The -p or --search_paths argument can be used to add additional folders for hvcc to look in.

This can be handy when using a third-party patch library such as heavylib.

hvcc ~/myProject/_main.pd -o ~/Desktop/somewhere/else/ -n mySynth -p ~/Workspace/Projects/Enzien/heavylib/ ~/Desktop/myLib/