CuteLogger
Fast and simple logging solution for Qt based applications
alignaudiodialog.h
1/*
2 * Copyright (c) 2022 Meltytech, LLC
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef ALIGNAUDIODIALOG_H
19#define ALIGNAUDIODIALOG_H
20
21#include "models/alignclipsmodel.h"
22
23#include <QDialog>
24#include <QUuid>
25
26class QComboBox;
27class QDialogButtonBox;
28class QLabel;
29class QListWidget;
30class QLineEdit;
31class QPushButton;
32class QTreeView;
33
34class AlignTableDelegate;
35class MultitrackModel;
36class LongUiTask;
37
38class AlignAudioDialog : public QDialog
39{
40 Q_OBJECT
41public:
42 explicit AlignAudioDialog(QString title,
43 MultitrackModel *model,
44 const QVector<QUuid> &uuids,
45 QWidget *parent = 0);
46 virtual ~AlignAudioDialog();
47
48private slots:
49 void rebuildClipList();
50 void process();
51 void apply();
52 void processAndApply();
53 void updateReferenceProgress(int percent);
54 void updateClipProgress(int index, int percent);
55 void clipFinished(int index, int offset, double speed, double quality);
56
57private:
58 AlignTableDelegate *m_delegate;
59 MultitrackModel *m_model;
60 AlignClipsModel m_alignClipsModel;
61 QVector<QUuid> m_uuids;
62 QComboBox *m_trackCombo;
63 QComboBox *m_speedCombo;
64 QTreeView *m_table;
65 QDialogButtonBox *m_buttonBox;
66 QPushButton *m_applyButton;
67 QPushButton *m_processAndApplyButton;
68 LongUiTask *m_uiTask;
69};
70
71#endif // ALIGNAUDIODIALOG_H