rem: AHIA_Error, AHIE_GainProcessor_InvalidSampleType,
add: AHIA_Error, AHIE_MyProcessor_InvalidSampleType,
context: MethodUpdate(Class* class, Object* object, struct opUpdate* msg){  struct AHIClassBase* AHIClassBase = (struct AHIClassBase*) class->cl_UserData;  struct AHIClassData* AHIClassData = (struct AHIClassData*) INST_DATA(class, object);  BOOL check_ready = FALSE;    struct TagItem* tstate = msg->opu_AttrList;  struct TagItem* tag;  while ((tag = NextTagItem(&tstate))) {    switch (tag->ti_Tag) {      case AHIA_Buffer_Data:	AHIClassData->data = (float*) tag->ti_Data;	check_ready = TRUE;	break;      case AHIA_Buffer_Length:	AHIClassData->length = tag->ti_Data;	check_ready = TRUE;	break;      case AHIA_Buffer_SampleType: {	ULONG st = tag->ti_Data;		if ((st & AHIST_TYPE_MASK) ==	    (AHIST_T_FLOAT | AHIST_D_DISCRETE | AHIST_FE)) {	  AHIClassData->channels = AHIST_C_DECODE(st);	}	else {	  SetSuperAttrs(class, object,			AHIA_Error, AHIE_GainProcessor_InvalidSampleType,			TAG_DONE);	}	check_ready = TRUE;	break;      }	      // TODO: Add your custom attributes here	      default:	break;    }  }  if (check_ready) {    SetSuperAttrs(class, object,		  AHIA_Processor_Ready, (AHIClassData->data != NULL &&					 AHIClassData->length > 0 &&					 AHIClassData->channels > 0),		  TAG_DONE);  }  return 0;}