Bump version numbers for 3.13
[maemo-rb.git] / rbutil / rbutilqt / base / encoderexe.cpp
blobf0f39daad7533ad8b99175ae57b83390cd266da9
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * Copyright (C) 2007 by Dominik Wenger
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 ****************************************************************************/
19 #include <QtCore>
20 #include "encoderexe.h"
21 #include "rbsettings.h"
22 #include "utils.h"
24 EncoderExe::EncoderExe(QString name,QObject *parent) : EncoderBase(parent)
26 m_name = name;
28 m_TemplateMap["lame"] = "\"%exe\" %options \"%input\" \"%output\"";
34 void EncoderExe::generateSettings()
36 QString exepath =RbSettings::subValue(m_name,RbSettings::EncoderPath).toString();
37 if(exepath == "") exepath = Utils::findExecutable(m_name);
39 insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,
40 tr("Path to Encoder:"),exepath,EncTtsSetting::eBROWSEBTN));
41 insertSetting(eEXEOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,
42 tr("Encoder options:"),RbSettings::subValue(m_name,RbSettings::EncoderOptions)));
45 void EncoderExe::saveSettings()
47 RbSettings::setSubValue(m_name,RbSettings::EncoderPath,getSetting(eEXEPATH)->current().toString());
48 RbSettings::setSubValue(m_name,RbSettings::EncoderOptions,getSetting(eEXEOPTIONS)->current().toString());
49 RbSettings::sync();
52 bool EncoderExe::start()
54 m_EncExec = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
55 m_EncOpts = RbSettings::subValue(m_name, RbSettings::EncoderOptions).toString();
57 m_EncTemplate = m_TemplateMap.value(m_name);
59 QFileInfo enc(m_EncExec);
60 if(enc.exists())
62 return true;
64 else
66 return false;
70 bool EncoderExe::encode(QString input,QString output)
72 //qDebug() << "encoding..";
73 QString execstring = m_EncTemplate;
75 execstring.replace("%exe",m_EncExec);
76 execstring.replace("%options",m_EncOpts);
77 execstring.replace("%input",input);
78 execstring.replace("%output",output);
79 qDebug() << "[EncoderExe] cmd: " << execstring;
80 int result = QProcess::execute(execstring);
81 return (result == 0) ? true : false;
85 bool EncoderExe::configOk()
87 QString path = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
89 if (QFileInfo(path).exists())
90 return true;
92 return false;