Beispiel #1
0
        private void UpdateUi()
        {
            var currentLastPacket = OpcodeFinder.Instance.PacketCount;

            TickUpdated?.Invoke(new Tuple <List <ParsedMessage>, Dictionary <OpcodeId, OpcodeEnum>, int> (UiUpdateData, UiUpdateKnownOpcode, TeraSniffer.Instance.Packets.Count));
            UiUpdateData        = new List <ParsedMessage>();
            UiUpdateKnownOpcode = new Dictionary <OpcodeId, OpcodeEnum>();
        }
Beispiel #2
0
        private void UpdateTickData(int tickId, int tickType, double value)
        {
            if (tickId != tickerId)
            {
                return;
            }

            tickData.Update(tickType, value);
            TickUpdated?.Invoke(tickType, value);
        }
Beispiel #3
0
        private void Tick(object sender, EventArgs e)
        {
            int now     = Environment.TickCount;
            int elapsed = now - LastSystemTick;

            LastSystemTick = now;

            elapsedTick += NoteView.UnitBeatTick * (double)BPMElement.Value.BPM * elapsed / 60 / 1000;
            CurrentTick  = (int)(InitialTick + elapsedTick);
            if (CurrentTick >= StartTick)
            {
                TickUpdated?.Invoke(this, new TickUpdatedEventArgs(Math.Max(CurrentTick, 0)));
            }

            while (BPMElement.Next != null && BPMElement.Next.Value.Tick <= CurrentTick)
            {
                BPMElement = BPMElement.Next;
            }

            if (NoteView.CurrentTick >= EndTick + NoteView.UnitBeatTick)
            {
                Stop();
            }

            int latencyTick = GetLatencyTick(ClapSource.Latency, (double)BPMElement.Value.BPM);

            if (TickElement == null || TickElement.Value - latencyTick > CurrentTick)
            {
                return;
            }
            while (TickElement != null && TickElement.Value - latencyTick <= CurrentTick)
            {
                TickElement = TickElement.Next;
            }

            SoundManager.Play(ClapSource.FilePath);
        }
        private void Tick(object sender, EventArgs e)
        {
            int now     = Environment.TickCount;
            int elapsed = now - LastSystemTick;

            LastSystemTick = now;

            elapsedTick += PreviewContext.TicksPerBeat * BpmElement.Value.Bpm * elapsed * PreviewContext.Speed / 60 / 1000;
            CurrentTick  = (int)(InitialTick + elapsedTick);
            if (CurrentTick >= StartTick)
            {
                TickUpdated?.Invoke(this, new TickUpdatedEventArgs(Math.Max(CurrentTick, 0)));
            }

            while (BpmElement.Next != null && BpmElement.Next.Value.Tick <= CurrentTick)
            {
                BpmElement = BpmElement.Next;
            }

            if (CurrentTick >= EndTick + PreviewContext.TicksPerBeat)
            {
                Stop();
            }

            int latencyTick = GetLatencyTick(PreviewContext.ClapSource.Latency, BpmElement.Value.Bpm);

            if (TickElement == null || TickElement.Value - latencyTick > CurrentTick)
            {
                return;
            }
            while (TickElement != null && TickElement.Value - latencyTick <= CurrentTick)
            {
                TickElement = TickElement.Next;
            }

            SoundManager.Play(PreviewContext.ClapSource.FilePath, 0, PreviewContext.ClapSource.Volume, PreviewContext.Speed);
        }