lms-audio/src/audiowidget.h

44 lines
1.1 KiB
C++

#ifndef AUDIOWIDGET_H
#define AUDIOWIDGET_H
#include <QTimer>
#include <QBoxLayout>
#include "audiolayerwidget.h"
#include "settings.h"
#include "defines.h" // MAX_LAYERS
class AudioWidget : public QWidget
{
Q_OBJECT
public:
AudioWidget(QWidget *parent = nullptr);
void filterParamChanged(int layer, int channel, int value);
void levelChanged(int layer, float db);
void busNameChanged(uint bus, char *name);
private:
QHBoxLayout *m_layout;
layerData m_layerUpdate[MAX_LAYERS];
QTimer *m_refreshUi;
uint m_layers;
int m_filtersUpdate[MAX_LAYERS][FILTER_CHANNELS];
public slots:
void volChanged(int layer, float vol);
void panChanged(int layer, int pan);
void pitchChanged(int layer, int pitch);
void cursorChanged(int layer, float cursor);
void mediaLoaded(int layer, QString media, float duration);
void playbackChanged(int layer, Status status);
private slots:
void refreshUi();
signals:
void uiPlaybackChanged(int layer, Status s);
void uiSliderChanged(int layer, Slider s, int vol);
void uiLoadMedia(int layer, QString s);
};
#endif // AUDIOWIDGET_H