File indexing completed on 2024-05-12 04:51:02
0001 /* 0002 SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 0007 #ifndef _K3B_AUDIO_NORMALIZE_JOB_H_ 0008 #define _K3B_AUDIO_NORMALIZE_JOB_H_ 0009 0010 0011 #include "k3bjob.h" 0012 0013 #include <QList> 0014 #include <QProcess> 0015 0016 namespace K3b { 0017 class Process; 0018 0019 class AudioNormalizeJob : public Job 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit AudioNormalizeJob( JobHandler*, QObject* parent = 0 ); 0025 ~AudioNormalizeJob() override; 0026 0027 public Q_SLOTS: 0028 void start() override; 0029 void cancel() override; 0030 0031 void setFilesToNormalize( const QList<QString>& files ) { m_files = files; } 0032 0033 private Q_SLOTS: 0034 void slotStdLine( const QString& line ); 0035 void slotProcessExited( int exitCode, QProcess::ExitStatus exitStatus ); 0036 0037 private: 0038 Process* m_process; 0039 0040 QList<QString> m_files; 0041 bool m_canceled; 0042 0043 enum Action { 0044 COMPUTING_LEVELS, 0045 ADJUSTING_LEVELS 0046 }; 0047 0048 int m_currentAction; 0049 int m_currentTrack; 0050 }; 0051 } 0052 0053 0054 #endif