File indexing completed on 2024-06-16 07:42:02

0001 /*
0002     SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef _K3B_AUDIO_FILE_ANALYZER_JOB_H_
0007 #define _K3B_AUDIO_FILE_ANALYZER_JOB_H_
0008 
0009 #include "k3bthreadjob.h"
0010 #include "k3b_export.h"
0011 
0012 namespace K3b {
0013     class AudioDecoder;
0014 
0015     /**
0016      * A simple convenience   class that runs AudioDecoder::analyseFile
0017      * in a different thread.
0018      */
0019     class LIBK3B_EXPORT AudioFileAnalyzerJob : public ThreadJob
0020     {
0021         Q_OBJECT
0022 
0023     public:
0024         AudioFileAnalyzerJob( JobHandler* hdl, QObject* parent );
0025         ~AudioFileAnalyzerJob() override;
0026 
0027         /**
0028          * Set the decoder that does the analyzation.
0029          */
0030         void setDecoder( AudioDecoder* decoder );
0031         AudioDecoder* decoder() const;
0032 
0033     private:
0034         bool run() override;
0035 
0036         class Private;
0037         Private* const d;
0038     };
0039 }
0040 
0041 #endif