0ae49c2719
Instead of having a global quality setting for the encoder make the encoder provide its default value by itself. Fixes the libmp3lame encoder using an unsuitable value since the range differs greatly between the encoders. Centralize reading the configuration values for rbspeex. The values are stored in member variables, so it's not necessary to read them multiple times. Change-Id: Ia26cb1fc3bb4f927d13212fe7883bdfe2571a711
61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
/***************************************************************************
|
|
* __________ __ ___.
|
|
* 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.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef ENCODERRBSPEEX_H
|
|
#define ENCODERRBSPEEX_H
|
|
|
|
#include <QtCore>
|
|
#include "encoderbase.h"
|
|
|
|
class EncoderRbSpeex : public EncoderBase
|
|
{
|
|
enum ESettings
|
|
{
|
|
eVOLUME,
|
|
eQUALITY,
|
|
eCOMPLEXITY,
|
|
eNARROWBAND
|
|
};
|
|
|
|
Q_OBJECT
|
|
public:
|
|
EncoderRbSpeex(QObject *parent = NULL);
|
|
bool encode(QString input,QString output);
|
|
bool start();
|
|
bool stop() {return true;}
|
|
|
|
// for settings view
|
|
bool configOk();
|
|
void generateSettings();
|
|
void saveSettings();
|
|
|
|
private:
|
|
void loadSettings(void);
|
|
float quality;
|
|
float volume;
|
|
int complexity;
|
|
bool narrowband;
|
|
|
|
float defaultQuality;
|
|
float defaultVolume;
|
|
int defaultComplexity;
|
|
bool defaultBand;
|
|
};
|
|
|
|
#endif
|
|
|