#ifndef PLUGINGENERICGUI_H
#define PLUGINGENERICGUI_H

#include <QObject>
#include <QWidget>

#include <QPushButton>
#include <QCheckBox>
#include <QSlider>
#include <QLabel>
#include <QLayout>

#include "audioplugin.h"

class pluginGenericGUI : public QWidget
{
    Q_OBJECT
    QGridLayout *layout;
    QCheckBox *bypassChk;
    QVector<QSlider*> sliders;
    QVector<QLabel*> labels;
    QVector<controlsType> controls;
    void showControls();
    void makeConnections();
    float convertLevel(int level, float min, float max);
    int row = 0;
    int col = 0;


public:
    explicit pluginGenericGUI(QWidget *parent = nullptr);
    ~pluginGenericGUI();

signals:
    void setControl(controlsType control);
    void setBypass(bool inBypassMode);

public slots:
    void definePlugin();
    void addControl(controlsType control);
    void addControls(QVector<controlsType> controls);


};

#endif // PLUGINGENERICGUI_H
