@get_max_dictionary(dic:string_or_symb)
@set_max_dictionary(dic:string_or_symb, m:map)
@merge_max_dictionary(dic:string_or_symb, m:map)
These three functions are used to exchange with Max dictionaries. They exists only on the Max version.
@get_max_dictionary(name) read an existing Max dictionary (e.g.,
created via the dict or dict.serialize object). The name is specified by
a string or a symbol. The function returns the corresponding Antescofo
representation in the form of a map which may be nested (arrays and
sub-dictionaries are supported). In case of errors (the Max dictionary
does not exists), undef is returned.
@set_max_dictionary(name, map) overwrite the entire contents of a Max
dictionary with the representation an Antescofo value (of type Map). The
Max dictionary name must exists and its content is erased with the
dictionary_clearfunction of the Max SDK. If an error occurs (unknown
dictionary, impossibilities in the Antescofo -> Max data conversion,
etc.), an error message is emited and the return value is undef. If
the update of the Max dictionary succeed, teh mapis returned.
@merge_max_dictionary(name, map) partially updates a Max dictionary
with an Antescofo Map without overwriting the entire content. The merge
is asymmetric, giving priority to map: the value of a key k in the
updated dictionary is:
-
The value of k in
map, if k is present in the map. -
The original value in
name, if k is not present in the map.