diff options
| author | Crystalwarrior <varsash@gmail.com> | 2020-08-25 12:21:10 +0300 |
|---|---|---|
| committer | Crystalwarrior <varsash@gmail.com> | 2020-08-25 12:21:10 +0300 |
| commit | 7e9c5726e02a65023d9563f49e833525bf8f4bae (patch) | |
| tree | 05bcd9b5972f73f0164e38cb7cacb21602a864c3 /src | |
| parent | febfbeafc11ecad57d6e9a06575c28f1b13da8da (diff) | |
Introduce the timer packet - "TI".
This timer will start the clock accounting for latency! Cool, right?
Remove useless qDebug() for music looping
Diffstat (limited to 'src')
| -rw-r--r-- | src/aomusicplayer.cpp | 1 | ||||
| -rw-r--r-- | src/courtroom.cpp | 10 | ||||
| -rw-r--r-- | src/packet_distribution.cpp | 11 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index 6c61b9ad..0c50d505 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -145,7 +145,6 @@ void CALLBACK loopProc(HSYNC handle, DWORD channel, DWORD data, void *user) void AOMusicPlayer::set_looping(bool toggle, int channel) { - qDebug() << "Setting looping for channel" << channel << "to" << toggle; m_looping = toggle; if (!m_looping) { if (BASS_ChannelFlags(m_stream_list[channel], 0, 0) & BASS_SAMPLE_LOOP) diff --git a/src/courtroom.cpp b/src/courtroom.cpp index ec1fc994..6bd2bd2d 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -4715,6 +4715,16 @@ void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, } } +void Courtroom::start_clock(qint64 msecs) +{ + ui_clock->start(static_cast<int>(msecs)); +} + +void Courtroom::stop_clock() +{ + ui_clock->stop(); +} + Courtroom::~Courtroom() { delete music_player; diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 9422cfdb..1f49719f 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -728,6 +728,17 @@ void AOApplication::server_packet_received(AOPacket *p_packet) f_contents.at(4) == "1", f_contents.at(5) == "1"); } + else if (header == "TI") { // Timer packet + if (courtroom_constructed && f_contents.size() >= 1) { + qint64 resolution = f_contents.at(0).toInt(); + qDebug() << "timer" << resolution << last_ping << resolution - last_ping; + resolution = resolution - last_ping; + if (resolution > 0) + w_courtroom->start_clock(resolution); + else + w_courtroom->stop_clock(); + } + } end: |
