| omnimax_lang | ||
| omnimaxpkg | ||
| .gitignore | ||
| .gitmodules | ||
| LICENSE | ||
| omnimax.nim | ||
| omnimax.nimble | ||
| README.md | ||
omnimax
Compile omni code into Max objects.
Requirements
Note that omni only supports nim version 1.6.0. It is recommended to install it via choosenim.
Installation
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
Usage
omnimax ~/.nimble/pkgs/omni-0.4.2/examples/OmniSaw.omni
Max object interface
-
insandoutsrepresent audio inlets / outlets. -
paramsandbufferscan be set via messages and attributes. Consider this example:MyOmniObject.omni
params: freq amp buffers: buf1 buf2 ... implementation ...These
paramsandbufferscan 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 $1andset name $1messages to set the values ofparamsandbuffersat 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
paramsandbufferssupport theattruiobject.
Website / Docs
Check omni's website.