add: break;
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 update_iq = FALSE;    struct TagItem* tstate = msg->opu_AttrList;  struct TagItem* tag;  while ((tag = NextTagItem(&tstate))) {    switch (tag->ti_Tag) {      case AHIA_LFO_Frequency:	AHIClassData->frequency = tag->ti_Data / 65536.0;	NotifySuper(class, object, msg, tag->ti_Tag, tag->ti_Data, TAG_DONE);	update_iq = TRUE;	break;      case AHIA_LFO_Phase: {	double offset = (AHIClassData->phase_offset + tag->ti_Data / FIXED2PI -			 AHIClassData->phase);	AHIClassData->phase_offset = fmod(offset, 1.0);	NotifySuper(class, object, msg,		    AHIA_LFO_PhaseOffset, (ULONG) (AHIClassData->phase_offset *						   FIXED2PI),		    TAG_DONE);	update_iq = TRUE;	break;      }      case AHIA_LFO_PhaseOffset:	AHIClassData->phase_offset = tag->ti_Data / FIXED2PI;	NotifySuper(class, object, msg, tag->ti_Tag, tag->ti_Data, TAG_DONE);	update_iq = TRUE;	break;	      case AHIA_LFO_Amplitude:	AHIClassData->amplitude = tag->ti_Data;	NotifySuper(class, object, msg, tag->ti_Tag, tag->ti_Data, TAG_DONE);	update_iq = TRUE;	break;      case AHIA_LFO_Bias:	AHIClassData->bias = tag->ti_Data;	NotifySuper(class, object, msg, tag->ti_Tag, tag->ti_Data, TAG_DONE);	update_iq = TRUE;	break;	      case AHIA_LFO_Waveform:	switch (tag->ti_Data) {	  case AHIV_LFO_Sine:	  case AHIV_LFO_Square:	  case AHIV_LFO_Triangle:	  case AHIV_LFO_Sawtooth:	    AHIClassData->waveform = tag->ti_Data;	    NotifySuper(class, object, msg, tag->ti_Tag, tag->ti_Data, TAG_DONE);	    update_iq = TRUE;	    break;	  default:	    SetSuperAttrs(class, object,			  AHIA_Error, AHIE_LFO_InvalidWaveform,			  TAG_DONE);	    break;	    	}	break;      case AHIA_TickProcessor_Tick: {	Object* buffer  = (Object*) tag->ti_Data;	ULONG   freq_hi = 0;	ULONG   freq_lo = 0;	ULONG   time_hi = 0;	ULONG   time_lo = 0;	double  time;	double  freq;	GetAttr(AHIA_Buffer_SampleFreqInt,   buffer, &freq_hi);	GetAttr(AHIA_Buffer_SampleFreqFract, buffer, &freq_lo);	GetAttr(AHIA_Buffer_TimestampHigh,   buffer, &time_hi);	GetAttr(AHIA_Buffer_TimestampLow,    buffer, &time_lo);	freq = freq_hi + ldexp(freq_lo, -32);	time = ldexp(time_hi, 32) + time_lo;	AHIClassData->ticktime = time / freq;	AHIClassData->tickfreq = freq;	update_iq = TRUE;      }	      case AHIA_LFO_Tick:	AHIClassData->ticktime = tag->ti_Data / AHIClassData->tickfreq;	update_iq = TRUE;	break;      case AHIA_LFO_TickFreq:	AHIClassData->tickfreq = tag->ti_Data;	update_iq = TRUE;	break;	      default:	break;    }  }  if (update_iq) {    calc_iq(class, object, msg);  }    return 0;}