diff options
| author | Crystalwarrior <varsash@gmail.com> | 2019-09-11 00:49:30 +0300 |
|---|---|---|
| committer | Crystalwarrior <varsash@gmail.com> | 2019-09-11 00:49:30 +0300 |
| commit | c2fd3796a97ee8d87544ec26df7d6797acfebd80 (patch) | |
| tree | c4326c770d821c4cd5f14961e7acf3f62a3b09c1 | |
| parent | 961563daf3af7fd0167b281ed101d11c67a4eaf7 (diff) | |
Add clear_music and clear_areas
Comment out the index as it can be potentially confusing alongside "true" area numbers
Add "FM" to Packet Received that would reload the areas and music list
TODO: Test this with arup systems
| -rw-r--r-- | include/courtroom.h | 2 | ||||
| -rw-r--r-- | src/courtroom.cpp | 6 | ||||
| -rw-r--r-- | src/packet_distribution.cpp | 42 |
3 files changed, 47 insertions, 3 deletions
diff --git a/include/courtroom.h b/include/courtroom.h index f0b69967..baefbfa7 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -64,6 +64,8 @@ public: void append_evidence(evi_type p_evi){evidence_list.append(p_evi);} void append_music(QString f_music){music_list.append(f_music);} void append_area(QString f_area){area_list.append(f_area);} + void clear_music(){music_list.clear();} + void clear_areas(){area_list.clear();} void fix_last_area() { diff --git a/src/courtroom.cpp b/src/courtroom.cpp index a1714163..c6a8749a 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -1000,9 +1000,9 @@ void Courtroom::list_areas() for (int n_area = 0 ; n_area < area_list.size() ; ++n_area) { QString i_area = ""; - i_area.append("["); - i_area.append(QString::number(n_area)); - i_area.append("] "); +// i_area.append("["); +// i_area.append(QString::number(n_area)); +// i_area.append("] "); i_area.append(area_list.at(n_area)); diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp index 40015fda..cfd6d8c6 100644 --- a/src/packet_distribution.cpp +++ b/src/packet_distribution.cpp @@ -525,6 +525,48 @@ void AOApplication::server_packet_received(AOPacket *p_packet) send_server_packet(new AOPacket("RD#%")); } + else if (header == "FM") + { + if (!courtroom_constructed) + goto end; + + w_courtroom->clear_music(); + w_courtroom->clear_areas(); + + bool musics_time = false; + int areas = 0; + + for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) + { + if (musics_time) + { + w_courtroom->append_music(f_contents.at(n_element)); + } + else + { + if (f_contents.at(n_element).endsWith(".wav") || + f_contents.at(n_element).endsWith(".mp3") || + f_contents.at(n_element).endsWith(".mp4") || + f_contents.at(n_element).endsWith(".ogg") || + f_contents.at(n_element).endsWith(".opus")) + { + musics_time = true; + w_courtroom->fix_last_area(); + w_courtroom->append_music(f_contents.at(n_element)); + areas--; +// qDebug() << "wtf!!" << f_contents.at(n_element); + } + else + { + w_courtroom->append_area(f_contents.at(n_element)); + areas++; + } + } + } + + w_courtroom->list_music(); + w_courtroom->list_areas(); + } else if (header == "DONE") { if (!courtroom_constructed) |
