prism-tui PoC

This commit is contained in:
Boof2015
2026-08-14 13:37:16 -04:00
parent 1a0185306a
commit 7047df3e38
41 changed files with 1995 additions and 635 deletions
+37
View File
@@ -0,0 +1,37 @@
#pragma once
#include "lufsmeter.h"
#include "spectrum.h"
#include "system_audio_capture.h"
#include "vumeter.h"
#include <vector>
namespace Prism::Tui {
struct AnalysisFrame {
std::vector<float> magnitudes;
Visualizer::VUMeterSnapshot vu{};
Visualizer::LUFSMeterSnapshot lufs{};
};
class AnalysisPipeline {
public:
explicit AnalysisPipeline(float sampleRate, size_t fftSize = 2048);
void process(const Prism::Capture::AudioChunk& chunk);
AnalysisFrame snapshot();
void reset();
private:
Visualizer::Spectrum spectrum_;
Visualizer::VUMeterAnalyzer vu_;
Visualizer::LUFSMeterAnalyzer lufs_;
};
size_t drainCapture(Prism::Capture::SystemAudioCapture& capture,
AnalysisPipeline& pipeline,
bool& captureOverrun,
size_t maxChunks = 64);
} // namespace Prism::Tui