23 #ifndef EVENTSCHEDULER_H 
   24 #define EVENTSCHEDULER_H 
   31 namespace libsidplayfp
 
   68     event_clock_t currentTime;
 
   76     void schedule(
Event &event)
 
   79         Event **scan = &firstEvent;
 
   82             if ((*scan == 
nullptr) || ((*scan)->triggerTime > event.triggerTime))
 
   88              scan = &((*scan)->next);
 
  109         event.triggerTime = currentTime + ((currentTime & 1) ^ 
phase) + (cycles << 1);
 
  121         event.triggerTime = currentTime + (cycles << 1);
 
  142         Event &
event = *firstEvent;
 
  143         firstEvent = firstEvent->next;
 
  144         currentTime = 
event.triggerTime;
 
  164         return (currentTime + (
phase ^ 1)) >> 1;
 
  184     event_phase_t 
phase()
 const { 
return static_cast<event_phase_t
>(currentTime & 1); }
 
  189 #endif // EVENTSCHEDULER_H 
  
void schedule(Event &event, unsigned int cycles)
Definition: EventScheduler.h:119
 
bool isPending(Event &event) const
Definition: EventScheduler.cpp:50
 
void cancel(Event &event)
Definition: EventScheduler.cpp:35
 
void clock()
Definition: EventScheduler.h:140
 
Definition: EventScheduler.h:62
 
event_clock_t getTime(event_phase_t phase) const
Definition: EventScheduler.h:162
 
void reset()
Definition: EventScheduler.cpp:29
 
void schedule(Event &event, unsigned int cycles, event_phase_t phase)
Definition: EventScheduler.h:106
 
event_phase_t phase() const
Definition: EventScheduler.h:184
 
event_clock_t getTime(event_clock_t clock, event_phase_t phase) const
Definition: EventScheduler.h:174