wchess : add clear_audio callback

This commit is contained in:
Georgi Gerganov
2023-11-28 13:37:26 +02:00
parent 03f254193b
commit ee65df7982
4 changed files with 17 additions and 1 deletions

View File

@ -48,6 +48,11 @@ bool WChess::check_running() const {
return false;
}
bool WChess::clear_audio() const {
if (m_cb.clear_audio) return (*m_cb.clear_audio)();
return false;
}
void WChess::get_audio(int ms, std::vector<float>& pcmf32) const {
if (m_cb.get_audio) (*m_cb.get_audio)(ms, pcmf32);
}
@ -195,6 +200,8 @@ void WChess::run() {
set_moves(m_board->process(command));
}
}
clear_audio();
}
}
}

View File

@ -12,12 +12,14 @@ public:
using CheckRunningCb = bool (*)();
using GetAudioCb = void (*)(int, std::vector<float> &);
using SetMovesCb = void (*)(const std::string &);
using CleartAudioCb = bool (*)();
struct callbacks {
SetStatusCb set_status = nullptr;
CheckRunningCb check_running = nullptr;
GetAudioCb get_audio = nullptr;
SetMovesCb set_moves = nullptr;
CleartAudioCb clear_audio = nullptr;
};
struct settings {
@ -44,6 +46,7 @@ private:
void set_status(const std::string& msg) const;
void set_moves(const std::string& moves) const;
bool check_running() const;
bool clear_audio() const;
std::string transcribe(
const std::vector<float> & pcmf32,
float & logprob_min,