1 /*************************************************************************
2       FlacCodecPlugin.h  -  import/export of FLAC data
3                              -------------------
4     begin                : Tue Feb 28 2004
5     copyright            : (C) 2004 by Thomas Eschenbacher
6     email                : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17 
18 #ifndef FLAC_CODEC_PLUGIN_H
19 #define FLAC_CODEC_PLUGIN_H
20 
21 #include "config.h"
22 
23 #include "libkwave/CodecPlugin.h"
24 #include "libkwave/Compression.h"
25 
26 class QStringList;
27 
28 namespace Kwave
29 {
30 
31     class FlacCodecPlugin: public Kwave::CodecPlugin
32     {
33 	Q_OBJECT
34     public:
35 
36 	/**
37 	 * Constructor
38 	 * @param parent reference to our plugin manager
39 	 * @param args argument list [unused]
40 	 */
41 	FlacCodecPlugin(QObject *parent, const QVariantList &args);
42 
43 	/** Destructor */
44         virtual ~FlacCodecPlugin() Q_DECL_OVERRIDE;
45 
46 	/** Creates a new decoder */
47         virtual QList<Kwave::Decoder *> createDecoder() Q_DECL_OVERRIDE;
48 
49 	/** Creates a new encoder */
50         virtual QList<Kwave::Encoder *> createEncoder() Q_DECL_OVERRIDE;
51 
52     private:
53 	/** static codec container */
54 	static CodecPlugin::Codec m_codec;
55     };
56 }
57 
58 #define REGISTER_MIME_TYPES \
59     addMimeType("audio/x-flac", i18n("FLAC audio"), "*.flac");
60 
61 #define REGISTER_COMPRESSION_TYPES \
62     addCompression(Kwave::Compression::FLAC);
63 
64 #define DEFAULT_MIME_TYPE "audio/x-flac"
65 
66 #endif /* FLAC_CODEC_PLUGIN_H */
67 
68 //***************************************************************************
69 //***************************************************************************
70