Compile omni code into Max objects
.
Note that omni only supports nim version 1.6.0. It is recommended to install it via choosenim.
To install omnimax
, simply use the nimble
package manager (it comes bundled with the nim
installation).The command will also take care of installing omni
:
nimble install omnimax -y
omnimax ~/.nimble/pkgs/omni-0.4.2/examples/OmniSaw.omni
-
ins
andouts
represent audio inlets / outlets. -
params
andbuffers
can be set via messages and attributes. Consider this example:MyOmniObject.omni
params: freq amp buffers: buf1 buf2 ... implementation ...
These
params
andbuffers
can be initialized on object instantiation. All numeric values will initializeparams
, and all symbol values will initializebuffers
:[ myomniobject~ 440 foo 0.5 bar ]
In the previous example,
freq == 440
/amp == 0.5
/buf1 == foo
/buf2 == bar
.Another option is to use the attribute syntax:
[ myomniobject~ @freq 440 @amp 0.5 @buf1 foo @buf2 bar ]
One can also use
name $1
andset name $1
messages to set the values ofparams
andbuffers
at runtime:( set freq 440 ) == ( freq 440 ) ( set amp 0.5 ) == ( amp 0.5 ) ( set buf1 foo ) == ( buf1 foo ) ( set buf2 bar ) == ( buf1 bar )
Finally, all
params
andbuffers
support theattrui
object.
Check omni's website.