diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-15 21:04:28 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-24 18:05:53 +0100 |
commit | c876d3bbefe0dc00c27ca0c12d29da5874946962 (patch) | |
tree | 69f468a185a369b01998314bc3ecc19b70f4fcaa /utils/rbutilqt/base/encoderbase.cpp | |
parent | 6c6f0757d7a902feb293be165d1490c42bc8e7ad (diff) | |
download | rockbox-c876d3bbefe0dc00c27ca0c12d29da5874946962.tar.gz rockbox-c876d3bbefe0dc00c27ca0c12d29da5874946962.zip |
rbutil: Merge rbutil with utils folder.
rbutil uses several components from the utils folder, and can be
considered part of utils too. Having it in a separate folder is an
arbitrary split that doesn't help anymore these days, so merge them.
This also allows other utils to easily use libtools.make without the
need to navigate to a different folder.
Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21
Diffstat (limited to 'utils/rbutilqt/base/encoderbase.cpp')
-rw-r--r-- | utils/rbutilqt/base/encoderbase.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/utils/rbutilqt/base/encoderbase.cpp b/utils/rbutilqt/base/encoderbase.cpp new file mode 100644 index 0000000000..fe45eee49b --- /dev/null +++ b/utils/rbutilqt/base/encoderbase.cpp | |||
@@ -0,0 +1,86 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * | ||
9 | * Copyright (C) 2007 by Dominik Wenger | ||
10 | * | ||
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. | ||
13 | * | ||
14 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
15 | * KIND, either express or implied. | ||
16 | * | ||
17 | ****************************************************************************/ | ||
18 | |||
19 | #include "encoderbase.h" | ||
20 | #include "utils.h" | ||
21 | #include "rbsettings.h" | ||
22 | #include "encoderrbspeex.h" | ||
23 | #include "encoderlame.h" | ||
24 | #include "encoderexe.h" | ||
25 | |||
26 | #include "Logger.h" | ||
27 | |||
28 | /********************************************************************* | ||
29 | * Encoder Base | ||
30 | **********************************************************************/ | ||
31 | QMap<QString,QString> EncoderBase::encoderList; | ||
32 | |||
33 | EncoderBase::EncoderBase(QObject *parent): EncTtsSettingInterface(parent) | ||
34 | { | ||
35 | |||
36 | } | ||
37 | |||
38 | // initialize list of encoders | ||
39 | void EncoderBase::initEncodernamesList() | ||
40 | { | ||
41 | encoderList["rbspeex"] = "Rockbox Speex Encoder"; | ||
42 | encoderList["lame"] = "Lame Mp3 Encoder"; | ||
43 | } | ||
44 | |||
45 | |||
46 | // get nice name for a specific encoder | ||
47 | QString EncoderBase::getEncoderName(QString encoder) | ||
48 | { | ||
49 | if(encoderList.isEmpty()) | ||
50 | initEncodernamesList(); | ||
51 | return encoderList.value(encoder); | ||
52 | } | ||
53 | |||
54 | |||
55 | // get a specific encoder object | ||
56 | EncoderBase* EncoderBase::getEncoder(QObject* parent,QString encoder) | ||
57 | { | ||
58 | EncoderBase* enc; | ||
59 | if(encoder == "lame") | ||
60 | { | ||
61 | enc = new EncoderLame(parent); | ||
62 | if (!enc->configOk()) | ||
63 | { | ||
64 | LOG_WARNING() << "Could not load lame dll, falling back to command " | ||
65 | "line lame. This is notably slower."; | ||
66 | delete enc; | ||
67 | enc = new EncoderExe(encoder, parent); | ||
68 | |||
69 | } | ||
70 | return enc; | ||
71 | } | ||
72 | else // rbspeex is default | ||
73 | { | ||
74 | enc = new EncoderRbSpeex(parent); | ||
75 | return enc; | ||
76 | } | ||
77 | } | ||
78 | |||
79 | |||
80 | QStringList EncoderBase::getEncoderList() | ||
81 | { | ||
82 | if(encoderList.isEmpty()) | ||
83 | initEncodernamesList(); | ||
84 | return encoderList.keys(); | ||
85 | } | ||
86 | |||