项目作者: vitreo12

项目描述 :
Max wrapper for Omni.
高级语言: Nim
项目地址: git://github.com/vitreo12/omnimax.git
创建时间: 2020-03-08T12:13:45Z
项目社区:https://github.com/vitreo12/omnimax

开源协议:MIT License

下载


omnimax

Compile omni code into Max objects.

Requirements

1) nim
2) git
3) cmake
4) gcc (Windows) / clang (MacOS)

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:

  1. nimble install omnimax -y

Usage

  1. omnimax ~/.nimble/pkgs/omni-0.4.2/examples/OmniSaw.omni

Max object interface

  1. ins and outs represent audio inlets / outlets.
  2. params and buffers can be set via messages and attributes. Consider this example:

    MyOmniObject.omni

    1. params:
    2. freq
    3. amp
    4. buffers:
    5. buf1
    6. buf2
    7. ... implementation ...

    These params and buffers can be initialized on object instantiation. All numeric values will initialize params, and all symbol values will initialize buffers:

    1. [ 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:

    1. [ myomniobject~ @freq 440 @amp 0.5 @buf1 foo @buf2 bar ]

    One can also use name $1 and set name $1 messages to set the values of params and buffers at runtime:

    1. ( set freq 440 ) == ( freq 440 )
    2. ( set amp 0.5 ) == ( amp 0.5 )
    3. ( set buf1 foo ) == ( buf1 foo )
    4. ( set buf2 bar ) == ( buf1 bar )

    Finally, all params and buffers support the attrui object.

Website / Docs

Check omni’s website.