File indexing completed on 2024-05-12 04:51:02

0001 /*
0002     SPDX-FileCopyrightText: 2009 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef _K3B_RAW_AUDIO_DATA_SOURCE_H_
0009 #define _K3B_RAW_AUDIO_DATA_SOURCE_H_
0010 
0011 #include "k3baudiodatasource.h"
0012 #include "k3b_export.h"
0013 
0014 namespace K3b {
0015     /**
0016      * Data source reading raw, unencoded audio CD data, ie. raw audio cd
0017      * blocks/sectors.
0018      *
0019      * This source is mostly useful for cue/bin images.
0020      */
0021     class LIBK3B_EXPORT RawAudioDataSource : public AudioDataSource
0022     {
0023     public:
0024         RawAudioDataSource();
0025         explicit RawAudioDataSource( const QString& path );
0026         RawAudioDataSource( const RawAudioDataSource& );
0027         ~RawAudioDataSource() override;
0028 
0029         QString path() const;
0030 
0031         Msf originalLength() const override;
0032 
0033         QString type() const override;
0034         QString sourceComment() const override;
0035 
0036         AudioDataSource* copy() const override;
0037         QIODevice* createReader( QObject* parent = 0 ) override;
0038 
0039     private:
0040         class Private;
0041         Private* const d;
0042     };
0043 }
0044 
0045 #endif