From 29ff210adbb8ca369a57147a90c6ab76f7c0b5b0 Mon Sep 17 00:00:00 2001 From: chatlanin Date: Sat, 28 Mar 2026 21:56:42 +0300 Subject: [PATCH] fix play music then changing tabs --- src/monitor/gui/components/audio/cpp/base.cpp | 6 +++--- src/monitor/gui/components/audio/cpp/on_event.cpp | 12 +++--------- src/monitor/gui/components/snapshot/cpp/base.cpp | 7 ++----- src/monitor/gui/components/tabs/cpp/base.cpp | 6 ++++-- src/monitor/libs/audio/audio.cpp | 2 +- src/monitor/utils/event_type.hpp | 5 ++--- 6 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/monitor/gui/components/audio/cpp/base.cpp b/src/monitor/gui/components/audio/cpp/base.cpp index 0f2adcd..b2b8575 100755 --- a/src/monitor/gui/components/audio/cpp/base.cpp +++ b/src/monitor/gui/components/audio/cpp/base.cpp @@ -34,12 +34,12 @@ namespace monitor::components void audio::init(std::string snapshot_id, std::filesystem::path file) { m_player.stop(); - m_current_audio = music{ .m_id = snapshot_id, .m_current_time = sf::Time(), .m_file = file }; - m_audio_data[snapshot_id] = m_current_audio; + m_audio_data[snapshot_id] = music{ .m_id = snapshot_id, .m_current_time = sf::Time(), .m_file = file }; } void audio::change(std::string snapshot_id) { + hack::log()(m_current_audio.m_current_time.asSeconds()); m_audio_data[m_current_audio.m_id].m_current_time = m_current_audio.m_current_time; m_player.stop(); m_current_audio = m_audio_data[snapshot_id]; @@ -51,7 +51,7 @@ namespace monitor::components { m_current_audio.m_current_time = time; // HERE - // начинаем тут, делаем установку мсаркера проигрывания + // начинаем тут, делаем установку маркера проигрывания VE::event e { utils::event_type::INCREMENT_MARKER_AUDIO_POSITION, pos }; EMIT(e); } diff --git a/src/monitor/gui/components/audio/cpp/on_event.cpp b/src/monitor/gui/components/audio/cpp/on_event.cpp index 96f7aa5..5fbf797 100755 --- a/src/monitor/gui/components/audio/cpp/on_event.cpp +++ b/src/monitor/gui/components/audio/cpp/on_event.cpp @@ -27,21 +27,15 @@ namespace monitor::components switch (type) { - case utils::event_type::SET_AUDIO_STATUS: - { - m_status = std::any_cast(e.m_data); - break; - } - - case utils::event_type::SET_AUDIO_FILE: + case utils::event_type::INIT_AUDIO: { auto [snapshot_id, file] = std::any_cast>(e.m_data); + m_status = utils::var::STATUS::ACTIVE; init(snapshot_id, file); - change(snapshot_id); break; } - case utils::event_type::CHANGE_AUDIO_FILE: + case utils::event_type::CHANGE_AUDIO: { auto snapshot_id = std::any_cast(e.m_data); change(snapshot_id); diff --git a/src/monitor/gui/components/snapshot/cpp/base.cpp b/src/monitor/gui/components/snapshot/cpp/base.cpp index 227f1d6..d52ceb0 100755 --- a/src/monitor/gui/components/snapshot/cpp/base.cpp +++ b/src/monitor/gui/components/snapshot/cpp/base.cpp @@ -33,10 +33,7 @@ namespace monitor::components m_setup = setup; m_base_plugins.init(m_snapshot_id, m_setup); - VE::event e1 { utils::event_type::SET_AUDIO_STATUS, utils::var::STATUS::ACTIVE }; - EMIT(e1); - - VE::event e2 { utils::event_type::SET_AUDIO_FILE, std::pair(m_snapshot_id, setup.m_file) }; - EMIT(e2); + VE::event e { utils::event_type::INIT_AUDIO, std::pair(m_snapshot_id, setup.m_file) }; + EMIT(e); } } diff --git a/src/monitor/gui/components/tabs/cpp/base.cpp b/src/monitor/gui/components/tabs/cpp/base.cpp index 62a85e4..3c7f979 100755 --- a/src/monitor/gui/components/tabs/cpp/base.cpp +++ b/src/monitor/gui/components/tabs/cpp/base.cpp @@ -31,7 +31,8 @@ namespace monitor::components VE::event e0 { utils::event_type::CREATE_SNAPSHOT_COMPLETED, nullptr }; EMIT(e0); - m_current_open_index = m_snapshots.size() - 1 ; + + change_tab(m_snapshots.size() - 1); } void tabs::change_tab(std::size_t i) @@ -40,7 +41,8 @@ namespace monitor::components m_snapshots[i]->set_status(utils::var::STATUS::ACTIVE); m_current_open_index = i; - VE::event e { utils::event_type::CHANGE_AUDIO_FILE, m_snapshots[i]->m_snapshot_id }; + // send to: components/audio + VE::event e { utils::event_type::CHANGE_AUDIO, m_snapshots[i]->m_snapshot_id }; EMIT(e); }; } diff --git a/src/monitor/libs/audio/audio.cpp b/src/monitor/libs/audio/audio.cpp index e734b83..b037186 100644 --- a/src/monitor/libs/audio/audio.cpp +++ b/src/monitor/libs/audio/audio.cpp @@ -15,7 +15,7 @@ namespace monitor::libs // сделать выбор устройства из интерфейса // поставь, то которое есть в списке устройств for (auto& d : devices) std::cout << d << std::endl; - std::string target_device = devices[2]; + std::string target_device = devices[1]; if (sf::PlaybackDevice::setDevice(target_device)) hack::log()("Устройство успешно установлено: ", target_device); else diff --git a/src/monitor/utils/event_type.hpp b/src/monitor/utils/event_type.hpp index 4326ce4..00755f0 100644 --- a/src/monitor/utils/event_type.hpp +++ b/src/monitor/utils/event_type.hpp @@ -8,9 +8,8 @@ namespace monitor::utils CREATE_SNAPSHOT_COMPLETED, STATUS_PROCESS, STATUS_COMPLETED, - SET_AUDIO_STATUS, - SET_AUDIO_FILE, - CHANGE_AUDIO_FILE, + INIT_AUDIO, + CHANGE_AUDIO, /// делать