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); }
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); }
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; }