static public SdfMacro decodeInstruction(SdfBuffer buff){
  SdfMacro m;
  if ((m=ChannelStart.match(buff)) != null) {
    return m;
  }
 else   if ((m=SdlVersion.match(buff)) != null) {
    return m;
  }
 else   if ((m=SkemeStart.match(buff)) != null) {
    return m;
  }
 else   if ((m=GenerateTrigger.match(buff)) != null) {
    return m;
  }
 else   if ((m=EndSound.match(buff)) != null) {
    return m;
  }
 else   if ((m=DelaySound.match(buff)) != null) {
    return m;
  }
 else   if ((m=SkipOnTrigger.match(buff)) != null) {
    return m;
  }
 else   if ((m=InitiateSound.match(buff)) != null) {
    return m;
  }
 else   if ((m=MaskCompare.match(buff)) != null) {
    return m;
  }
 else   if ((m=LoadModifier.match(buff)) != null) {
    return m;
  }
 else   if ((m=BranchTo.match(buff)) != null) {
    return m;
  }
 else   if ((m=Play.match(buff)) != null) {
    return m;
  }
 else   if ((m=FourByteMacro.match(buff)) != null) {
    return m;
  }
 else   if ((m=TwoByteMacro.match(buff)) != null) {
    return m;
  }
  log.warn("dropped through");
  return null;
}

static public SdfMacro decodeInstruction ( SdfBuffer buff ) { SdfMacro m ; if ( ( m = ChannelStart . match ( buff ) ) != null ) { return m ; } else if ( ( m = SdlVersion . match ( buff ) ) != null ) { return m ; } else if ( ( m = SkemeStart . match ( buff ) ) != null ) { return m ; } else if ( ( m = GenerateTrigger . match ( buff ) ) != null ) { return m ; } else if ( ( m = EndSound . match ( buff ) ) != null ) { return m ; } else if ( ( m = DelaySound . match ( buff ) ) != null ) { return m ; } else if ( ( m = SkipOnTrigger . match ( buff ) ) != null ) { return m ; } else if ( ( m = InitiateSound . match ( buff ) ) != null ) { return m ; } else if ( ( m = MaskCompare . match ( buff ) ) != null ) { return m ; } else if ( ( m = LoadModifier . match ( buff ) ) != null ) { return m ; } else if ( ( m = BranchTo . match ( buff ) ) != null ) { return m ; } else if ( ( m = Play . match ( buff ) ) != null ) { return m ; } else if ( ( m = FourByteMacro . match ( buff ) ) != null ) { return m ; } else if ( ( m = TwoByteMacro . match ( buff ) ) != null ) { return m ; } log . warn ( "dropped through" ) ; return null ; }
return the next instruction macro in a buffer . < p > note this uses the index contained in the sdfbuffer implementation , and has the side - effect of bumping that forward .
