Skip to content

abclib v1.1.0

Latest
Compare
Choose a tag to compare
@alainbonardi alainbonardi released this 22 Oct 14:29
17f9497

What’s new in the 1.1.0 version?

The 1.1.0 version contains only a Max package for MacOS and Windows. It will be soon completed by a new version for Pure Data.
We present the features of the new Max package:

  • Syntax change and use of a 'wrapper': users will no longer call externals, but abstractions with simplified syntax for more dynamic use. The syntax is now composed as follows:
    • MC abstractions: [abc.mc.function_name~] followed by an argument for the number of channels, then any attributes (e.g. [abc.mc.chopan~ 7] or [abc.mc.chopan~ 7 @phi0 30]).
    • HOA abstractions: [abc.hoa.function_name~] followed by an argument for the ambisonic order, then any attributes (e.g. [abc.hoa.encoder~ 3 @sources 5]).
    • Other abstractions: [abc.function_name~] followed by any attributes (e.g. [abc.envfollower~] or [abc.envfollower~ @attack 0.001]).
    • All abstractions that take signal and control as inputs have two inputs (one for MC signal and one for control). If they take only control or only signal as input, they have only one input.
  • Properly structured and documented Max package format: all attributes, arguments and messages of all package abstractions are referenced. In this way, the user has access to a description of each variable enabling him to control an abstraction, either at instantiation time in the window appearing under the object, or in the “reference” menu, or by displaying the reference page.
  • Revised help patches: graphic and sound overhaul of help patches.
  • Simplified autocompletion: when the user calls an abstraction “abc.” he sees the list of all abstractions in the package, then if he adds “abc.hoa.” he sees the list of all ambisonic abstractions (idem with 'mc' for multi-channel processing abstractions).
  • Multichannel integration: the wrapper is multichannel, which simplifies the structure of patches, making them easier to read, and allowing you to change the ambisonic order/number of channels on the fly without having to redo the connections between two objects.
  • bpatcher display of graphical abstractions: all graphical abstractions are automatically displayed in bpatcher when instantiated ([abc.gaincontrol], [abc.quadriout~], [abc.adcinput~], [abc.map.ui], etc.). Arguments and attributes are entered in the inspector.
  • Three new graphical abstractions: [abc.map.ui], [abc.2plf.ui], [abc.dtd.ui].
  • Backward-compatible syntax: externals can still be accessed using the same syntax. For example, the [abc_2d_decoder3_5~] object can still be called. Users are invited to use the wrapper (e.g. [abc.hoa.decoder~ 3 @speakers 5]).
  • The syntax for indexed variables changes from “var00” to “var0” for indices lower than 10. For example, to control the angle of the third speaker of an encoder ([abc.hoa.decoder~ 3 @speakers 16]), we must use variable “a2” and to control the angle of the 12th speaker we must use variable “a11”.
  • Ambisonic decoder optimization: CPU load divided by 2.