diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-01-06 19:19:32 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-01-06 19:19:32 +0000 |
commit | be0e197190c0d4af347c5532b8ab8229279d940e (patch) | |
tree | 39b9030d4e5df8c8b736af0492e7e69ac2a1d8e7 /rbutil/rbutilqt/base/encoderbase.cpp | |
parent | f860b571437fc514bfefa1444dbdbf09583f8f9b (diff) | |
download | rockbox-be0e197190c0d4af347c5532b8ab8229279d940e.tar.gz rockbox-be0e197190c0d4af347c5532b8ab8229279d940e.tar.bz2 rockbox-be0e197190c0d4af347c5532b8ab8229279d940e.zip |
Split up encoders sources.
Create a separate source / header file for each supported encoder and the base
class and rename classes for better readability. This should also make it
easier adding new encoders.
Remove a few trailing spaces while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31592 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/encoderbase.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/encoderbase.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/encoderbase.cpp b/rbutil/rbutilqt/base/encoderbase.cpp new file mode 100644 index 0000000000..e2668febd1 --- /dev/null +++ b/rbutil/rbutilqt/base/encoderbase.cpp @@ -0,0 +1,75 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2007 by Dominik Wenger + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "encoderbase.h" +#include "utils.h" +#include "rbsettings.h" +#include "encoderrbspeex.h" +#include "encoderexe.h" + +/********************************************************************* +* Encoder Base +**********************************************************************/ +QMap<QString,QString> EncoderBase::encoderList; + +EncoderBase::EncoderBase(QObject *parent): EncTtsSettingInterface(parent) +{ + +} + +// initialize list of encoders +void EncoderBase::initEncodernamesList() +{ + encoderList["rbspeex"] = "Rockbox Speex Encoder"; + encoderList["lame"] = "Lame Mp3 Encoder"; +} + + +// get nice name for a specific encoder +QString EncoderBase::getEncoderName(QString encoder) +{ + if(encoderList.isEmpty()) + initEncodernamesList(); + return encoderList.value(encoder); +} + + +// get a specific encoder object +EncoderBase* EncoderBase::getEncoder(QObject* parent,QString encoder) +{ + EncoderBase* enc; + if(encoder == "lame") + { + enc = new EncoderExe(encoder,parent); + return enc; + } + else // rbspeex is default + { + enc = new EncoderRbSpeex(parent); + return enc; + } +} + + +QStringList EncoderBase::getEncoderList() +{ + if(encoderList.isEmpty()) + initEncodernamesList(); + return encoderList.keys(); +} + |