@Override protected boolean onComplete(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.complete(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_COMPLETE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; }
@Override protected boolean onResume(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.resume(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_RESUME, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onStop(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.stop(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_CANCEL, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onResume(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.resume(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_RESUME, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onPause(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.pause(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_PAUSE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onComplete(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.complete(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_COMPLETE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; }
@Override protected boolean onPause(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.pause(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_PAUSE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onStop(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.stop(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_CANCEL, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
mySource.getAnimationPlayerId(), AnimationSignal.EVENT_START, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props);
public static AnimationRecord packAnimation(Animation animation){ if(animation == null){ throw new NullPointerException(); } AnimationRecord animRec = new AnimationRecord(); animRec.setName(animation.getVersion().getName()); animRec.setVersionNumber(animation.getVersion().getNumber()); animRec.setStartTime(animation.getStartTime()); animRec.setStopTime(animation.getStopTime()); Schema arraySchema = Schema.createArray(ChannelRecord.SCHEMA$); List<Channel> chanList = animation.getChannels(); GenericArray<ChannelRecord> channels = new Array<ChannelRecord>(chanList.size(), arraySchema); for(Channel chan : chanList){ channels.add(packChannel(chan)); } animRec.setChannels(channels); return animRec; }
mySource.getAnimationPlayerId(), AnimationSignal.EVENT_START, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props);
public static XMLConfiguration writeAnimation( Animation anim, String path, ChannelsParameterSource source, Set<SynchronizedPointGroup> syncPointGroups){ XMLConfiguration config = new XMLConfiguration(); config.setRootElementName(ANIMATION); ConfigurationNode node = config.getRootNode(); node.addChild(XMLConfigUtils.writeVersion(anim.getVersion(), ANIMATION_VERSION_TYPE)); node.addChild(writeChannels(anim.getChannels())); node.addChild(writeAddOnList(anim.getAddOns(), path)); node.addChild(writeChannelsParameters(source)); node.addChild(SyncPointGroupXML.ApacheWriter.writeSyncGroups(syncPointGroups)); return config; }
Set<SynchronizedPointGroup> syncPointGroups) throws IOException{ xs.startTag(NAMESPACE, ANIMATION); XMLUtils.writeVersionProperty(xs, a.getVersion(), ANIMATION_VERSION_TYPE); xs.startTag(NAMESPACE, CHANNELS); for(Channel channel : a.getChannels()){