1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 01:35:07 +00:00
serenity/Applications/SoundPlayer/SampleWidget.h
Andreas Kling 1188a036e9 SoundPlayer: Start working on a GUI sound player application
This can play anything that AWavLoader can load (so obviously only WAV
files at the moment.)

It works by having a timer that wakes up every 100ms and tries to send
a sample buffer to the AudioServer. If our server-side queue is full
then we wait until the next timer iteration and try again.

We display the most recently enqueued sample buffer in a nice little
widget that just plots the samples in green-on-black. :^)
2019-09-04 20:18:41 +02:00

19 lines
347 B
C++

#pragma once
#include <LibGUI/GFrame.h>
class ABuffer;
class SampleWidget final : public GFrame {
C_OBJECT(SampleWidget)
public:
explicit SampleWidget(GWidget* parent);
virtual ~SampleWidget() override;
void set_buffer(ABuffer*);
private:
virtual void paint_event(GPaintEvent&) override;
RefPtr<ABuffer> m_buffer;
};