File indexing completed on 2024-04-14 04:43:19

0001 /* AUDEX CDDA EXTRACTOR
0002  * SPDX-FileCopyrightText: Copyright (C) 2007 Marco Nelles
0003  * <https://userbase.kde.org/Audex>
0004  *
0005  * SPDX-License-Identifier: GPL-3.0-or-later
0006  */
0007 
0008 #ifndef LAMEWIDGET_H
0009 #define LAMEWIDGET_H
0010 
0011 #include <QList>
0012 #include <QWidget>
0013 
0014 #include "utils/encoderassistant.h"
0015 #include "utils/error.h"
0016 #include "utils/parameters.h"
0017 
0018 #include "ui_lamewidgetUI.h"
0019 
0020 class lameWidgetUI : public QWidget, public Ui::LAMEWidgetUI
0021 {
0022 public:
0023     explicit lameWidgetUI(QWidget *parent)
0024         : QWidget(parent)
0025     {
0026         setupUi(this);
0027     }
0028 };
0029 
0030 class lameWidget : public lameWidgetUI
0031 {
0032     Q_OBJECT
0033 public:
0034     explicit lameWidget(Parameters *parameters, QWidget *parent = nullptr);
0035     ~lameWidget() override;
0036     inline Error lastError() const
0037     {
0038         return error;
0039     }
0040     inline bool isChanged() const
0041     {
0042         return changed;
0043     }
0044 Q_SIGNALS:
0045     void triggerChanged();
0046 public Q_SLOTS:
0047     bool save();
0048 private Q_SLOTS:
0049     void enable_medium(bool enable);
0050     void enable_standard(bool enable);
0051     void enable_extreme(bool enable);
0052     void enable_insane(bool enable);
0053     void enable_custom(bool enable);
0054     void enable_CBR(bool enable);
0055     void bitrate_changed_by_slider(int bitrate);
0056     void bitrate_changed_by_spinbox(int bitrate);
0057     void trigger_changed();
0058 
0059 private:
0060     Parameters *parameters;
0061     Error error;
0062     bool changed;
0063     bool p_cbr_flag;
0064     QList<int> bitrates;
0065     int real_bitrate;
0066     int preset;
0067 };
0068 
0069 #endif