示例#1
0
static void AS_Activate(AnimationStreamStack *stack, M_AnimationStream *as)
{
	AS_CheckURL(stack, as);
	as->isActive = 1;
	Node_OnEventOutSTR((SFNode*)as, "isActive");

	MO_Play(stack->stream);
	MO_SetSpeed(stack->stream, as->speed);
}
示例#2
0
static void AS_Activate(AnimationStreamStack *stack, M_AnimationStream *as)
{
    AS_CheckURL(stack, as);
    as->isActive = 1;
    gf_node_event_out_str((GF_Node*)as, "isActive");

    gf_mo_play(stack->stream, 0, -1, 0);
    gf_mo_set_speed(stack->stream, as->speed);
}
示例#3
0
void AnimationStreamModified(SFNode *node)
{
	M_AnimationStream *as = (M_AnimationStream *)node;
	AnimationStreamStack *st = (AnimationStreamStack *) Node_GetPrivate(node);
	if (!st) return;

	/*update state if we're active*/
	if (as->isActive) 
		AS_UpdateTime(&st->time_handle);

	/*check URL change*/
	AS_CheckURL(st, as);

	if (!st->time_handle.is_registered && !st->time_handle.needs_unregister) 
		SR_RegisterTimeNode(st->compositor, &st->time_handle);
	else
		st->time_handle.needs_unregister = 0;
}