Klasse Timer

java.lang.Object
sidplay.player.Timer

public abstract class Timer extends Object
The timer contains the start and end time of a currently played song. It notifies about reaching the start and end time by calling start/stop methods. Additionally the fade-in and fade-out start time notification has been added.
  • Felddetails

    • start

      private double start
      Timer start time in seconds.
    • end

      private double end
      Timer end in seconds
    • fadeIn

      private double fadeIn
      Fade-in time in seconds (0 means no fade-in).
    • fadeOut

      private double fadeOut
      Fade-out time in seconds (0 means no fade-out).
    • defaultLength

      private double defaultLength
      Limited song length in s, if song length is unknown.
    • startTimeEvent

      private Event startTimeEvent
      Tune start time has been reached
    • endTimeEvent

      private Event endTimeEvent
      Tune end time has been reached
    • fadeInStartTimeEvent

      private Event fadeInStartTimeEvent
      Tune fade-in time has been reached
    • fadeOutStartTimeEvent

      private Event fadeOutStartTimeEvent
      Tune fade-out time has been reached
    • context

      private final EventScheduler context
      The player.
    • sidplay2Section

      private final ISidPlay2Section sidplay2Section
    • lengthFnct

      private DoubleSupplier lengthFnct
  • Konstruktordetails

    • Timer

      public Timer(ISidPlay2Section sidplay2Section, EventScheduler context, DoubleSupplier lengthFnct)
      Create a song length timer for the player
      Parameter:
      sidplay2Section - configuration
      context - event scheduler
      lengthFnct - SID database length function
  • Methodendetails

    • setStart

      public final void setStart(double start)
      Set tune start time
      Parameter:
      start - start time
    • setDefaultLength

      public void setDefaultLength(double defaultLength)
    • reset

      public final void reset(SidTune tune)
      Reset timer events
    • updateEnd

      public final void updateEnd(SidTune tune)
      Update timer end.
      • MP3 tune? We always play forever
      • SLDB enabled and song length well known? Use song length
      • default length? Use default length relative to start
      • default length == 0? Play forever
    • schedule

      private double schedule(SidTune tune, double seconds, Event event)
      Schedule start or end timer event.
      Note: If the event is in the past: trigger immediately
      Parameter:
      seconds - absolute schedule time in seconds
      event - timer event to schedule
    • cancel

      private void cancel(Event event)
      Cancel event.
      Parameter:
      event - event to cancel
    • getEnd

      public final double getEnd()
      Get tune end time in cycles
      Gibt zurück:
      tune end time
    • start

      public abstract void start()
      Notification of tune start
    • end

      public abstract void end()
      Notification of tune end
    • fadeInStart

      public abstract void fadeInStart(double fadeIn)
      Notification of tune fade-in start
    • fadeOutStart

      public abstract void fadeOutStart(double fadeOut)
      Notification of tune fade-out start