Class TimelineEngine


  • class TimelineEngine
    extends java.lang.Object
    The Radiance timeline engine. This is the main entry point to play Timelines and TimelineScenarios. This class is for internal use only.
    • Field Detail

      • DEBUG_MODE

        public static boolean DEBUG_MODE
        Debug mode indicator. Set to true to print trace messages to console during development.
      • instance

        private static TimelineEngine instance
        Single instance of this class.
      • runningTimelines

        private java.util.Set<Timeline> runningTimelines
        All currently running timelines.
      • lastIterationTimeStamp

        long lastIterationTimeStamp
      • callbackQueue

        private java.util.concurrent.BlockingQueue<java.lang.Runnable> callbackQueue
      • LOCK

        static final java.lang.Object LOCK
    • Constructor Detail

      • TimelineEngine

        private TimelineEngine()
        Simple constructor. Defined private for singleton.
        See Also:
        getInstance()
    • Method Detail

      • getInstance

        public static TimelineEngine getInstance()
        Gets singleton instance.
        Returns:
        Singleton instance.
      • updateTimelines

        void updateTimelines()
        Updates all timelines that are currently registered with this tracker.
      • callbackCallTimelinePulse

        private void callbackCallTimelinePulse​(Timeline timeline)
      • callbackCallTimelineScenarioEnded

        private void callbackCallTimelineScenarioEnded​(TimelineScenario timelineScenario)
      • getRunningTimeline

        private Timeline getRunningTimeline​(Timeline timeline)
        Returns an existing running timeline that matches the specified parameters.
        Parameters:
        timeline - Timeline.
        Returns:
        An existing running timeline that matches the specified parameters.
      • addTimeline

        private void addTimeline​(Timeline timeline)
        Adds the specified timeline.
        Parameters:
        timeline - Timeline to add.
      • play

        void play​(Timeline timeline,
                  boolean reset,
                  long msToSkip)
      • playReverse

        void playReverse​(Timeline timeline,
                         boolean reset,
                         long msToSkip)
      • playLoop

        void playLoop​(Timeline timeline,
                      long msToSkip)
      • cancelAllTimelines

        public void cancelAllTimelines()
        Stops tracking of all timelines. Note that this function does not stop the timeline engine thread (animatorThread) and the timeline callback thread (callbackThread).
      • cancelTimeline

        private void cancelTimeline​(Timeline timeline)
        Cancels the specified timeline instance.
        Parameters:
        timeline - Timeline to cancel.
      • endTimeline

        private void endTimeline​(Timeline timeline)
        Ends the specified timeline instance.
        Parameters:
        timeline - Timeline to end.
      • abortTimeline

        private void abortTimeline​(Timeline timeline)
        Cancels the specified timeline instance.
        Parameters:
        timeline - Timeline to cancel.
      • suspendTimeline

        private void suspendTimeline​(Timeline timeline)
        Suspends the specified timeline instance.
        Parameters:
        timeline - Timeline to suspend.
      • resumeTimeline

        private void resumeTimeline​(Timeline timeline)
        Resume the specified timeline instance.
        Parameters:
        timeline - Timeline to resume.
      • runTimelineScenario

        void runTimelineScenario​(java.lang.Runnable timelineScenarioRunnable)
      • updateAndEnforceTimelinePosition

        private void updateAndEnforceTimelinePosition​(Timeline timeline)