Skip to content

Supported vanilla objects

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

object limitations
!=
%
&
&&
|
||
*
+
-
/
<
<<
<=
==
>
>=
>>
abs
atan
atan2
b
bang
bendin only some generators 1
bendout only some generators 1
bng 2
change
clip
cnv
cos
ctlin only some generators 1
ctlout only some generators 1
dbtopow
dbtorms
declare
del
delay does not accept tempo messages or unit argument
div
exp
expr except some functions. 3 Only supports a single expression. Does not support symbol input.
else/knob converted to [f ] 2
f
float
floatatom converted to [f ] 2
ftom
hradio converted to [f ] 2
hsl converted to [f ] 2
i
inlet
int
line
loadbang
log
makenote
max
metro does not accept tempo messages or unit argument
min
midiin only some generators 1
midiout only some generators 1
midirealtimein only some generators 1
mod
moses
mtof
nbx converted to [f ] 2
notein only some generators 1
noteout only some generators 1
outlet
pack no symbol on first inlet
pgmin only some generators 1
pgmout only some generators 1
pd
pipe
poly
polytouchin only some generators 1
polytouchout only some generators 1
pow
powtodb
print
r
random
receive
rmstodb
route right inlet not supported
s
sel
select right inlet not supported
send
sin
spigot
sqrt
stripnote
swap
symbol
symbolatom
t
table
tabread
tabwrite
tan
tgl 2
timer does not accept tempo messages or unit argument
touchin only some generators 1
touchout only some generators 1
trigger
unpack no initialization e.g. [unpack 0 0]
until
vradio converted to [f ] 2
vsl converted 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()

Signal Objects

object limitations
*~
+~
-~
/~
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()

Supported Abstractions

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

object limitations
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/