summaryrefslogtreecommitdiff
path: root/src/audio/backend/silent_backend.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/backend/silent_backend.cc')
-rw-r--r--src/audio/backend/silent_backend.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/audio/backend/silent_backend.cc b/src/audio/backend/silent_backend.cc
new file mode 100644
index 0000000..637dd68
--- /dev/null
+++ b/src/audio/backend/silent_backend.cc
@@ -0,0 +1,50 @@
+// This file is part of the 64k demo project.
+// Implementation of silent backend for testing audio.cc.
+
+#include "silent_backend.h"
+
+#if !defined(STRIP_ALL)
+
+SilentBackend::SilentBackend()
+ : initialized_(false), started_(false), frames_rendered_(0),
+ voice_trigger_count_(0), test_peak_(0.0f) {
+}
+
+SilentBackend::~SilentBackend() {
+ shutdown();
+}
+
+void SilentBackend::init() {
+ initialized_ = true;
+}
+
+void SilentBackend::start() {
+ started_ = true;
+}
+
+void SilentBackend::shutdown() {
+ initialized_ = false;
+ started_ = false;
+}
+
+float SilentBackend::get_realtime_peak() {
+ // Return controllable test peak
+ return test_peak_;
+}
+
+void SilentBackend::on_voice_triggered(float timestamp, int spectrogram_id,
+ float volume, float pan) {
+ // Track voice triggers for testing
+ (void)timestamp;
+ (void)spectrogram_id;
+ (void)volume;
+ (void)pan;
+ voice_trigger_count_.fetch_add(1);
+}
+
+void SilentBackend::on_frames_rendered(int num_frames) {
+ // Track total frames rendered for testing
+ frames_rendered_.fetch_add(num_frames);
+}
+
+#endif /* !defined(STRIP_ALL) */