示例#1
0
void AudioFilterNode::HandleEvent(
	const media_timed_event*		event,
	bigtime_t										howLate,
	bool												realTimeEvent) {

	ASSERT(event);
	
	switch(event->type) {
		case BTimedEventQueue::B_PARAMETER:
			handleParameterEvent(event);
			break;
			
		case BTimedEventQueue::B_START:
			handleStartEvent(event);
			break;
			
		case BTimedEventQueue::B_STOP:
			handleStopEvent(event);
			break;
			
		default:
			ignoreEvent(event);
			break;
	}
}
void PSLGSSkeleton::handleEvent(PSLGEdge* event) {
	if ( event == NULL ) return;

	PSLGVertexType type1 = event->tailvex->type;
	PSLGVertexType type2 = event->headvex->type;
	if ( type1 < PSLGVertexType::REFLEX_VERTEX || type1 >PSLGVertexType::OTHER_VERTEX || 
		 type2 < PSLGVertexType::REFLEX_VERTEX || type2 >PSLGVertexType::OTHER_VERTEX ) {
			 delete event;
			 return;
	}
	switch (PSLGSSkeleton::eventTypes[type1][type2]) {
		case PSLGEventType::EDGE_EVENT:
			handleEdgeEvent(event);
			break;
		case PSLGEventType::SPLIT_EVENT:
			handleSplitEvent(event);
			break;
		case PSLGEventType::START_EVENT:
			handleStartEvent(event);
			break;
		case PSLGEventType::SWITCH_EVENT:
			handleSwitchEvent(event);
			break;
		case PSLGEventType::MULTI_START_EVENT:
			handleMultiStartEvent(event);
			break;
		case PSLGEventType::MULTI_SPLIT_EVENT:
			handleMultiSplitEvent(event);
			break;
		default:
			handleRemainingEvent(event);
			break;
	}
}
void StepMotionBlurFilter::HandleEvent(const media_timed_event* pEvent, bigtime_t howLate, bool realTimeEvent)
{
	ASSERT(pEvent);
	
	switch(pEvent->type) {
//		case BTimedEventQueue::B_PARAMETER:
//			handleParameterEvent(pEvent);
//			break;
			
		case BTimedEventQueue::B_START:
			handleStartEvent(pEvent);
			break;
			
		case BTimedEventQueue::B_STOP:
			handleStopEvent(pEvent);
			break;
			
		default:
			ignoreEvent(pEvent);
			break;
	}
}