lms-audio/src/audiowidget.h

50 lines
1.1 KiB
C++

#ifndef AUDIOWIDGET_H
#define AUDIOWIDGET_H
#include <QObject>
#include <QWidget>
#include <QDialog>
#include "dmxwidget.h"
#include "audiolayerwidget.h"
#include "settings.h"
#include "miniaudioengine.h"
#include "defines.h"
class AudioWidget : public QWidget
{
friend class libreMediaServerAudio;
friend class AudioLayerWidget;
Q_OBJECT
public:
AudioWidget();
bool startEngine();
bool startEngine(int id);
void stopEngine();
protected:
void mediaLoaded(int layer, QString media );
void volChanged(int layer, qreal vol);
void panChanged(int layer, qreal pan);
void pitchChanged(int layer, qreal pitch);
void playbackChanged(int layer, Status status);
void entryPointChanged(int layer, int cursor);
private:
MiniAudioEngine m_mae;
QString m_currentMedia[MAX_LAYERS];
QHBoxLayout *m_layout;
QTimer *m_refreshUi;
public slots:
void uiSliderAction(int layer, Slider s, int value);
void uiChangePlaybackStatus(int layer, Status s);
private slots:
void refreshUi();
};
#endif // AUDIOWIDGET_H