Esempio n. 1
0
        public async Task Play(EZ_B.Classes.RecordingEvent[] recordingEvents, PlayDirectionEnum playDirection)
        {
            IOrderedEnumerable <Classes.RecordingEvent> recordingEventList;

            if (playDirection == PlayDirectionEnum.Forward)
            {
                recordingEventList = from m in recordingEvents
                                     orderby m.MS ascending
                                     select m;
            }
            else
            {
                recordingEventList = from m in recordingEvents
                                     orderby m.MS descending
                                     select m;
            }

            int lastMS = 0;

            foreach (EZ_B.Classes.RecordingEvent recordingEvent in recordingEventList)
            {
                if (lastMS == 0)
                {
                    lastMS = recordingEvent.MS;
                }

                await Task.Delay(Math.Abs(recordingEvent.MS - lastMS));

                lastMS = recordingEvent.MS;

                DoEvent(recordingEvent);
            }
        }
Esempio n. 2
0
 public async void Play(PlayDirectionEnum playDirection)
 {
     await Play(_recordingEventList.ToArray(), playDirection);
 }