1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
9 * Copyright (C) 2012 Dominik Riebeling
11 * All files in this archive are subject to the GNU General Public License.
12 * See the file COPYING in the source tree root for full license agreement.
14 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
15 * KIND, either express or implied.
17 ****************************************************************************/
23 #include "encoderbase.h"
24 #include "lame/lame.h"
26 class EncoderLame
: public EncoderBase
37 EncoderLame(QObject
*parent
= NULL
);
38 bool encode(QString input
,QString output
);
40 bool stop() {return true;}
44 void generateSettings();
49 const char*(*m_get_lame_short_version
)(void);
50 int (*m_lame_set_out_samplerate
)(lame_global_flags
*, int);
51 int (*m_lame_set_in_samplerate
)(lame_global_flags
*, int);
52 int (*m_lame_set_num_channels
)(lame_global_flags
*, int);
53 int (*m_lame_set_scale
)(lame_global_flags
*, float);
54 int (*m_lame_set_mode
)(lame_global_flags
*, MPEG_mode
);
55 int (*m_lame_set_VBR
)(lame_global_flags
*, vbr_mode
);
56 int (*m_lame_set_VBR_quality
)(lame_global_flags
*, float);
57 int (*m_lame_set_VBR_max_bitrate_kbps
)(lame_global_flags
*, int);
58 int (*m_lame_set_bWriteVbrTag
)(lame_global_flags
*, int);
59 lame_global_flags
*(*m_lame_init
)(void);
60 int (*m_lame_init_params
)(lame_global_flags
*);
61 int (*m_lame_encode_buffer
)(lame_global_flags
*, short int[], short
62 int[], int, unsigned char*, int);
63 int (*m_lame_encode_flush
)(lame_global_flags
*, unsigned char*, int);
64 int (*m_lame_close
)(lame_global_flags
*);
66 bool m_symbolsResolved
;
67 double m_encoderVolume
;
68 double m_encoderQuality
;