@@ -0,0 +1,1070 @@
+package com.haxademic.core.media;%0A%0Apublic class MediaTimecodeTrigger %7B%0A%0A%09public interface IMediaTimecodeTriggerDelegate %7B%0A%09%09public void mediaTimecodeTriggered(String mediaId, float time, String action);%0A%09%7D%0A%09%0A%09protected boolean active = false;%0A%09protected String mediaId;%0A%09protected float triggerTime;%0A%09protected String action;%0A%09protected IMediaTimecodeTriggerDelegate delegate;%0A%09protected float pastThresh = 0.3f;%0A%09%0A%09public MediaTimecodeTrigger(String mediaId, float time, String action, IMediaTimecodeTriggerDelegate delegate) %7B%0A%09%09this.mediaId = mediaId;%0A%09%09this.triggerTime = time;%0A%09%09this.action = action;%0A%09%09this.delegate = delegate;%0A%09%7D%0A%09%0A%09public void update(String curMediaId, float curTimeSeconds) %7B%0A%09%09if(curMediaId.equals(mediaId)) %7B%0A%09%09%09if(active == false && curTimeSeconds %3E= triggerTime && curTimeSeconds %3C triggerTime + pastThresh) %7B%0A%09%09%09%09active = true;%0A%09%09%09%09delegate.mediaTimecodeTriggered(mediaId, triggerTime, action);%0A%09%09%09%7D else if(active == true && (curTimeSeconds %3C triggerTime %7C%7C curTimeSeconds %3E triggerTime + pastThresh)) %7B%0A%09%09%09%09active = false;%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%7D%0A

Create MediaTimecodeTrigger.java