Warning, file /multimedia/audiocd-kio/plugins/vorbis/encodervorbis.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 Copyright (C) 2000 Rik Hemsley (rikkus) <rik@kde.org> 0003 Copyright (C) 2000, 2001, 2002 Michael Matz <matz@kde.org> 0004 Copyright (C) 2001 Carsten Duvenhorst <duvenhorst@m2.uni-hannover.de> 0005 Copyright (C) 2001 Adrian Schroeter <adrian@suse.de> 0006 Copyright (C) 2003 Richard Lärkäng <richard@goteborg.utfors.se> 0007 Copyright (C) 2003 Scott Wheeler <wheeler@kde.org> 0008 Copyright (C) 2004, 2005 Benjamin Meyer <ben at meyerhome dot net> 0009 0010 This program is free software; you can redistribute it and/or modify 0011 it under the terms of the GNU General Public License as published by 0012 the Free Software Foundation; either version 2 of the License, or 0013 (at your option) any later version. 0014 0015 This program is distributed in the hope that it will be useful, 0016 but WITHOUT ANY WARRANTY; without even the implied warranty of 0017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0018 GNU General Public License for more details. 0019 0020 You should have received a copy of the GNU General Public License 0021 along with this program; if not, write to the Free Software 0022 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 0023 USA. 0024 */ 0025 0026 #ifndef ENCODER_VORBIS_H 0027 #define ENCODER_VORBIS_H 0028 0029 #include "ui_encodervorbisconfig.h" 0030 0031 #include "audiocdencoder.h" 0032 0033 class EncoderVorbisConfig : public QWidget, public Ui::EncoderVorbisConfig 0034 { 0035 public: 0036 EncoderVorbisConfig(QWidget *parent = nullptr) 0037 : QWidget(parent) 0038 { 0039 setupUi(this); 0040 } 0041 }; 0042 0043 /** 0044 * Ogg Vorbis encoder. 0045 * Check out https://xiph.org/vorbis/ for more information. 0046 */ 0047 class EncoderVorbis : public AudioCDEncoder { 0048 0049 public: 0050 explicit EncoderVorbis(KIO::WorkerBase *worker); 0051 ~EncoderVorbis() override; 0052 0053 QString type() const override 0054 { 0055 return QLatin1String("Ogg Vorbis"); 0056 } 0057 bool init() override; 0058 void loadSettings() override; 0059 unsigned long size(long time_secs) const override; 0060 const char *fileType() const override 0061 { 0062 return "ogg"; 0063 } 0064 const char *mimeType() const override; 0065 void fillSongInfo(KCDDB::CDInfo info, int track, const QString &comment) override; 0066 long readInit(long size) override; 0067 long read(qint16 *buf, int frames) override; 0068 long readCleanup() override; 0069 QWidget *getConfigureWidget(KConfigSkeleton **manager) const override; 0070 0071 private: 0072 long flush_vorbis(); 0073 0074 class Private; 0075 Private *d; 0076 }; 0077 0078 #endif // ENCODER_VORBIS_H