オブジェクトルーチン:
アトリビュート (汎用)

object_attr_getvalueof

     
  オブジェクトのアトリビュートの値を取り出すために、object_attr_getvalueof 関数を使います。
   
 

t_max_err object_attr_getvalueof(void *x, t_symbol *s, long *argc, t_atom **argv);

     
  x アトリビュートの値を取り出すオブジェクトのポインタ
  s アトリビュートの名前
  argc argv の中のアーギュメントの数を受け取るための long 変数へのポインタ。long 変数自身は、このルーチンを呼び出す前に0にセットされていなければなりません。
  argv オブジェクトのデータを受け取る t_atom * へのポインタ。t_atom * 自身は、このルーチンを呼び出す前に NULLにセットされていなければなりません。
     
 

 このルーチンは、成功するとエラーコード MAX_ERR_NONE を返し、失敗した場合には“ext_obex.h”で定義される他のエラーコードの1つを返します。

object_attr_getvalueof ルーチンの呼出しは、どのようなデータが返される場合でもメモリの割当てを行います。(訳注:原文では object_getvalueof となっていますが誤植ではないかと思われます)。freebytes 関数を使ってこれを解放することは開発者の責任になります。


object_attr_setvalueof

     
  オブジェクトのアトリビュートの値をセットするために、object_attr_setvalueof 関数を使います。
   
 

t_max_err object_attr_setvalueof(void *x, t_symbol *s,long argc, t_atom *argv);

     
  x アトリビュートの値をセットするオブジェクトのポインタ
  s アトリビュートの名前
  argc argv の中のアーギュメントの数
  argv t_atom の配列;新しく設定されるアトリビュートのデータ
     
 

このルーチンは、成功するとエラーコード MAX_ERR_NONE を返し、失敗した場合には“ext_obex.h”で定義される他のエラーコードの1つを返します。


object_attr_get

     
  名前を与えられたアトリビュートへのポインタを返すために、object_attr_get 関数を使います。
   
  void *object_attr_get(void *x, t_symbol *attrname);
     
  x 対象のアトリビュートを持つオブジェクトへのポインタ
  attrname アトリビュートの名前
     
 

このルーチンは、成功するとアトリビュートへのポインタを返し、失敗した場合には NULLを返します。


object_attr_method

     
  アトリビュート自身へのポインタと同じように、メッセージの名前から、アトリビュートの getまたは set関数のメソッドを返すために、object_attr_method 関数を使います。
   
  method object_attr_method(void *x, t_symbol *methodname, void **attr, long *get);
     
  x 対象のアトリビュートを持つオブジェクトへのポインタ
  methodname アトリビュートのまたは関数を呼び出すために使用される Max メッセージ。例えば、gensym("mode")gensym("getthresh")
  attr void * へのポインタ。関数が成功で完了した場合、これにアトリビュートのポインタがセットされます。
  get long 変数へのポインタ。問い合わせを受けたメソッドが、アトリビュートの get関数に対応している場合、関数は成功で完了し1がセットされます。
     
 

このルーチンは、成功した場合は要求されたメソッドを返し、失敗した場合には NULLを返します。


object_attr_usercanset

     
  オブジェクトのアトリビュートを Max インターフェイスからセットすることが可能かどうか(すなわち、その ATTR_SET_OPAQUE_USER フラグがセットされているかどうか)を判定するために、 object_attr_usercanset 関数を使います。
   
  long object_attr_usercanset(void *x, t_symbol *s);
     
  x 対象のアトリビュートを持つオブジェクトへのポインタ
  s アトリビュートの名前
     
 

このルーチンは、アトリビュートが Max インターフェイスから設定可能な場合は1を、そうでない場合は0を返します。


object_attr_usercanget

     
  オブジェクトのアトリビュートの値を Max インターフェイスから問い合わせることが可能かどうか(すなわち、その ATTR_GET_OPAQUE_USER フラグがセットされているかどうか)を判定するために、 object_attr_usercanget 関数を使います。
   
  long object_attr_usercanget(void *x, t_symbol *s);
     
  x 対象のアトリビュートを持つオブジェクトへのポインタ
  s アトリビュートの名前
     
 

このルーチンは、アトリビュートの値が Max インターフェイスから問い合わせ可能な場合は1を、そうでない場合は0を返します。


object_attr_getdump

     
  指定されたオブジェクトのアトリビュートに対し、強制的にその値を、Max インターフェイスの中でオブジェクトのダンプアウト・アウトレットから送信させる場合に、object_attr_getdump 関数を使います。
   
  void object_attr_getdump(void *x, t_symbol *s, long argc, t_atom *argv);
     
  x 対象のアトリビュートを持つオブジェクトへのポインタ
  s アトリビュートの名前
  argc 使用されません
  argv 使用されません