Refactor PW and SB logic
This commit is contained in:
46
soundboard.hpp
Normal file
46
soundboard.hpp
Normal file
@@ -0,0 +1,46 @@
|
||||
#include <QApplication>
|
||||
#include <QCheckBox>
|
||||
#include <QComboBox>
|
||||
#include <QDirIterator>
|
||||
#include <QFileDialog>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QListWidget>
|
||||
#include <QPushButton>
|
||||
#include <QSlider>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
#include "pipewire.hpp"
|
||||
|
||||
class Soundboard : public QWidget
|
||||
{
|
||||
public:
|
||||
Soundboard(QWidget* parent = nullptr);
|
||||
~Soundboard();
|
||||
|
||||
private:
|
||||
QComboBox* m_combo_box = nullptr;
|
||||
QPushButton* m_refresh_button = nullptr;
|
||||
QPushButton* m_folder_button = nullptr;
|
||||
QLabel* m_label = nullptr;
|
||||
QSlider* m_volume_slider = nullptr;
|
||||
QListWidget* m_sound_list = nullptr;
|
||||
QPushButton* m_stop_button = nullptr;
|
||||
QCheckBox* m_monitor_toggle = nullptr;
|
||||
|
||||
Pipewire::Graph m_graph;
|
||||
Pipewire::Player m_player;
|
||||
std::optional<Pipewire::Sink> m_sink;
|
||||
|
||||
std::vector<Pipewire::Node> m_apps;
|
||||
QString m_audio_directory;
|
||||
|
||||
void on_app_selected(int index);
|
||||
void refresh_apps();
|
||||
void load_directory();
|
||||
void play_sound();
|
||||
void stop_sounds();
|
||||
void set_volume(int value);
|
||||
void toggle_monitor(Qt::CheckState state);
|
||||
};
|
||||
Reference in New Issue
Block a user