Example #1
0
CKERROR MidiEventCallBack(const CKBehaviorContext& behcontext){
  CKBehavior *beh = behcontext.Behavior;
  MidiManager *mm = (MidiManager *) behcontext.Context->GetManagerByGuid( MIDI_MANAGER_GUID );

  switch( behcontext.CallbackMessage ){
    
  case CKM_BEHAVIOREDITED:
    {
      int c_pin = beh->GetInputParameterCount();
      
      char name[20];

      CKParameterIn *pin;
      for( int a=2 ; a<c_pin ; a++){
        pin = beh->GetInputParameter(a);
        sprintf( name, "Note %d", a);
        pin->SetName( name );
        pin->SetGUID( CKPGUID_INT );
      }
    } break;
    
  case CKM_BEHAVIORATTACH:
  case CKM_BEHAVIORLOAD:
		{
			mm->AddMidiBBref();
		} break;
  case CKM_BEHAVIORDETACH:
		{
			mm->RemoveMidiBBref();
		} break;
  }
  
  return CKBR_OK; 
}